{"id":4420,"date":"2021-04-16T05:15:42","date_gmt":"2021-04-15T17:15:42","guid":{"rendered":"http:\/\/www.zoyinc.com\/?p=4420"},"modified":"2024-01-04T18:56:26","modified_gmt":"2024-01-04T05:56:26","slug":"okd-4-5-small-cluster-on-esx","status":"publish","type":"post","link":"http:\/\/www.zoyinc.com\/?p=4420","title":{"rendered":"OKD 4.5 small cluster on ESX"},"content":{"rendered":"\n<p>I needed to create a small OKD\/OpenShift setup so I could play around with it and get comfortable with using it, developing on it and administering it. Additionally I wanted it to be somewhat similar in setup to what we do at work. <\/p>\n\n\n\n<p>This was originally based on the excellent post by Craig Robinson, but there has been a very significant amount of research and extra sources of info, investigation and research since.<\/p>\n\n\n\n<p>OKD 4.5 Single Node Cluster on Windows 10 using Hyper-V<br><a  href=\"https:\/\/laptrinhx.com\/okd-4-5-single-node-cluster-on-windows-10-using-hyper-v-3721419958\/\">https:\/\/laptrinhx.com\/okd-4-5-single-node-cluster-on-windows-10-using-hyper-v-3721419958\/<\/a><\/p>\n\n\n\n<p>Note that is this the single node cluster setup rather than the popular multi-node cluster guide <a  href=\"https:\/\/itnext.io\/guide-installing-an-okd-4-5-cluster-508a2631cbee\">https:\/\/itnext.io\/guide-installing-an-okd-4-5-cluster-508a2631cbee<\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Overview<\/h1>\n\n\n\n<p>This guide is really documentation on what I did to setup my small lab environment. A big part of the point of it is for me to be able to document what I did so if I have to repeat stuff, as often seems to be the case for me, then I can do so. As such this is not a dummies guide. <\/p>\n\n\n\n<p>This document does not describe how to use OKD, nor how to create projects or do builds. It is purely about getting a working environment<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">My environment<\/h2>\n\n\n\n<p>I am doing the full install on an HP Compaq Elite 8300 SFF:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ESXi 7.0.0<\/li>\n\n\n\n<li>Core i5-3470 CPU @ 3.20GHz &#8211; 4 cores no hyper threading support<\/li>\n\n\n\n<li>16GB memory<\/li>\n\n\n\n<li>Boot ESX from USB flash drive<\/li>\n\n\n\n<li>500 GB Samsung SSD 860 (Also a 4TB Seagate non-SSD for backups)<\/li>\n<\/ul>\n\n\n\n<p>I am using a Windows 10 desktop with my Firefox as my primary browser. <\/p>\n\n\n\n<p>Additionally I operate a SonicWall TZ 215 which takes the VLAN and makes it a sub-interface to the LAN. <\/p>\n\n\n\n<p>I am looking to have a separate ESX box to run an extra worker node, partly to add extra capacity but also partly to understand how it will work with mulitple worker nodes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing on ESXi<\/h2>\n\n\n\n<p>Craig&#8217;s guide is for installing on Hyper-V on Windows but I needed to install on ESX because it brought multiple advantages. <\/p>\n\n\n\n<p>I have setup my local environment using it&#8217;s own VLAN, 20, which I have called &#8220;OKD VLAN20&#8221;. This is configured on the ESX hosts and also on my Sonicwall firewall. This VLAN uses the range 192.168.205.x and is a &#8220;VLAN Sub-Interface&#8221; to my home lan of 192.168.202.x.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">OKD hosts<\/h2>\n\n\n\n<p>All my hosts are on the VLAN &#8220;OKD VLAN20&#8221; <\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Host<\/td><td>HDD<\/td><td>vCPU<\/td><td>RAM<\/td><td>IP<\/td><\/tr><tr><td>okd4-services<\/td><td>200GB<\/td><td>2<\/td><td>8GB<\/td><td>192.168.205.150<\/td><\/tr><tr><td>okd4-control-plane-1<\/td><td>120GB<\/td><td>4<\/td><td>16GB<\/td><td>192.168.205.151<\/td><\/tr><tr><td>okd4-bootstrap<\/td><td>25GB<\/td><td>4<\/td><td>16GB<\/td><td>192.168.205.152<\/td><\/tr><tr><td>okd4-compute-1<\/td><td>120 GB<\/td><td>4<\/td><td>16GB<\/td><td>192.168.205.153<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"852\" height=\"247\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab29.jpg\" alt=\"\" class=\"wp-image-4480\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab29.jpg 852w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab29-300x87.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab29-150x43.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab29-768x223.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab29-500x145.jpg 500w\" sizes=\"auto, (max-width: 852px) 100vw, 852px\" \/><figcaption class=\"wp-element-caption\">OKD 4 &#8211; https:\/\/docs.okd.io <\/figcaption><\/figure>\n\n\n\n<p>You will have noticed that the vCPU and RAM far exceed that on my ESX server. ESX allows you to over subscribe memory and vcpu and by configuring the specified memory and vcpu it means OKD sees the specified resources. Also the resources are not consumed at once so the reality is it works!<\/p>\n\n\n\n<p>The services host, &#8220;okd4-services&#8221;, has a large disk, currently 200GB, this is primarily because we put our persistent volumes on this host. It just makes things a lot easier in a dev environment, it means for example we can just backup the VMs and you have <strong>everything<\/strong>!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Your skills<\/h2>\n\n\n\n<p>This guide is really documentation on what I did to setup this small lab environment. A big part of the point of it is for me to be able to document what I did so if I have to repeat stuff, as often seems to be the case for me, then I can do so.<\/p>\n\n\n\n<p>As such this is not a dummies guide. I assume you know your way around ESX and it&#8217;s web console and equally know your way around unix.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Config files<\/h2>\n\n\n\n<p>Craig has kindly provided customized config file for a number of things and these can be found at <a  href=\"https:\/\/github.com\/cragr\/okd4-snc-hyperv\">https:\/\/github.com\/cragr\/okd4-snc-hyperv<\/a> I have taken these as my starting place and tweaked for my environment:<\/p>\n\n\n\n<div class=\"wp-block-file\"><a  id=\"wp-block-file--media-e0c6b4c6-6c7b-4cd8-8ff2-3051531eeec7\" href=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/03\/okd4_configs_zoyinc_V11.zip\">okd4_configs_zoyinc_V11<\/a><\/div>\n\n\n\n<p>Note: If you do edit this file ensure it has Unix EOL characters, which is just LF. Depending on how you copy the files around you sFTP client may do smarts for you and change the EOL characters &#8211; for me I always disable this and transfer all files as binary<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Local DHCP and DNS<\/h2>\n\n\n\n<p>For this setup we have a host &#8220;okd4-services&#8221; this contains a number of infrastructure components:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DNS<\/li>\n\n\n\n<li>HAProxy &#8211; Load balancer\/proxy<\/li>\n\n\n\n<li>Apache &#8211; Web interface<\/li>\n\n\n\n<li>DHCP<\/li>\n\n\n\n<li>NFS<\/li>\n<\/ul>\n\n\n\n<p>This means that each of the VMs in this setup is configured by DHCP and is based on the MAC for that VM<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Use Fedora 32<\/h2>\n\n\n\n<p>Craig&#8217;s guide uses Fedora 32 and at the time of writing Fedora 33 was out so I tried to use this. It didn&#8217;t work out too well so I am using Fedora 32. One of the important things that changed in Fedora 33 was DNS so rather than try to figure it out I went for v32<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">OKD 4.5 rather than 4.6<\/h2>\n\n\n\n<p>I was keen to setup 4.6 but it seems to be very problematic. As mentioned above Fedora 33 has issues and it appears 4.6 has a few install challenges &#8211; note that OKD 4.6 uses Fedora CoreOS 33 bare-metal bios images. Additionally there are virtually no OKD 4.6 install guides, some for OpenShift. My motivation for this setup is to get familiar with OKD so I have taken the pragmatic decision to do the clean install with 4.5.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Connection Details<\/h1>\n\n\n\n<p>oc server: https:\/\/api.lab.okd.local:6443<br>This is for running oc commands for example:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"oc login https:\/\/api.lab.okd.local:6443\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">oc <\/span><span style=\"color: #A31515\">login<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">https:\/\/api.lab.okd.local:<\/span><span style=\"color: #098658\">6443<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>OKD Web Console: <a  href=\"https:\/\/console-openshift-console.apps.lab.okd.local\/\">https:\/\/console-openshift-console.apps.lab.okd.local\/<\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Services host<\/h1>\n\n\n\n<p>This host must be created first as it setups DNS and more importantly DHCP which the other servers rely on.<\/p>\n\n\n\n<p>For partitioning note that in our case the services host will also contain the registry which we have defined as 80GB, this is part of the reason for giving the services host a 120GB drive. Additionally please ensure the partitions on the services host have the root partition, &#8220;\/&#8221;, last &#8211; this will make it a straightforward exercise to expand, online, if required.<\/p>\n\n\n\n<p>Create a VM with the specs from the table at the top of this post and set the network adapter to use &#8220;OKD VLAN20&#8221;. <\/p>\n\n\n\n<p>I am using the &#8220;Fedora-Server-dvd-x86_64-32-1.6&#8221; ISO rather than the Netinstall iso. So in my case it was &#8220;Fedora-Server-dvd-x86_64-32-1.6.iso&#8221;<\/p>\n\n\n\n<p>Below are my configs<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"574\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab10.jpg\" alt=\"\" class=\"wp-image-4445\" style=\"width:399px;height:287px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab10.jpg 798w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab10-300x216.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab10-150x108.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab10-768x552.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab10-417x300.jpg 417w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"579\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab07.jpg\" alt=\"\" class=\"wp-image-4435\" style=\"width:399px;height:290px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab07.jpg 798w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab07-300x218.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab07-150x109.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab07-768x557.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab07-413x300.jpg 413w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/figure>\n\n\n\n<p>Its a good idea to set the actual, final, IP and search domains as above.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"216\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab06.jpg\" alt=\"\" class=\"wp-image-4436\" style=\"width:399px;height:108px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab06.jpg 798w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab06-300x81.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab06-150x41.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab06-768x208.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab06-500x135.jpg 500w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"795\" height=\"377\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab11.jpg\" alt=\"\" class=\"wp-image-4446\" style=\"width:398px;height:189px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab11.jpg 795w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab11-300x142.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab11-150x71.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab11-768x364.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab11-500x237.jpg 500w\" sizes=\"auto, (max-width: 795px) 100vw, 795px\" \/><\/figure>\n\n\n\n<p>Regards partitioning I prefer standard partition scheme, LVM is great, but for me for test labs it&#8217;s too much overhead. I have given it a 200GB drive and partitioned as below, note this is an old screenshot and shows a 30GB partition rather than the 200GB I use now:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"799\" height=\"551\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab09.jpg\" alt=\"\" class=\"wp-image-4438\" style=\"width:400px;height:276px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab09.jpg 799w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab09-300x207.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab09-150x103.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab09-768x530.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab09-435x300.jpg 435w\" sizes=\"auto, (max-width: 799px) 100vw, 799px\" \/><\/figure>\n\n\n\n<p>As mentioned earlier, ensure the root partition &#8220;\/&#8221; is the last partition<\/p>\n\n\n\n<p>If you have issues with partitioning you can see what I did for <a  href=\"https:\/\/www.zoyinc.com\/?p=3726\" data-type=\"post\" data-id=\"3726\">CentOS 7 base VM for WordPress and MythTV<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"429\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab12.jpg\" alt=\"\" class=\"wp-image-4447\" style=\"width:399px;height:215px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab12.jpg 798w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab12-300x161.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab12-150x81.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab12-768x413.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab12-500x269.jpg 500w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"271\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab04.jpg\" alt=\"\" class=\"wp-image-4433\" style=\"width:399px;height:136px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab04.jpg 798w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab04-300x102.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab04-150x51.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab04-768x261.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab04-500x170.jpg 500w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/figure>\n\n\n\n<p>Once the server, okd4-services, is rebooted and working ssh to it as root.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Update firewall<\/h2>\n\n\n\n<p>There are various places in this post where we update the firewall. I have consolidated these all into one. So run the following:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"firewall-cmd --permanent --zone=public --add-service mountd\nfirewall-cmd --permanent --zone=public --add-service rpc-bind\nfirewall-cmd --permanent --zone=public --add-service nfs\nfirewall-cmd --permanent --add-service=dhcp \nfirewall-cmd --permanent --add-port=53\/udp\nfirewall-cmd --permanent --add-port=53\/tcp\nfirewall-cmd --permanent --add-port=6443\/tcp\nfirewall-cmd --permanent --add-port=22623\/tcp\nfirewall-cmd --permanent --add-service=http\nfirewall-cmd --permanent --add-service=https\nfirewall-cmd --permanent --add-port=8080\/tcp\nfirewall-cmd --reload\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">firewall-cmd <\/span><span style=\"color: #0000FF\">--permanent<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--zone=public<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--add-service<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">mountd<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">firewall-cmd <\/span><span style=\"color: #0000FF\">--permanent<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--zone=public<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--add-service<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">rpc-bind<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">firewall-cmd <\/span><span style=\"color: #0000FF\">--permanent<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--zone=public<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--add-service<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">nfs<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">firewall-cmd <\/span><span style=\"color: #0000FF\">--permanent<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--add-service=dhcp<\/span><span style=\"color: #000000\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">firewall-cmd <\/span><span style=\"color: #0000FF\">--permanent<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--add-port=53\/udp<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">firewall-cmd <\/span><span style=\"color: #0000FF\">--permanent<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--add-port=53\/tcp<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">firewall-cmd <\/span><span style=\"color: #0000FF\">--permanent<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--add-port=6443\/tcp<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">firewall-cmd <\/span><span style=\"color: #0000FF\">--permanent<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--add-port=22623\/tcp<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">firewall-cmd <\/span><span style=\"color: #0000FF\">--permanent<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--add-service=http<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">firewall-cmd <\/span><span style=\"color: #0000FF\">--permanent<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--add-service=https<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">firewall-cmd <\/span><span style=\"color: #0000FF\">--permanent<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--add-port=8080\/tcp<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">firewall-cmd <\/span><span style=\"color: #0000FF\">--reload<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Install DHCP and DNS (bind\/named)<\/h2>\n\n\n\n<p>Take the config zip file mentioned earlier and put the contents of it in &#8220;\/opt\/okd4\/configs\/&#8221; on okd4-services. Then run the following to enable DHCP and use the defaults from the config file<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"cd \/opt\/okd4\/configs\/\ndnf -y install dhcp-server\nmv \/etc\/dhcp\/dhcpd.conf \/etc\/dhcp\/dhcpd.conf.ootb\ncp dhcpd.conf \/etc\/dhcp\/\nsystemctl enable --now dhcpd\nsystemctl start dhcpd\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #795E26\">cd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/opt\/okd4\/configs\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">dnf <\/span><span style=\"color: #0000FF\">-y<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">install<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">dhcp-server<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">mv <\/span><span style=\"color: #A31515\">\/etc\/dhcp\/dhcpd.conf<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/etc\/dhcp\/dhcpd.conf.ootb<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">cp <\/span><span style=\"color: #A31515\">dhcpd.conf<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/etc\/dhcp\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">enable<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--now<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">dhcpd<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">start<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">dhcpd<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Now you need to install bind and do the named config. So run the following:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"dnf -y install bind bind-utils\nmv \/etc\/named.conf \/etc\/named.ootb\ncp named.conf \/etc\/named.conf\ncp named.conf.local \/etc\/named\/\nmkdir \/etc\/named\/zones\ncp db* \/etc\/named\/zones\nsystemctl enable named\nsystemctl start named\nsystemctl status named\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">dnf <\/span><span style=\"color: #0000FF\">-y<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">install<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">bind<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">bind-utils<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">mv <\/span><span style=\"color: #A31515\">\/etc\/named.conf<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/etc\/named.ootb<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">cp <\/span><span style=\"color: #A31515\">named.conf<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/etc\/named.conf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">cp <\/span><span style=\"color: #A31515\">named.conf.local<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/etc\/named\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">mkdir <\/span><span style=\"color: #A31515\">\/etc\/named\/zones<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">cp <\/span><span style=\"color: #A31515\">db<\/span><span style=\"color: #0000FF\">*<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/etc\/named\/zones<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">enable<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">named<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">start<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">named<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">status<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">named<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>First you need to confirm the connection or interface name, so run &#8220;ifconfig&#8221; which should return something like:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"[root@localhost okd4_configs]# ifconfig\n ens192: flags=4163  mtu 1500\n         inet 192.168.205.150  netmask 255.255.255.0  broadcast 192.168.205.255\n         inet6 fe80::20c:29ff:fef3:db98  prefixlen 64  scopeid 0x20\n\n         ether 00:0c:29:f3:db:98  txqueuelen 1000  (Ethernet)\n         RX packets 77721  bytes 113390994 (108.1 MiB)\n         RX errors 0  dropped 0  overruns 0  frame 0\n         TX packets 39431  bytes 2897489 (2.7 MiB)\n         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0\n lo: flags=73  mtu 65536\n         inet 127.0.0.1  netmask 255.0.0.0\n         inet6 ::1  prefixlen 128  scopeid 0x10\n         loop  txqueuelen 1000  (Local Loopback)\n         RX packets 36  bytes 2390 (2.3 KiB)\n         RX errors 0  dropped 0  overruns 0  frame 0\n         TX packets 36  bytes 2390 (2.3 KiB)\n         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">[root@localhost okd4_configs]# ifconfig<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ens192: <\/span><span style=\"color: #A31515\">flags=<\/span><span style=\"color: #098658\">4163<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">mtu<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">1500<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         inet <\/span><span style=\"color: #A31515\">192.168.205.150<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">netmask<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">255.255.255.0<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">broadcast<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">192.168.205.255<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         inet6 <\/span><span style=\"color: #A31515\">fe80::20c:29ff:fef3:db98<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">prefixlen<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">64<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">scopeid<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0x20<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         ether <\/span><span style=\"color: #098658\">00<\/span><span style=\"color: #A31515\">:0c:<\/span><span style=\"color: #098658\">29<\/span><span style=\"color: #A31515\">:f3:db:<\/span><span style=\"color: #098658\">98<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">txqueuelen<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">1000<\/span><span style=\"color: #000000\">  (Ethernet)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         RX <\/span><span style=\"color: #A31515\">packets<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">77721<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">bytes<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">113390994<\/span><span style=\"color: #000000\"> (108.1 <\/span><span style=\"color: #A31515\">MiB<\/span><span style=\"color: #000000\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         RX <\/span><span style=\"color: #A31515\">errors<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">dropped<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">overruns<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">frame<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         TX <\/span><span style=\"color: #A31515\">packets<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">39431<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">bytes<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2897489<\/span><span style=\"color: #000000\"> (2.7 <\/span><span style=\"color: #A31515\">MiB<\/span><span style=\"color: #000000\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         TX <\/span><span style=\"color: #A31515\">errors<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">dropped<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">overruns<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">carrier<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">collisions<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> lo: <\/span><span style=\"color: #A31515\">flags=<\/span><span style=\"color: #098658\">73<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">mtu<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">65536<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         inet <\/span><span style=\"color: #A31515\">127.0.0.1<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">netmask<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">255.0.0.0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         inet6 <\/span><span style=\"color: #A31515\">::<\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">prefixlen<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">128<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">scopeid<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0x10<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         loop  <\/span><span style=\"color: #A31515\">txqueuelen<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">1000<\/span><span style=\"color: #000000\">  (Local <\/span><span style=\"color: #A31515\">Loopback<\/span><span style=\"color: #000000\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         RX <\/span><span style=\"color: #A31515\">packets<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">36<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">bytes<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2390<\/span><span style=\"color: #000000\"> (2.3 <\/span><span style=\"color: #A31515\">KiB<\/span><span style=\"color: #000000\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         RX <\/span><span style=\"color: #A31515\">errors<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">dropped<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">overruns<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">frame<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         TX <\/span><span style=\"color: #A31515\">packets<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">36<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">bytes<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2390<\/span><span style=\"color: #000000\"> (2.3 <\/span><span style=\"color: #A31515\">KiB<\/span><span style=\"color: #000000\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         TX <\/span><span style=\"color: #A31515\">errors<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">dropped<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">overruns<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">carrier<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">collisions<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>From the above we can see the ethernet connection is called &#8220;ens192&#8221;, yours may be different, so now change the DNS setting on okd4-services and restart the network manager:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">nmcli connection modify ens192 ipv4.dns \"127.0.0.1\"\nsystemctl restart NetworkManager<\/pre>\n\n\n\n<p>Now we need to test so run &#8220;dig okd.local&#8221; and you should see:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"[root@okd4-services okd4_configs]# dig okd.local\n ; <<&gt;&gt; DiG 9.11.25-RedHat-9.11.25-2.fc32 <<&gt;&gt; okd.local\n ;; global options: +cmd\n ;; Got answer:\n ;; WARNING: .local is reserved for Multicast DNS\n ;; You are currently testing what happens when an mDNS query is leaked to DNS\n ;; -&gt;&gt;HEADER<<- opcode: QUERY, status: NOERROR, id: 49314\n ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1\n ;; OPT PSEUDOSECTION:\n ; EDNS: version: 0, flags:; udp: 1232\n ; COOKIE: 0c5ef1f6a9151608324d1f975ff15bc20e748313242ced2a (good)\n ;; QUESTION SECTION:\n ;okd.local.                     IN      A\n ;; AUTHORITY SECTION:\n okd.local.              604800  IN      SOA     okd4-services.okd.local. admin.okd.local. 1 604800 86400 2419200 604800\n ;; Query time: 0 msec\n ;; SERVER: 127.0.0.1#53(127.0.0.1)\n ;; WHEN: Sun Jan 03 00:53:06 EST 2021\n ;; MSG SIZE  rcvd: 122\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">[root@okd4-services okd4_configs]# dig okd.local<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ; &lt;&lt;&gt;&gt; DiG <\/span><span style=\"color: #A31515\">9.11.25-RedHat-9.11.25-2.fc32<\/span><span style=\"color: #000000\"> &lt;&lt;&gt;&gt; <\/span><span style=\"color: #A31515\">okd.local<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; global <\/span><span style=\"color: #A31515\">options:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">+cmd<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; Got <\/span><span style=\"color: #A31515\">answer:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; WARNING: <\/span><span style=\"color: #A31515\">.local<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">is<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">reserved<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">for<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Multicast<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">DNS<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; You <\/span><span style=\"color: #A31515\">are<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">currently<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">testing<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">what<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">happens<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">when<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">an<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">mDNS<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">query<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">is<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">leaked<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">to<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">DNS<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; -&gt;&gt;HEADER&lt;&lt;- <\/span><span style=\"color: #A31515\">opcode:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">QUERY,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">status:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">NOERROR,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">id:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">49314<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; flags: <\/span><span style=\"color: #A31515\">qr<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">aa<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">rd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">ra<\/span><span style=\"color: #000000\">; QUERY: <\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #A31515\">,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">ANSWER:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #A31515\">,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">AUTHORITY:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #A31515\">,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">ADDITIONAL:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; OPT <\/span><span style=\"color: #A31515\">PSEUDOSECTION:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ; EDNS: <\/span><span style=\"color: #A31515\">version:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #A31515\">,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">flags:<\/span><span style=\"color: #000000\">; udp: <\/span><span style=\"color: #098658\">1232<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ; COOKIE: <\/span><span style=\"color: #A31515\">0c5ef1f6a9151608324d1f975ff15bc20e748313242ced2a<\/span><span style=\"color: #000000\"> (good)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; QUESTION <\/span><span style=\"color: #A31515\">SECTION:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;okd.local.                     <\/span><span style=\"color: #A31515\">IN<\/span><span style=\"color: #000000\">      <\/span><span style=\"color: #A31515\">A<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; AUTHORITY <\/span><span style=\"color: #A31515\">SECTION:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> okd.local.              <\/span><span style=\"color: #098658\">604800<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">IN<\/span><span style=\"color: #000000\">      <\/span><span style=\"color: #A31515\">SOA<\/span><span style=\"color: #000000\">     <\/span><span style=\"color: #A31515\">okd4-services.okd.local.<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">admin.okd.local.<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">604800<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">86400<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2419200<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">604800<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; Query <\/span><span style=\"color: #A31515\">time:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">msec<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; SERVER: <\/span><span style=\"color: #A31515\">127.0.0.1#<\/span><span style=\"color: #098658\">53<\/span><span style=\"color: #000000\">(127.0.0.1)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; WHEN: <\/span><span style=\"color: #A31515\">Sun<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Jan<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">03<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">00<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">53<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">06<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">EST<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2021<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; MSG <\/span><span style=\"color: #A31515\">SIZE<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">rcvd:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">122<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Then run &#8220;dig -x 192.168.205.150&#8221;:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"[root@okd4-services okd4_configs]# dig -x 192.168.205.150\n ; <<&gt;&gt; DiG 9.11.25-RedHat-9.11.25-2.fc32 <<&gt;&gt; -x 192.168.205.150\n ;; global options: +cmd\n ;; Got answer:\n ;; -&gt;&gt;HEADER<<- opcode: QUERY, status: NOERROR, id: 19352\n ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 1, ADDITIONAL: 2\n ;; OPT PSEUDOSECTION:\n ; EDNS: version: 0, flags:; udp: 1232\n ; COOKIE: 7103218c8a5468f004a0fe055ff15c02fab4c4838affe15b (good)\n ;; QUESTION SECTION:\n ;150.205.168.192.in-addr.arpa.  IN      PTR\n ;; ANSWER SECTION:\n 150.205.168.192.in-addr.arpa. 604800 IN PTR     api-int.lab.okd.local.\n 150.205.168.192.in-addr.arpa. 604800 IN PTR     api.lab.okd.local.\n 150.205.168.192.in-addr.arpa. 604800 IN PTR     okd4-services.okd.local.\n ;; AUTHORITY SECTION:\n 205.168.192.in-addr.arpa. 604800 IN     NS      okd4-services.okd.local.\n ;; ADDITIONAL SECTION:\n okd4-services.okd.local. 604800 IN      A       192.168.205.150\n ;; Query time: 0 msec\n ;; SERVER: 127.0.0.1#53(127.0.0.1)\n ;; WHEN: Sun Jan 03 00:54:10 EST 2021\n ;; MSG SIZE  rcvd: 196\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">[root@okd4-services okd4_configs]# dig -x 192.168.205.150<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ; &lt;&lt;&gt;&gt; DiG <\/span><span style=\"color: #A31515\">9.11.25-RedHat-9.11.25-2.fc32<\/span><span style=\"color: #000000\"> &lt;&lt;&gt;&gt; <\/span><span style=\"color: #0000FF\">-x<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">192.168.205.150<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; global <\/span><span style=\"color: #A31515\">options:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">+cmd<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; Got <\/span><span style=\"color: #A31515\">answer:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; -&gt;&gt;HEADER&lt;&lt;- <\/span><span style=\"color: #A31515\">opcode:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">QUERY,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">status:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">NOERROR,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">id:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">19352<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; flags: <\/span><span style=\"color: #A31515\">qr<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">aa<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">rd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">ra<\/span><span style=\"color: #000000\">; QUERY: <\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #A31515\">,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">ANSWER:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">3<\/span><span style=\"color: #A31515\">,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">AUTHORITY:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #A31515\">,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">ADDITIONAL:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; OPT <\/span><span style=\"color: #A31515\">PSEUDOSECTION:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ; EDNS: <\/span><span style=\"color: #A31515\">version:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #A31515\">,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">flags:<\/span><span style=\"color: #000000\">; udp: <\/span><span style=\"color: #098658\">1232<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ; COOKIE: <\/span><span style=\"color: #A31515\">7103218c8a5468f004a0fe055ff15c02fab4c4838affe15b<\/span><span style=\"color: #000000\"> (good)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; QUESTION <\/span><span style=\"color: #A31515\">SECTION:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;150.205.168.192.in-addr.arpa.  <\/span><span style=\"color: #A31515\">IN<\/span><span style=\"color: #000000\">      <\/span><span style=\"color: #A31515\">PTR<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; ANSWER <\/span><span style=\"color: #A31515\">SECTION:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> 150.205.168.192.in-addr.arpa. <\/span><span style=\"color: #098658\">604800<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">IN<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">PTR<\/span><span style=\"color: #000000\">     <\/span><span style=\"color: #A31515\">api-int.lab.okd.local.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> 150.205.168.192.in-addr.arpa. <\/span><span style=\"color: #098658\">604800<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">IN<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">PTR<\/span><span style=\"color: #000000\">     <\/span><span style=\"color: #A31515\">api.lab.okd.local.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> 150.205.168.192.in-addr.arpa. <\/span><span style=\"color: #098658\">604800<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">IN<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">PTR<\/span><span style=\"color: #000000\">     <\/span><span style=\"color: #A31515\">okd4-services.okd.local.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; AUTHORITY <\/span><span style=\"color: #A31515\">SECTION:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> 205.168.192.in-addr.arpa. <\/span><span style=\"color: #098658\">604800<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">IN<\/span><span style=\"color: #000000\">     <\/span><span style=\"color: #A31515\">NS<\/span><span style=\"color: #000000\">      <\/span><span style=\"color: #A31515\">okd4-services.okd.local.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; ADDITIONAL <\/span><span style=\"color: #A31515\">SECTION:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> okd4-services.okd.local. <\/span><span style=\"color: #098658\">604800<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">IN<\/span><span style=\"color: #000000\">      <\/span><span style=\"color: #A31515\">A<\/span><span style=\"color: #000000\">       <\/span><span style=\"color: #A31515\">192.168.205.150<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; Query <\/span><span style=\"color: #A31515\">time:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">msec<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; SERVER: <\/span><span style=\"color: #A31515\">127.0.0.1#<\/span><span style=\"color: #098658\">53<\/span><span style=\"color: #000000\">(127.0.0.1)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; WHEN: <\/span><span style=\"color: #A31515\">Sun<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Jan<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">03<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">00<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">54<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">10<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">EST<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2021<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ;; MSG <\/span><span style=\"color: #A31515\">SIZE<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">rcvd:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">196<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Install HAProxy and Apache<\/h2>\n\n\n\n<p>Still logged in as root and still in &#8220;\/opt\/okd4\/configs\/&#8221; run the following to install and setup HAProxy:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"dnf install haproxy -y\nmv \/etc\/haproxy\/haproxy.cfg \/etc\/haproxy\/haproxy.cfg.ootb\ncp haproxy.cfg \/etc\/haproxy\/haproxy.cfg\nsetsebool -P haproxy_connect_any 1\nsystemctl enable haproxy\nsystemctl start haproxy\nsystemctl status haproxy\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">dnf <\/span><span style=\"color: #A31515\">install<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">haproxy<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-y<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">mv <\/span><span style=\"color: #A31515\">\/etc\/haproxy\/haproxy.cfg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/etc\/haproxy\/haproxy.cfg.ootb<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">cp <\/span><span style=\"color: #A31515\">haproxy.cfg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/etc\/haproxy\/haproxy.cfg<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">setsebool <\/span><span style=\"color: #0000FF\">-P<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">haproxy_connect_any<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">enable<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">haproxy<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">start<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">haproxy<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">status<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">haproxy<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Install Apache:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"dnf install -y httpd\nsed -i 's\/Listen 80\/Listen 8080\/' \/etc\/httpd\/conf\/httpd.conf\nsetsebool -P httpd_read_user_content 1\nsystemctl enable httpd\nsystemctl start httpd\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">dnf <\/span><span style=\"color: #A31515\">install<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-y<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">httpd<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">sed <\/span><span style=\"color: #0000FF\">-i<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">&#39;s\/Listen 80\/Listen 8080\/&#39;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/etc\/httpd\/conf\/httpd.conf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">setsebool <\/span><span style=\"color: #0000FF\">-P<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">httpd_read_user_content<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">enable<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">httpd<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">start<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">httpd<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>You can now test Apache is working by either going to <a  href=\"http:\/\/192.168.205.150:8080\/\">http:\/\/192.168.205.150:8080\/<\/a> from a browser or running curl on okd4-services:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">curl localhost:8080<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Enable NFS<\/h2>\n\n\n\n<p>We need to have persistent storage available for things like the registry.  So run the following:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"systemctl enable nfs-server rpcbind\nsystemctl start nfs-server rpcbind\nmkdir \/srv\/nfsshares\nchmod -R 2777 \/srv\/nfsshares\nchown -R nobody:nobody \/srv\/nfsshares\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">enable<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">nfs-server<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">rpcbind<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">start<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">nfs-server<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">rpcbind<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">mkdir <\/span><span style=\"color: #A31515\">\/srv\/nfsshares<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">chmod <\/span><span style=\"color: #0000FF\">-R<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2777<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/srv\/nfsshares<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">chown <\/span><span style=\"color: #0000FF\">-R<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">nobody:nobody<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/srv\/nfsshares<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Backup and then edit &#8220;\/etc\/exports&#8221; and add the following line:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"\/srv\/nfsshares 192.168.0.0\/16(rw,sync,no_root_squash,no_all_squash,no_wdelay)\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">\/srv\/nfsshares <\/span><span style=\"color: #A31515\">192.168.0.0\/<\/span><span style=\"color: #098658\">16<\/span><span style=\"color: #000000\">(rw,sync,no_root_squash,no_all_squash,no_wdelay)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Run the following to enable the share<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"setsebool -P nfs_export_all_rw 1\nsystemctl restart nfs-server\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">setsebool <\/span><span style=\"color: #0000FF\">-P<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">nfs_export_all_rw<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">restart<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">nfs-server<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>The NFS share should now be available. To use this in Windows, at least to test it is working, you need to add &#8220;Client for NFS&#8221; from &#8220;Turn Windows features on or off&#8221; in the Control Panel:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"415\" height=\"232\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab43.jpg\" alt=\"\" class=\"wp-image-4532\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab43.jpg 415w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab43-300x168.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab43-150x84.jpg 150w\" sizes=\"auto, (max-width: 415px) 100vw, 415px\" \/><\/figure>\n\n\n\n<p>Once you have done the above you should be able to mount, as &#8220;T:&#8221;, our NFS share by running the following in a Windows cmd prompt:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"mount \\\\192.168.205.150\\srv\\nfsshares t:\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">mount <\/span><span style=\"color: #EE0000\">\\\\<\/span><span style=\"color: #A31515\">192.168.205.150<\/span><span style=\"color: #EE0000\">\\s<\/span><span style=\"color: #A31515\">rv<\/span><span style=\"color: #EE0000\">\\n<\/span><span style=\"color: #A31515\">fsshares<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">t:<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Misc<\/h2>\n\n\n\n<p>Add any misc stuff:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"yum -y install jq\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">yum <\/span><span style=\"color: #0000FF\">-y<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">install<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jq<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Time date and NTP<\/h3>\n\n\n\n<p>This is from Red Hat:<\/p>\n\n\n\n<div class=\"wp-block-uagb-blockquote uagb-blockquote__outer-wrap uagb-block-99f10959\"><div class=\"uagb-blockquote__wrap uagb-blockquote__skin-border uagb-blockquote__stack-img-none\"><blockquote class=\"uagb-blockquote\"><div class=\"uagb-blockquote__content-wrap\"><div class=\"uagb-blockquote__content\"><strong>Entropy<\/strong><br>OpenShift Container Platform uses entropy to generate random numbers for objects such as IDs or SSL traffic. These operations wait until there is enough entropy to complete the task. Without enough entropy, the kernel is not able to generate these random numbers with sufficient speed, which can lead to timeouts and the refusal of secure connections.<\/div><footer><div class=\"uagb-blockquote__author-wrap uagb-blockquote__author-at-left\"><cite class=\"uagb-blockquote__author\">Red Hat: OpenShift Container Platform 3.11 &#8211; Day Two Operations Guide &#8211; Run-once tasks<\/cite><\/div><\/footer><\/div><\/blockquote><\/div><\/div>\n\n\n\n<p>It would appear that <strong>OpenShift uses UTP and any other timezone is currently unsupported<\/strong>, as at 10\/3\/2021. There is an open ticket to <a  href=\"https:\/\/issues.redhat.com\/browse\/RFE-1283\">Ability to change the timezone of CoresOS nodes<\/a><\/p>\n\n\n\n<p>If you do want to set the correct timezone. begin by listing the available timezones using:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"timedatectl list-timezones\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">timedatectl <\/span><span style=\"color: #A31515\">list-timezones<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>For me I live in New Zealand so my timezone is &#8220;Pacific\/Auckland&#8221;. I set this by running:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"timedatectl set-timezone Pacific\/Auckland\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">timedatectl <\/span><span style=\"color: #A31515\">set-timezone<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Pacific\/Auckland<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Obviously if you were using UTC you would run:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"timedatectl set-timezone UTC\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">timedatectl <\/span><span style=\"color: #A31515\">set-timezone<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">UTC<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Ensure NTP server is running. Chrony is the replacement for NTPd by running:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"systemctl status chronyd.service\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">status<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">chronyd.service<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Ensure the port has been opened in the firewall by adding to the firewall rules:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"firewall-cmd --permanent --zone=public --add-port=123\/udp\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">firewall-cmd <\/span><span style=\"color: #0000FF\">--permanent<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--zone=public<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--add-port=123\/udp<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Restart the firewall and list the rules by running &#8220;firewall-cmd &#8211;list-all&#8221; and you should see:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"[root@okd4-services ~]# firewall-cmd --list-all\n public (active)\n   target: default\n   icmp-block-inversion: no\n   interfaces: ens192\n   sources:\n   services: dhcp dhcpv6-client http https mdns mountd nfs rpc-bind ssh\n   ports: 53\/udp 6443\/tcp 22623\/tcp 8080\/tcp 53\/tcp 123\/udp\n   protocols:\n   masquerade: no\n   forward-ports:\n   source-ports:\n   icmp-blocks:\n   rich rules:\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">[root@okd4-services ~]# firewall-cmd --list-all<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> public (active)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   target: <\/span><span style=\"color: #A31515\">default<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   icmp-block-inversion: <\/span><span style=\"color: #A31515\">no<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   interfaces: <\/span><span style=\"color: #A31515\">ens192<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   sources:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   services: <\/span><span style=\"color: #A31515\">dhcp<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">dhcpv6-client<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">http<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">https<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">mdns<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">mountd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">nfs<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">rpc-bind<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">ssh<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   ports: <\/span><span style=\"color: #098658\">53<\/span><span style=\"color: #A31515\">\/udp<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">6443<\/span><span style=\"color: #A31515\">\/tcp<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">22623<\/span><span style=\"color: #A31515\">\/tcp<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">8080<\/span><span style=\"color: #A31515\">\/tcp<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">53<\/span><span style=\"color: #A31515\">\/tcp<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">123<\/span><span style=\"color: #A31515\">\/udp<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   protocols:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   masquerade: <\/span><span style=\"color: #A31515\">no<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   forward-ports:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   <\/span><span style=\"color: #795E26\">source<\/span><span style=\"color: #000000\">-ports:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   icmp-blocks:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   rich <\/span><span style=\"color: #A31515\">rules:<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Note above the entry &#8220;123\/udp&#8221; which is the NTP port<\/p>\n\n\n\n<p>Backup the chronyd settings, &#8220;\/etc\/chrony.conf&#8221; and replace with the below:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"#\n# Example chrony file from zoyinc.com\n#\n# Using New Zealand NPT servers - Please set to your local NTP public servers\n#server 43.252.70.34\nserver 0.pool.ntp.org\nserver 1.pool.ntp.org\nserver 2.pool.ntp.org\nserver 3.pool.ntp.org\nserver 216.239.35.0\nserver 216.239.35.4\n# Record the rate at which the system clock gains\/losses time.\ndriftfile \/var\/lib\/chrony\/drift\n# Allow the system clock to be stepped in the first three updates\n# if its offset is larger than 1 second.\nmakestep 1.0 3\n# Enable kernel synchronization of the real-time clock (RTC).\nrtcsync\n# Allow NTP client access from local network.\nallow 192.168.0.0\/16\n# Serve time even if not synchronized to a time source.\nlocal stratum 10\n# Specify directory for log files.\nlogdir \/var\/log\/chrony\n# Select which information is logged.\nlog measurements statistics tracking\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #008000\">#<\/span><\/span>\n<span class=\"line\"><span style=\"color: #008000\"># Example chrony file from zoyinc.com<\/span><\/span>\n<span class=\"line\"><span style=\"color: #008000\">#<\/span><\/span>\n<span class=\"line\"><span style=\"color: #008000\"># Using New Zealand NPT servers - Please set to your local NTP public servers<\/span><\/span>\n<span class=\"line\"><span style=\"color: #008000\">#server 43.252.70.34<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">server <\/span><span style=\"color: #A31515\">0.pool.ntp.org<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">server <\/span><span style=\"color: #A31515\">1.pool.ntp.org<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">server <\/span><span style=\"color: #A31515\">2.pool.ntp.org<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">server <\/span><span style=\"color: #A31515\">3.pool.ntp.org<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">server <\/span><span style=\"color: #A31515\">216.239.35.0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">server <\/span><span style=\"color: #A31515\">216.239.35.4<\/span><\/span>\n<span class=\"line\"><span style=\"color: #008000\"># Record the rate at which the system clock gains\/losses time.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">driftfile <\/span><span style=\"color: #A31515\">\/var\/lib\/chrony\/drift<\/span><\/span>\n<span class=\"line\"><span style=\"color: #008000\"># Allow the system clock to be stepped in the first three updates<\/span><\/span>\n<span class=\"line\"><span style=\"color: #008000\"># if its offset is larger than 1 second.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">makestep <\/span><span style=\"color: #098658\">1.0<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #008000\"># Enable kernel synchronization of the real-time clock (RTC).<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">rtcsync<\/span><\/span>\n<span class=\"line\"><span style=\"color: #008000\"># Allow NTP client access from local network.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">allow <\/span><span style=\"color: #A31515\">192.168.0.0\/<\/span><span style=\"color: #098658\">16<\/span><\/span>\n<span class=\"line\"><span style=\"color: #008000\"># Serve time even if not synchronized to a time source.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #0000FF\">local<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">stratum<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">10<\/span><\/span>\n<span class=\"line\"><span style=\"color: #008000\"># Specify directory for log files.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">logdir <\/span><span style=\"color: #A31515\">\/var\/log\/chrony<\/span><\/span>\n<span class=\"line\"><span style=\"color: #008000\"># Select which information is logged.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">log <\/span><span style=\"color: #A31515\">measurements<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">statistics<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">tracking<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>You will notice the bottom two &#8220;server&#8221; entries are static IPs and are for Google NTP servers &#8211; these IPs appear to be stable.<\/p>\n\n\n\n<p>To check the current date time settings run &#8220;timedatectl&#8221; which initially for me returned:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"[root@okd4-services ~]# timedatectl\n               Local time: Mon 2021-02-01 16:41:37 NZDT\n           Universal time: Mon 2021-02-01 03:41:37 UTC\n                 RTC time: Mon 2021-02-01 03:41:37\n                Time zone: Pacific\/Auckland (NZDT, +1300)\nSystem clock synchronized: no\n              NTP service: active\n          RTC in local TZ: no\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">[root@okd4-services ~]# timedatectl<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">               Local <\/span><span style=\"color: #A31515\">time:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Mon<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2021<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">02<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">01<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">16<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">41<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">37<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">NZDT<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">           Universal <\/span><span style=\"color: #A31515\">time:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Mon<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2021<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">02<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">01<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">03<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">41<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">37<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">UTC<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                 RTC <\/span><span style=\"color: #A31515\">time:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Mon<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2021<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">02<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">01<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">03<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">41<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">37<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                Time <\/span><span style=\"color: #A31515\">zone:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Pacific\/Auckland<\/span><span style=\"color: #000000\"> (NZDT, <\/span><span style=\"color: #A31515\">+<\/span><span style=\"color: #098658\">1300<\/span><span style=\"color: #000000\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">System <\/span><span style=\"color: #A31515\">clock<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">synchronized:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">no<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">              NTP <\/span><span style=\"color: #A31515\">service:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">active<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">          RTC <\/span><span style=\"color: #A31515\">in<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">local<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">TZ:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">no<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Note in this case it returned &#8220;System clock synchronized: no&#8221;. <\/p>\n\n\n\n<p>Restart chrony by running:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">systemctl restart chronyd.service<\/pre>\n\n\n\n<p>Once it is working it should return something like:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"[root@okd4-services ~]# timedatectl\n               Local time: Mon 2021-03-08 19:27:35 NZDT\n           Universal time: Mon 2021-03-08 06:27:35 UTC\n                 RTC time: Sun 2021-04-11 06:27:15\n                Time zone: Pacific\/Auckland (NZDT, +1300)\nSystem clock synchronized: yes\n              NTP service: active\n          RTC in local TZ: no\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">[root@okd4-services ~]# timedatectl<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">               Local <\/span><span style=\"color: #A31515\">time:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Mon<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2021<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">03<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">08<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">19<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">27<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">35<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">NZDT<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">           Universal <\/span><span style=\"color: #A31515\">time:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Mon<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2021<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">03<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">08<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">06<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">27<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">35<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">UTC<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                 RTC <\/span><span style=\"color: #A31515\">time:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Sun<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2021<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">04<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">11<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">06<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">27<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">15<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                Time <\/span><span style=\"color: #A31515\">zone:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Pacific\/Auckland<\/span><span style=\"color: #000000\"> (NZDT, <\/span><span style=\"color: #A31515\">+<\/span><span style=\"color: #098658\">1300<\/span><span style=\"color: #000000\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">System <\/span><span style=\"color: #A31515\">clock<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">synchronized:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">yes<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">              NTP <\/span><span style=\"color: #A31515\">service:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">active<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">          RTC <\/span><span style=\"color: #A31515\">in<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">local<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">TZ:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">no<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>You ca also run &#8220;chronyc sources&#8221; which returns the following when NTP is working:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"[root@okd4-services ~]# chronyc sources\n 210 Number of sources = 5\n MS Name\/IP address         Stratum Poll Reach LastRx Last sample\n ^- time1.google.com              1   6   377    28  -2384us[-1600us] +\/-   82ms\n ^- 101-100-146-146.myrepubl&gt;     2   6    37    27  -1500us[ -715us] +\/-   42ms\n ^- joplin.convolute.net.nz       2   6    37    28    +13ms[  +14ms] +\/-   57ms\n ^* ntp1.ntp.net.nz               1   6    37    28   +509us[+1293us] +\/- 3074us\n ^- ns1.tdc.akl.telesmart.co&gt;     2   6    37    28   +296us[ +296us] +\/- 6512us\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">[root@okd4-services ~]# chronyc sources<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> 210 <\/span><span style=\"color: #A31515\">Number<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">of<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">sources<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">=<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> MS <\/span><span style=\"color: #A31515\">Name\/IP<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">address<\/span><span style=\"color: #000000\">         <\/span><span style=\"color: #A31515\">Stratum<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Poll<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Reach<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">LastRx<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Last<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">sample<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ^- <\/span><span style=\"color: #A31515\">time1.google.com<\/span><span style=\"color: #000000\">              <\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000\">   <\/span><span style=\"color: #098658\">6<\/span><span style=\"color: #000000\">   <\/span><span style=\"color: #098658\">377<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">28<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #0000FF\">-2384us[-1600us]<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">+\/-<\/span><span style=\"color: #000000\">   <\/span><span style=\"color: #A31515\">82ms<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ^- <\/span><span style=\"color: #098658\">101<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">100<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">146<\/span><span style=\"color: #A31515\">-146.myrepub<\/span><span style=\"color: #000000\">l&gt;     <\/span><span style=\"color: #098658\">2<\/span><span style=\"color: #000000\">   <\/span><span style=\"color: #098658\">6<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">37<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">27<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #0000FF\">-1500us[ -715us]<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">+\/-<\/span><span style=\"color: #000000\">   <\/span><span style=\"color: #A31515\">42ms<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ^- <\/span><span style=\"color: #A31515\">joplin.convolute.net.nz<\/span><span style=\"color: #000000\">       <\/span><span style=\"color: #098658\">2<\/span><span style=\"color: #000000\">   <\/span><span style=\"color: #098658\">6<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">37<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">28<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #A31515\">+13ms[<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #A31515\">+14ms]<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">+\/-<\/span><span style=\"color: #000000\">   <\/span><span style=\"color: #A31515\">57ms<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ^* <\/span><span style=\"color: #A31515\">ntp1.ntp.net.nz<\/span><span style=\"color: #000000\">               <\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000\">   <\/span><span style=\"color: #098658\">6<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">37<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">28<\/span><span style=\"color: #000000\">   <\/span><span style=\"color: #A31515\">+509us[+1293us]<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">+\/-<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">3074us<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> ^- <\/span><span style=\"color: #A31515\">ns1.tdc.akl.telesmart.c<\/span><span style=\"color: #000000\">o&gt;     <\/span><span style=\"color: #098658\">2<\/span><span style=\"color: #000000\">   <\/span><span style=\"color: #098658\">6<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">37<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">28<\/span><span style=\"color: #000000\">   <\/span><span style=\"color: #A31515\">+296us[<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">+296us]<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">+\/-<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">6512us<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>You can also tail the log:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"[root@okd4-services ~]# tail -f \/var\/log\/chrony\/tracking.log\n 2021-03-08 06:23:34 202.46.177.18    2    -11.069      0.250 -9.233e-05 N  1  3.640e-04 -3.327e-07  7.036e-03  7.558e-04  6.876e-03\n 2021-03-08 06:24:39 202.46.177.18    2    -11.070      0.291  7.842e-04 N  1  5.256e-04  7.645e-05  5.351e-03  9.281e-04  5.011e-03\n 2021-03-08 06:25:43 202.46.177.18    2    -11.072      0.356 -1.868e-05 N  2  4.066e-04 -7.539e-05  6.117e-03  8.378e-04  4.582e-03\n 2021-03-08 06:26:48 202.46.177.18    2    -11.072      0.410  7.990e-05 N  2  5.149e-04 -5.144e-05  6.422e-03  7.999e-04  4.090e-03\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">[root@okd4-services ~]# tail -f \/var\/log\/chrony\/tracking.log<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> 2021-03-08 <\/span><span style=\"color: #098658\">06<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">23<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">34<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">202.46.177.18<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">2<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">-11.069<\/span><span style=\"color: #000000\">      <\/span><span style=\"color: #098658\">0.250<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-9.233e-05<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">N<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">3.640e-04<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-3.327e-07<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">7.036e-03<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">7.558e-04<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">6.876e-03<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> 2021-03-08 <\/span><span style=\"color: #098658\">06<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">24<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">39<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">202.46.177.18<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">2<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">-11.070<\/span><span style=\"color: #000000\">      <\/span><span style=\"color: #098658\">0.291<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">7.842e-04<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">N<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">5.256e-04<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">7.645e-05<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">5.351e-03<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">9.281e-04<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">5.011e-03<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> 2021-03-08 <\/span><span style=\"color: #098658\">06<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">25<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">43<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">202.46.177.18<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">2<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">-11.072<\/span><span style=\"color: #000000\">      <\/span><span style=\"color: #098658\">0.356<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-1.868e-05<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">N<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">2<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">4.066e-04<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-7.539e-05<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">6.117e-03<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">8.378e-04<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">4.582e-03<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> 2021-03-08 <\/span><span style=\"color: #098658\">06<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">26<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">48<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">202.46.177.18<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">2<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">-11.072<\/span><span style=\"color: #000000\">      <\/span><span style=\"color: #098658\">0.410<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">7.990e-05<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">N<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">2<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">5.149e-04<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-5.144e-05<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">6.422e-03<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">7.999e-04<\/span><span style=\"color: #000000\">  <\/span><span style=\"color: #098658\">4.090e-03<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Possibly backup services node<\/h2>\n\n\n\n<p>At this point I have a habit of backing up the services node because this point is prior to installing OpenShift and so if I need to redo the whole OKD part then this is a nice, <strong>clean, <\/strong>point<strong> <\/strong>to do it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">OpenShift client and server<\/h2>\n\n\n\n<p>You need to download oc client and openshift-install files. These can be found at: <a  href=\"https:\/\/github.com\/openshift\/okd\/releases\">https:\/\/github.com\/openshift\/okd\/releases<\/a><\/p>\n\n\n\n<p>You will need to scroll down the page quite a bit to find the &#8220;openshift-client-linux&#8221; and &#8220;openshift-install-linux&#8221; archives:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"576\" height=\"282\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab23.jpg\" alt=\"\" class=\"wp-image-4467\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab23.jpg 576w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab23-300x147.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab23-150x73.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab23-500x245.jpg 500w\" sizes=\"auto, (max-width: 576px) 100vw, 576px\" \/><\/figure>\n\n\n\n<p>Put these two files on okd4-services in \/opt\/okd4\/misc\/ and then extract them, move them to \/usr\/local\/bin and finally check versions by running:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"mkdir \/opt\/okd4\/misc\ncd \/opt\/okd4\/misc\/\ntar -zxvf openshift-client-linux-4.5.0-0.okd-2020-10-15-235428.tar.gz\ntar -zxvf openshift-install-linux-4.5.0-0.okd-2020-10-15-235428.tar.gz\nmv kubectl oc openshift-install \/usr\/local\/bin\/\ncd \/\noc version\nopenshift-install version\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">mkdir <\/span><span style=\"color: #A31515\">\/opt\/okd4\/misc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #795E26\">cd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/opt\/okd4\/misc\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">tar <\/span><span style=\"color: #0000FF\">-zxvf<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">openshift-client-linux-4.5.0-0.okd-<\/span><span style=\"color: #098658\">2020<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">10<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">15<\/span><span style=\"color: #A31515\">-235428.tar.gz<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">tar <\/span><span style=\"color: #0000FF\">-zxvf<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">openshift-install-linux-4.5.0-0.okd-<\/span><span style=\"color: #098658\">2020<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">10<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">15<\/span><span style=\"color: #A31515\">-235428.tar.gz<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">mv <\/span><span style=\"color: #A31515\">kubectl<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">oc<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">openshift-install<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/usr\/local\/bin\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #795E26\">cd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">oc <\/span><span style=\"color: #A31515\">version<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">openshift-install <\/span><span style=\"color: #A31515\">version<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Get Red Hat pull secret<\/h3>\n\n\n\n<p>First time I read about this I thought it was kind of optional because Craig&#8217;s guide said:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>In the install-config.yaml, you can either use a pull-secret from RedHat or the default of \u201c{\u201cauths\u201d:{\u201cfake\u201d:{\u201cauth\u201d: \u201cbar\u201d}}}\u201d as the pull-secret.<\/p>\n<\/blockquote>\n\n\n\n<p>However, I discovered the default doesn&#8217;t work now, because when the control-plane node comes up it will use the pull secret to login to the Red Hat OpenShift Cluster Manager site to download sample images. It further seems that the &#8220;fake&#8221; login doesn&#8217;t work now.<\/p>\n\n\n\n<p>It seems that by default OKD will download the sample images to speed up things and if it can access the images repo but not login then the control-plane will continually try to download and will never be up. At least that is my experience.<\/p>\n\n\n\n<p>You will need to create a Red Hat account to login, which is free, then go to <a  href=\"https:\/\/cloud.redhat.com\/openshift\/install\/pull-secret\">https:\/\/cloud.redhat.com\/openshift\/install\/pull-secret<\/a> to get your pull secret &#8211; this is a json string. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Openshift installer setup<\/h3>\n\n\n\n<p>Firstly you need an ssh key, so run &#8220;ssh-keygen&#8221; from any folder and accept the default filename of &#8220;\/root\/.ssh\/id_rsa&#8221;. For myself I have a blank passphrase.<\/p>\n\n\n\n<p>The content of &#8220;\/root\/.ssh\/id_rsa.pub&#8221; should look something like:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQD3U0ysRouHNtCMtzx4qeqny8kS15Mo+2KZjahlknWs8+f7Rmwmrols6dLVujjOnr0dF\/FgfDfOhpSa60ZudpLxxz56xT1UYBmU4f62nD6GqKdPhK9uy0OK9RmIWcNM\/ZpMGVU6SEV9Darj+e0IOUYXJIAimMSCrKfXJquLO1bMcdLkEaI9ESZrN9SbrKxBdMqLBCzRV1WWW8dKSeTkXm2PBrHQu3Y31FArTVWcDXPNDEiRjkKCIGAYXpmkx6bnKWCRL0s3EjB0q8TI65S81rZgEwxhkk+bxL5aOrrIK69BSJ32rTbU4DrTOS8n4XboP4Pqw6TRemaposn86FhkSQU8PAa3TnoSqzVb7Qo+\/5+oDXKppgLIJLLlDkYBJmXY+PZZWIpl6lh4qYBZ7J0JISdg3OYuSt+9U9Uy4EdgLddLqnhyqqwGmtMhpmkfho+QOx+nKeH\/XV9m5bknmlCEYPqJtbQpQDklLbB+AeNGwhai27HFvPfz387SEcMe\/FVw5w0= root@okd4-services\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">ssh-rsa <\/span><span style=\"color: #A31515\">AAAAB3NzaC1yc2EAAAADAQABAAABgQD3U0ysRouHNtCMtzx4qeqny8kS15Mo+2KZjahlknWs8+f7Rmwmrols6dLVujjOnr0dF\/FgfDfOhpSa60ZudpLxxz56xT1UYBmU4f62nD6GqKdPhK9uy0OK9RmIWcNM\/ZpMGVU6SEV9Darj+e0IOUYXJIAimMSCrKfXJquLO1bMcdLkEaI9ESZrN9SbrKxBdMqLBCzRV1WWW8dKSeTkXm2PBrHQu3Y31FArTVWcDXPNDEiRjkKCIGAYXpmkx6bnKWCRL0s3EjB0q8TI65S81rZgEwxhkk+bxL5aOrrIK69BSJ32rTbU4DrTOS8n4XboP4Pqw6TRemaposn86FhkSQU8PAa3TnoSqzVb7Qo+\/<\/span><span style=\"color: #098658\">5<\/span><span style=\"color: #A31515\">+oDXKppgLIJLLlDkYBJmXY+PZZWIpl6lh4qYBZ7J0JISdg3OYuSt+9U9Uy4EdgLddLqnhyqqwGmtMhpmkfho+QOx+nKeH\/XV9m5bknmlCEYPqJtbQpQDklLbB+AeNGwhai27HFvPfz387SEcMe\/FVw5w0=<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">root@okd4-services<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Now edit &#8220;\/opt\/okd4\/configs\/install-config.yaml&#8221;. You will see at the end of this file a line:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"sshKey: 'ssh-ed25519 AAAA\u2026'\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">sshKey: <\/span><span style=\"color: #A31515\">&#39;ssh-ed25519 AAAA\u2026&#39;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Replace &#8216;ssh-ed25519 AAAA\u2026&#8217; with the contents of &#8220;\/root\/.ssh\/id_rsa.pub&#8221; &#8211; thus putting your own ssh key.<\/p>\n\n\n\n<p>Also look for:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"pullSecret: '{&quot;auths&quot;:{&quot;fake&quot;:{&quot;auth&quot;: &quot;bar&quot;}}}' \" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">pullSecret: <\/span><span style=\"color: #A31515\">&#39;{&quot;auths&quot;:{&quot;fake&quot;:{&quot;auth&quot;: &quot;bar&quot;}}}&#39;<\/span><span style=\"color: #000000\"> <\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Insert your pull secret you got from Red Hat earlier and replace &#8220;{&#8220;auths&#8221;:{&#8220;fake&#8221;:{&#8220;auth&#8221;: &#8220;bar&#8221;}}}&#8221;<\/p>\n\n\n\n<p>Next create a folder &#8220;\/opt\/okd4\/install_dir\/&#8221; and <strong>ensure it is empty<\/strong> &#8211; so if you are repeating this step ensure you remove all files, especially hidden files.<\/p>\n\n\n\n<p>Run the following to generate the Kubernetes manifests and ignition-configs, you may get some warnings which can be ignored:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"cd \/opt\/okd4\/install_dir\/\ncp \/opt\/okd4\/configs\/install-config.yaml \/opt\/okd4\/install_dir\/\nopenshift-install create manifests --dir=\/opt\/okd4\/install_dir\/\nopenshift-install create ignition-configs --dir=\/opt\/okd4\/install_dir\/\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #795E26\">cd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/opt\/okd4\/install_dir\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">cp <\/span><span style=\"color: #A31515\">\/opt\/okd4\/configs\/install-config.yaml<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/opt\/okd4\/install_dir\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">openshift-install <\/span><span style=\"color: #A31515\">create<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">manifests<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--dir=\/opt\/okd4\/install_dir\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">openshift-install <\/span><span style=\"color: #A31515\">create<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">ignition-configs<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--dir=\/opt\/okd4\/install_dir\/<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Copy the install folder to Apache:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"mkdir \/var\/www\/html\/okd4\ncp -R \/opt\/okd4\/install_dir\/* \/var\/www\/html\/okd4\/\nchown -R apache: \/var\/www\/html\/\nchmod -R 755 \/var\/www\/html\/\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">mkdir <\/span><span style=\"color: #A31515\">\/var\/www\/html\/okd4<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">cp <\/span><span style=\"color: #0000FF\">-R<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/opt\/okd4\/install_dir\/<\/span><span style=\"color: #0000FF\">*<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/var\/www\/html\/okd4\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">chown <\/span><span style=\"color: #0000FF\">-R<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">apache:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/var\/www\/html\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">chmod <\/span><span style=\"color: #0000FF\">-R<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">755<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/var\/www\/html\/<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Note the copying of files to Apache is recursive, this is because, for some reason, if you don&#8217;t include the sub-folder &#8220;auth&#8221; then the install of the control nodes, etc. will hang.<\/p>\n\n\n\n<p>Check it is all available by going to Apache in a browser at <a  href=\"http:\/\/192.168.205.150:8080\/okd4\/metadata.json\">http:\/\/192.168.205.150:8080\/okd4\/metadata.json<\/a><\/p>\n\n\n\n<p>This should look like:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"560\" height=\"188\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab14.jpg\" alt=\"\" class=\"wp-image-4452\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab14.jpg 560w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab14-300x101.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab14-150x50.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab14-500x168.jpg 500w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/figure>\n\n\n\n<p>Now get the bare-metal bios image and sig files. Go to <a  href=\"https:\/\/getfedora.org\/en\/coreos\/download?tab=metal_virtualized&#038;stream=stable\">https:\/\/getfedora.org\/en\/coreos\/download?tab=metal_virtualized&amp;stream=stable<\/a><\/p>\n\n\n\n<p>From here look for the Raw file download under &#8220;Bare Metal &amp; Virtualized&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"996\" height=\"911\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab17.jpg\" alt=\"\" class=\"wp-image-4457\" style=\"width:-60px;height:-54px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab17.jpg 996w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab17-300x274.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab17-150x137.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab17-768x702.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab17-328x300.jpg 328w\" sizes=\"auto, (max-width: 996px) 100vw, 996px\" \/><\/figure>\n\n\n\n<p>Download the raw file, in my case &#8220;fedora-coreos-32.20200629.3.0-metal.x86_64.raw.xz&#8221; and put that on okd4-services in the folder &#8220;\/opt\/okd4\/misc\/&#8221;.<\/p>\n\n\n\n<p>Next we need to get the signature file. For this click on the link on the same page &#8220;Verify signature &amp; SHA256&#8221;, as in the earlier screenshot. This will bring up a dialog where you should click on &#8220;signature&#8221; to download the file in my case &#8220;fedora-coreos-32.20200629.3.0-metal.x86_64.raw.xz.sig&#8221; &#8211; again save on okd4-services in the folder &#8220;\/opt\/okd4\/misc\/&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"556\" height=\"291\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab16.jpg\" alt=\"\" class=\"wp-image-4455\" style=\"width:-79px;height:-41px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab16.jpg 556w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab16-300x157.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab16-150x79.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab16-500x262.jpg 500w\" sizes=\"auto, (max-width: 556px) 100vw, 556px\" \/><\/figure>\n\n\n\n<p>Now run the following to move it to Apache:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"cd \/opt\/okd4\/misc\ncp fedora-coreos* \/var\/www\/html\/okd4\/\nchown -R apache: \/var\/www\/html\/\nchmod -R 755 \/var\/www\/html\/\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #795E26\">cd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/opt\/okd4\/misc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">cp <\/span><span style=\"color: #A31515\">fedora-coreos<\/span><span style=\"color: #0000FF\">*<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/var\/www\/html\/okd4\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">chown <\/span><span style=\"color: #0000FF\">-R<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">apache:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/var\/www\/html\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">chmod <\/span><span style=\"color: #0000FF\">-R<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">755<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/var\/www\/html\/<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h1 class=\"wp-block-heading\">OKD nodes<\/h1>\n\n\n\n<p>You need to download the Fedora CoreOS bare metal ISO. This is available on the same page that you got the raw file. As before go to <a  href=\"https:\/\/getfedora.org\/en\/coreos\/download?tab=metal_virtualized&#038;stream=stable\">https:\/\/getfedora.org\/en\/coreos\/download?tab=metal_virtualized&amp;stream=stable<\/a>, but this time download the ISO as below.<\/p>\n\n\n\n<p>Note that currently I am using Fedora 32 CoreOS. This is for multiple reasons which include a change to the default host name which is now &#8216;fedora&#8217; rather than &#8216;localhost&#8217;, this breaks DHCP assigning a hostname which further breaks other things. The Fedora 32 ISO is not visible on the site. To get the F32 version get the URL to download the latest version and change the url to use &#8220;32.20200629.3.0&#8221; &#8211; this will mean <strong>changing the url in two places<\/strong>. So in my case the file is &#8220;fedora-coreos-32.20200629.3.0-live.x86_64.iso&#8221; which is <a  href=\"https:\/\/builds.coreos.fedoraproject.org\/prod\/streams\/stable\/builds\/32.20200629.3.0\/x86_64\/fedora-coreos-32.20200629.3.0-live.x86_64.iso\">https:\/\/builds.coreos.fedoraproject.org\/prod\/streams\/stable\/builds\/32.20200629.3.0\/x86_64\/fedora-coreos-32.20200629.3.0-live.x86_64.iso<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1021\" height=\"649\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab19.jpg\" alt=\"\" class=\"wp-image-4460\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab19.jpg 1021w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab19-300x191.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab19-150x95.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab19-768x488.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab19-472x300.jpg 472w\" sizes=\"auto, (max-width: 1021px) 100vw, 1021px\" \/><\/figure>\n\n\n\n<p>Create VMs for okd4-control-plane-1, okd4-bootstrap and okd4-compute-1 using the ISO you just downloaded and sizing from the table at the top of this post. Ensure you set the network adapter to &#8220;OKD VLAN20&#8221;<\/p>\n\n\n\n<p>Start up both new VMs so we can get the MAC addresses. In my case my details were below &#8211; obviously you will get different MAC addresses:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>okd4-bootstrap<\/td><td>00:0c:29:95:bf:4b<\/td><\/tr><tr><td>okd4-control-plane-1<\/td><td>00:0c:29:d9:0a:dc<\/td><\/tr><tr><td>okd4-compute-1<\/td><td>00:0c:29:dd:a3:93<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Now you need to update the DHCP settings on okd4-services. <strong>Backup <\/strong>and edit the file &#8220;\/etc\/dhcp\/dhcpd.conf&#8221;.<\/p>\n\n\n\n<p>You will see at the bottom a section that looks like:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"Static DNS Entry for master node\n host okd4-control-plane-1 {\n   hardware ethernet 00:15:5D:3C:E3:06;\n   fixed-address 192.168.205.151;\n }\n Static DNS Entry for bootstrap nodes\n host okd4-bootstrap {\n   hardware ethernet 00:15:5D:3C:E3:05;\n   fixed-address 192.168.205.152;\n }\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">Static <\/span><span style=\"color: #A31515\">DNS<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Entry<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">for<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">master<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">node<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> host <\/span><span style=\"color: #A31515\">okd4-control-plane-<\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   hardware <\/span><span style=\"color: #A31515\">ethernet<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">00<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">15<\/span><span style=\"color: #A31515\">:5D:3C:E3:<\/span><span style=\"color: #098658\">06<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   fixed-address <\/span><span style=\"color: #A31515\">192.168.205.151<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> Static <\/span><span style=\"color: #A31515\">DNS<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Entry<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">for<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">bootstrap<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">nodes<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> host <\/span><span style=\"color: #A31515\">okd4-bootstrap<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   hardware <\/span><span style=\"color: #A31515\">ethernet<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">00<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">15<\/span><span style=\"color: #A31515\">:5D:3C:E3:<\/span><span style=\"color: #098658\">05<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">   fixed-address <\/span><span style=\"color: #A31515\">192.168.205.152<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> }<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>You need to update the &#8220;hardware ethernet&#8221; to reflect the new MAC address.<\/p>\n\n\n\n<p>Then you need to restart DHCP by running:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"systemctl restart dhcpd\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">restart<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">dhcpd<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Next restart both okd4-control-plane-1 and okd4-bootstrap and from each VM run &#8220;ifconfig&#8221; and verify they have got the correct IPs<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">okd4-bootstrap<\/h2>\n\n\n\n<p>For okd4-bootstrap you need to run the following from the VM console, you can&#8217;t ssh to the host and nor can you paste text into the VMRC:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"curl -O http:\/\/192.168.205.150:8080\/okd4\/bootstrap.ign\n sudo coreos-installer install \/dev\/sda --ignition-file .\/bootstrap.ign\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">curl <\/span><span style=\"color: #0000FF\">-O<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">http:\/\/192.168.205.150:<\/span><span style=\"color: #098658\">8080<\/span><span style=\"color: #A31515\">\/okd4\/bootstrap.ign<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> sudo <\/span><span style=\"color: #A31515\">coreos-installer<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">install<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/dev\/sda<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--ignition-file<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">.\/bootstrap.ign<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This should produce:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"722\" height=\"225\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab20.jpg\" alt=\"\" class=\"wp-image-4462\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab20.jpg 722w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab20-300x93.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab20-150x47.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab20-500x156.jpg 500w\" sizes=\"auto, (max-width: 722px) 100vw, 722px\" \/><\/figure>\n\n\n\n<p>Now power off the VM and eject the ISO and restart.<\/p>\n\n\n\n<p>If it restarts properly you should see:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"801\" height=\"420\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab21.jpg\" alt=\"\" class=\"wp-image-4463\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab21.jpg 801w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab21-300x157.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab21-150x79.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab21-768x403.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab21-500x262.jpg 500w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \/><\/figure>\n\n\n\n<p>The bootstrap node will restart once a couple of minutes after you power it up &#8211; this is expected.<\/p>\n\n\n\n<p>While it is starting you may see errors for a few minutes but these will eventually settle down. <\/p>\n\n\n\n<p>One error you might see, even once is up,  is:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"[ 1738.628935] SELinux: mount invalid.  Same superblock, different security settings for (dev mqueue, type mqueue) [ 1763.433276] SELinux: mount invalid.  Same superblock, different security settings for (dev mqueue, type mqueue)\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">[ <\/span><span style=\"color: #098658\">1738.628935<\/span><span style=\"color: #000000\">] SELinux: mount invalid.  Same superblock, different security settings <\/span><span style=\"color: #AF00DB\">for<\/span><span style=\"color: #000000\"> (dev <\/span><span style=\"color: #A31515\">mqueue,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">type<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">mqueue<\/span><span style=\"color: #000000\">) [ <\/span><span style=\"color: #098658\">1763.433276<\/span><span style=\"color: #000000\">] SELinux: mount invalid.  Same superblock, different security settings <\/span><span style=\"color: #AF00DB\">for<\/span><span style=\"color: #000000\"> (dev <\/span><span style=\"color: #A31515\">mqueue,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">type<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">mqueue<\/span><span style=\"color: #000000\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This relates to a known bug and seems unlikely to be fixed <a  href=\"https:\/\/bugzilla.redhat.com\/show_bug.cgi?id=1868057\">https:\/\/bugzilla.redhat.com\/show_bug.cgi?id=1868057<\/a>. This error will continue even once it is up.<\/p>\n\n\n\n<p>If you watch the VMware monitoring for okd4-bootstrap during it&#8217;s initial startup you will see the activity spike over a few minutes and then settle down:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"470\" height=\"353\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab44.jpg\" alt=\"\" class=\"wp-image-4542\" style=\"width:-109px;height:-82px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab44.jpg 470w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab44-300x225.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab44-150x113.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab44-399x300.jpg 399w\" sizes=\"auto, (max-width: 470px) 100vw, 470px\" \/><\/figure>\n\n\n\n<p>While you are doing okd4-bootstrap, but before you start on okd4-control-plane-1, you can run the following from okd4-services to show logging and the progress of the bootstrap:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"export KUBECONFIG=\/opt\/okd4\/install_dir\/auth\/kubeconfig\nopenshift-install --dir=\/opt\/okd4\/install_dir\/ wait-for bootstrap-complete --log-level=debug\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0000FF\">export<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">KUBECONFIG<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">\/opt\/okd4\/install_dir\/auth\/kubeconfig<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">openshift-install <\/span><span style=\"color: #0000FF\">--dir=\/opt\/okd4\/install_dir\/<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">wait-for<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">bootstrap-complete<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--log-level=debug<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p> If it works you should see:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"[root@okd4-services ~]# openshift-install --dir=\/opt\/okd4\/install_dir\/ wait-for bootstrap-complete --log-level=debug\n DEBUG OpenShift Installer 4.5.0-0.okd-2020-10-15-235428\n DEBUG Built from commit 63200c80c431b8dbaa06c0cc13282d819bd7e5f8\n INFO Waiting up to 20m0s for the Kubernetes API at https:\/\/api.lab.okd.local:6443\u2026\n INFO API v1.18.3 up\n INFO Waiting up to 40m0s for bootstrapping to complete\u2026\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">[root@okd4-services ~]# openshift-install --dir=\/opt\/okd4\/install_dir\/ wait-for bootstrap-complete --log-level=debug<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> DEBUG <\/span><span style=\"color: #A31515\">OpenShift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Installer<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">4.5.0-0.okd-<\/span><span style=\"color: #098658\">2020<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">10<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">15<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">235428<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> DEBUG <\/span><span style=\"color: #A31515\">Built<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">from<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">commit<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">63200c80c431b8dbaa06c0cc13282d819bd7e5f8<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> INFO <\/span><span style=\"color: #A31515\">Waiting<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">up<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">to<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">20m0s<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">for<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">the<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Kubernetes<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">API<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">at<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">https:\/\/api.lab.okd.local:<\/span><span style=\"color: #098658\">6443<\/span><span style=\"color: #A31515\">\u2026<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> INFO <\/span><span style=\"color: #A31515\">API<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">v1.<\/span><span style=\"color: #098658\">18.3<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">up<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> INFO <\/span><span style=\"color: #A31515\">Waiting<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">up<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">to<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">40m0s<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">for<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">bootstrapping<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">to<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">complete\u2026<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>The important thing to wait for is &#8220;INFO API v1.18.3 up&#8221;. You can now &lt;ctrl&gt;c to get out of this because it won&#8217;t be up until the control-plane is up. At least we know the bootstrap is ready<\/p>\n\n\n\n<p>If you wait for the cpu activity to die down then this should return &#8220;INFO API v1.18.3 up&#8221; straight away.<\/p>\n\n\n\n<p>Until you get the correct response don&#8217;t move to the next step because this means the bootstrap is not ready.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">okd4-control-plane-1<\/h2>\n\n\n\n<p>The steps for the control plane are almost the same except use &#8220;master.ign&#8221;. So from the console of okd4-control-plane-1 run the following:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"curl -O http:\/\/192.168.205.150:8080\/okd4\/master.ign\nsudo coreos-installer install \/dev\/sda --ignition-file .\/master.ign\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">curl <\/span><span style=\"color: #0000FF\">-O<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">http:\/\/192.168.205.150:<\/span><span style=\"color: #098658\">8080<\/span><span style=\"color: #A31515\">\/okd4\/master.ign<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">sudo <\/span><span style=\"color: #A31515\">coreos-installer<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">install<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/dev\/sda<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--ignition-file<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">.\/master.ign<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>If this goes well you should see:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"799\" height=\"165\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab27.jpg\" alt=\"\" class=\"wp-image-4476\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab27.jpg 799w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab27-300x62.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab27-150x31.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab27-768x159.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab27-500x103.jpg 500w\" sizes=\"auto, (max-width: 799px) 100vw, 799px\" \/><\/figure>\n\n\n\n<p>As before power off the VM and remove the ISO and restart.<\/p>\n\n\n\n<p>Unlike the startup for the bootstrap there may be a few errors but on the whole, if you have waited for the bootstrap to fully start, it should be pretty clean of errors and will look like:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"343\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab28-1.jpg\" alt=\"\" class=\"wp-image-4478\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab28-1.jpg 800w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab28-1-300x129.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab28-1-150x64.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab28-1-768x329.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab28-1-500x214.jpg 500w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>As before the control-plane node will restart a few minutes after you power on the node.<\/p>\n\n\n\n<p>Now run the same test you did for the bootstrap:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"openshift-install --dir=\/opt\/okd4\/install_dir\/ wait-for bootstrap-complete --log-level=debug\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">openshift-install <\/span><span style=\"color: #0000FF\">--dir=\/opt\/okd4\/install_dir\/<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">wait-for<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">bootstrap-complete<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--log-level=debug<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>If everything is working you should get the following back:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"[root@okd4-services misc]# openshift-install --dir=\/opt\/okd4\/install_dir\/ wait-for bootstrap-complete --log-level=debug\n DEBUG OpenShift Installer 4.5.0-0.okd-2020-10-15-235428\n DEBUG Built from commit 63200c80c431b8dbaa06c0cc13282d819bd7e5f8\n INFO Waiting up to 20m0s for the Kubernetes API at https:\/\/api.lab.okd.local:6443\u2026\n INFO API v1.18.3 up\n INFO Waiting up to 40m0s for bootstrapping to complete\u2026\n DEBUG Bootstrap status: complete\n INFO It is now safe to remove the bootstrap resources\n DEBUG Time elapsed per stage:\n DEBUG Bootstrap Complete: 4m46s\n INFO Time elapsed: 4m46s\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">[root@okd4-services misc]# openshift-install --dir=\/opt\/okd4\/install_dir\/ wait-for bootstrap-complete --log-level=debug<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> DEBUG <\/span><span style=\"color: #A31515\">OpenShift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Installer<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">4.5.0-0.okd-<\/span><span style=\"color: #098658\">2020<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">10<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">15<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">235428<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> DEBUG <\/span><span style=\"color: #A31515\">Built<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">from<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">commit<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">63200c80c431b8dbaa06c0cc13282d819bd7e5f8<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> INFO <\/span><span style=\"color: #A31515\">Waiting<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">up<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">to<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">20m0s<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">for<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">the<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Kubernetes<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">API<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">at<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">https:\/\/api.lab.okd.local:<\/span><span style=\"color: #098658\">6443<\/span><span style=\"color: #A31515\">\u2026<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> INFO <\/span><span style=\"color: #A31515\">API<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">v1.<\/span><span style=\"color: #098658\">18.3<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">up<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> INFO <\/span><span style=\"color: #A31515\">Waiting<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">up<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">to<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">40m0s<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">for<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">bootstrapping<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">to<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">complete\u2026<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> DEBUG <\/span><span style=\"color: #A31515\">Bootstrap<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">status:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">complete<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> INFO <\/span><span style=\"color: #A31515\">It<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">is<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">now<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">safe<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">to<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">remove<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">the<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">bootstrap<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">resources<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> DEBUG <\/span><span style=\"color: #A31515\">Time<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">elapsed<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">per<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">stage:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> DEBUG <\/span><span style=\"color: #A31515\">Bootstrap<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Complete:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">4m46s<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> INFO <\/span><span style=\"color: #A31515\">Time<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">elapsed:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">4m46s<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Next we need to check the status of the cluster, so run the following on the services node:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"export KUBECONFIG=\/opt\/okd4\/install_dir\/auth\/kubeconfig\noc whoami\noc get nodes\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0000FF\">export<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">KUBECONFIG<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">\/opt\/okd4\/install_dir\/auth\/kubeconfig<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">oc <\/span><span style=\"color: #A31515\">whoami<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">oc <\/span><span style=\"color: #A31515\">get<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">nodes<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>You should get back the following, but if you don&#8217;t give it a few minutes:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"635\" height=\"54\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab68.jpg\" alt=\"\" class=\"wp-image-4591\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab68.jpg 635w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab68-300x26.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab68-150x13.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab68-500x43.jpg 500w\" sizes=\"auto, (max-width: 635px) 100vw, 635px\" \/><\/figure>\n\n\n\n<p>Now get the cluster node details:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"oc get clusteroperators\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">oc <\/span><span style=\"color: #A31515\">get<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">clusteroperators<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This may take a while to return details but it should return:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1086\" height=\"639\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab46.jpg\" alt=\"\" class=\"wp-image-4544\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab46.jpg 1086w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab46-300x177.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab46-150x88.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab46-768x452.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab46-500x294.jpg 500w\" sizes=\"auto, (max-width: 1086px) 100vw, 1086px\" \/><\/figure>\n\n\n\n<p>You will notice that in the beginning a lot of the operators have an &#8220;AVAILABLE&#8221; status of &#8220;False&#8221;. In particular you will notice the &#8220;AVAILABLE&#8221; status of &#8220;console&#8221; is &#8220;UNKNOWN&#8221;. This means the web console is not available. Because we also have a compute node some of the operators won&#8217;t come up yet, so move to setting up the compute node.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">okd4-compute-1<\/h2>\n\n\n\n<p>Start up okd4-compute-1 and as with the other nodes run the following in the console, not <strong>the ignition file is worker.ign<\/strong>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"curl -O http:\/\/192.168.205.150:8080\/okd4\/worker.ign\nsudo coreos-installer install \/dev\/sda --ignition-file .\/worker.ign\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">curl <\/span><span style=\"color: #0000FF\">-O<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">http:\/\/192.168.205.150:<\/span><span style=\"color: #098658\">8080<\/span><span style=\"color: #A31515\">\/okd4\/worker.ign<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">sudo <\/span><span style=\"color: #A31515\">coreos-installer<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">install<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/dev\/sda<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--ignition-file<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">.\/worker.ign<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Again power off and then power on the VM<\/p>\n\n\n\n<p>The worker nodes won&#8217;t be added until it&#8217;s certificate requests are approved. Run the following:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"oc get csr -o name\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">oc <\/span><span style=\"color: #A31515\">get<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">csr<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-o<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">name<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This will initially return a couple of requests:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"510\" height=\"79\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab69.jpg\" alt=\"\" class=\"wp-image-4592\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab69.jpg 510w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab69-300x46.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab69-150x23.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab69-500x77.jpg 500w\" sizes=\"auto, (max-width: 510px) 100vw, 510px\" \/><\/figure>\n\n\n\n<p>Also if you run &#8220;oc get nodes&#8221; you will see that the compute node is not listed:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"625\" height=\"81\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab72.jpg\" alt=\"\" class=\"wp-image-4595\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab72.jpg 625w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab72-300x39.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab72-150x19.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab72-500x65.jpg 500w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/figure>\n\n\n\n<p>Give it a bit more time until the compute node seems to be up and the CPU usage has dropped down and is flat and then run the command again and you should most likely get back 3 requests:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"515\" height=\"100\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab70.jpg\" alt=\"\" class=\"wp-image-4593\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab70.jpg 515w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab70-300x58.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab70-150x29.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab70-500x97.jpg 500w\" sizes=\"auto, (max-width: 515px) 100vw, 515px\" \/><\/figure>\n\n\n\n<p>Now run the following to approve all requests, you might need to run it a couple of times:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"oc get csr -ojson | jq -r '.items[] | select(.status == {} ) | .metadata.name' | xargs oc adm certificate approve\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">oc <\/span><span style=\"color: #A31515\">get<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">csr<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-ojson<\/span><span style=\"color: #000000\"> | jq <\/span><span style=\"color: #0000FF\">-r<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">&#39;.items[] | select(.status == {} ) | .metadata.name&#39;<\/span><span style=\"color: #000000\"> | xargs <\/span><span style=\"color: #A31515\">oc<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">adm<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">certificate<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">approve<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Now check your nodes by running &#8220;oc get nodes&#8221; this should now return:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"652\" height=\"101\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab71.jpg\" alt=\"\" class=\"wp-image-4594\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab71.jpg 652w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab71-300x46.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab71-150x23.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab71-500x77.jpg 500w\" sizes=\"auto, (max-width: 652px) 100vw, 652px\" \/><\/figure>\n\n\n\n<p>If you node still hasn&#8217;t show keep checking the CSRs and repeating the steps to approve them.<\/p>\n\n\n\n<p>Take the bootstrap node out of the proxy by running the below on the services node:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"sudo sed -i '\/ okd4-bootstrap \/s\/^\/#\/' \/etc\/haproxy\/haproxy.cfg\nsystemctl reload haproxy\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">sudo <\/span><span style=\"color: #A31515\">sed<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-i<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">&#39;\/ okd4-bootstrap \/s\/^\/#\/&#39;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/etc\/haproxy\/haproxy.cfg<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">systemctl <\/span><span style=\"color: #A31515\">reload<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">haproxy<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Shutdown the okd4-bootstrap as it is no-longer needed. The best way to do this is to ssh to okd4-bootstrap, by running &#8220;ssh core@192.168.205.152&#8221; as root from the services node. Then issue:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"sudo shutdown -h now\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">sudo <\/span><span style=\"color: #A31515\">shutdown<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-h<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">now<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Again rerun &#8220;oc get clusteroperators&#8221; and you should find all the operators are up. This is because some of the operators will run on worker node.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1075\" height=\"628\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab42.jpg\" alt=\"\" class=\"wp-image-4522\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab42.jpg 1075w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab42-300x175.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab42-150x88.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab42-768x449.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab42-500x292.jpg 500w\" sizes=\"auto, (max-width: 1075px) 100vw, 1075px\" \/><\/figure>\n\n\n\n<p>You should also remove the OKD files in Apache:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"rm \/var\/www\/html\/okd4\/auth\/kubeadmin-password\nrm \/var\/www\/html\/okd4\/auth\/kubeconfig\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">rm <\/span><span style=\"color: #A31515\">\/var\/www\/html\/okd4\/auth\/kubeadmin-password<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">rm <\/span><span style=\"color: #A31515\">\/var\/www\/html\/okd4\/auth\/kubeconfig<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h1 class=\"wp-block-heading\">Login to OKD web console<\/h1>\n\n\n\n<p>You should now be able to login to the OKD web console. But first you need to get the OKD DNS server integrated into the DNS on your Windows desktop<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Enabling OKD DNS on Windows desktop<\/h2>\n\n\n\n<p>To use OKD from a Windows desktop it is almost essential that the OKD DNS be used alongside the public DNS servers.<\/p>\n\n\n\n<p>The OKD DNS server has been setup to forward to public DNS servers including Google&#8217;s 8.8.8.8 DNS server. Thus if you only used the OKD DNS server then DNS would work. The problem is if the OKD DNS comes down for some reason, as may be the case because OKD is a development instance.<\/p>\n\n\n\n<p>The answer to to define an order to DNS server with the OKD DNS being the top one.<\/p>\n\n\n\n<p><strong>Steps<\/strong><\/p>\n\n\n\n<p>From &#8220;Network and Sharing Centre&#8221; in the Control Panel select &#8220;Change adapter settings&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"569\" height=\"207\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab39.jpg\" alt=\"\" class=\"wp-image-4519\" style=\"width:-56px;height:-20px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab39.jpg 569w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab39-300x109.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab39-150x55.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab39-500x182.jpg 500w\" sizes=\"auto, (max-width: 569px) 100vw, 569px\" \/><\/figure>\n\n\n\n<p>From the resulting dialog right click on the appropriate adaptor and select &#8220;Properties&#8221;. From this properties dialog double click on &#8220;Internet Protocol Version 4 (TCP\/IPv4)&#8221;. This brings up the &#8220;Internet Protocol Version 4 (TCP\/IPv) Properties&#8221;, from this click on &#8220;Advanced&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"455\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab40.jpg\" alt=\"\" class=\"wp-image-4520\" style=\"width:-42px;height:-48px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab40.jpg 400w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab40-264x300.jpg 264w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab40-132x150.jpg 132w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/figure>\n\n\n\n<p>From the dialog, &#8220;Advanced TCP\/IP Settings&#8221; select the &#8220;DNS&#8221; tab and add the OKD DNS server at the top of the list, in my case 192.168.205.150:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"488\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab41.jpg\" alt=\"\" class=\"wp-image-4521\" style=\"width:330px;height:403px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab41.jpg 400w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab41-246x300.jpg 246w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab41-123x150.jpg 123w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/figure>\n\n\n\n<p><strong>How it works<\/strong><\/p>\n\n\n\n<p>Once this is enabled DNS calls will go to the OKD DNS and if no response is received then it will go to Google.<\/p>\n\n\n\n<p>If the OKD DNS for some reason stops responding then for next 10 minutes (based on my testing) Windows will use the Google DNS server. After that 10 minutes it will retry the OKD DNS.<\/p>\n\n\n\n<p>This means under this configuration that <strong>if you stop the OKD DNS server then you will need to wait 10 minutes, after the time you restarted the OKD DNS server, before Windows can resolve OKD names\/urls<\/strong> &#8211; <strong>be patient!<\/strong><\/p>\n\n\n\n<p>If you are having problems connecting to the OKD DNS server then please have a look at the post <a  href=\"https:\/\/www.zoyinc.com\/?p=4523\" data-type=\"post\" data-id=\"4523\">Test DNS connectivity<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Login<\/h2>\n\n\n\n<p>Login to OKD <a  href=\"https:\/\/console-openshift-console.apps.lab.okd.local\">https:\/\/console-openshift-console.apps.lab.okd.local<\/a><br>You should login as &#8220;kubeadmin&#8221;<\/p>\n\n\n\n<p>The password is the contents of the file &#8220;\/opt\/okd4\/install_dir\/auth\/kubeadmin-password&#8221; on the services node.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Finishing off tasks<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Configuring registry storage<\/h2>\n\n\n\n<p><strong>Be careful and maybe backup<\/strong><br>I say this because I had quite a bit of trouble getting this working , including trying to do it via the web console. To get to this point you have done a lot of configs and changes, you might want to consider shutting everything down and backing up the full set \ud83d\ude42<\/p>\n\n\n\n<p>This section is based on both Craigs docs and the OKD 4.5 documentation:<\/p>\n\n\n\n<p><strong>Configuring the registry for vSphere<\/strong><br><a  href=\"https:\/\/docs.openshift.com\/container-platform\/4.5\/registry\/configuring_registry_storage\/configuring-registry-storage-vsphere.html\">https:\/\/docs.openshift.com\/container-platform\/4.5\/registry\/configuring_registry_storage\/configuring-registry-storage-vsphere.html<\/a><\/p>\n\n\n\n<p>Don&#8217;t have any NFS shares mapped to Windows. When I was having lots of trouble with this one of the things I had done is mount the NFS share on my Windows 10 desktop. I removed this and rebooted my desktop prior the last successfull setup of the image registry storage. I don&#8217;t know if having it mounted was a problem, but there is a <strong>very small <\/strong>chance it was part  of the problem, maybe&#8230;.<\/p>\n\n\n\n<p>First check you don&#8217;t have a registry pod by running:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">oc get pod -n openshift-image-registry<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"773\" height=\"118\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab67.jpg\" alt=\"\" class=\"wp-image-4585\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab67.jpg 773w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab67-300x46.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab67-150x23.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab67-768x117.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab67-500x76.jpg 500w\" sizes=\"auto, (max-width: 773px) 100vw, 773px\" \/><\/figure>\n\n\n\n<p>Note above there is not an entry &#8220;image-registry&#8221;<\/p>\n\n\n\n<p>We need to create persistent storage for the registry, using the NFS share we setup earlier, and then create the registry. So run the following to create a folder for the registry:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"mkdir -p \/srv\/nfsshares\/registry\nchown -R nobody:nobody \/srv\/nfsshares\/registry\nchmod -R 2777 \/srv\/nfsshares\/registry\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">mkdir <\/span><span style=\"color: #0000FF\">-p<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/srv\/nfsshares\/registry<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">chown <\/span><span style=\"color: #0000FF\">-R<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">nobody:nobody<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/srv\/nfsshares\/registry<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">chmod <\/span><span style=\"color: #0000FF\">-R<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2777<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/srv\/nfsshares\/registry<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Now create a persistent volume:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"export KUBECONFIG=\/opt\/okd4\/install_dir\/auth\/kubeconfig\ncd \/opt\/okd4\/configs\/\noc create -f registry_pv.yaml\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0000FF\">export<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">KUBECONFIG<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">\/opt\/okd4\/install_dir\/auth\/kubeconfig<\/span><\/span>\n<span class=\"line\"><span style=\"color: #795E26\">cd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/opt\/okd4\/configs\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">oc <\/span><span style=\"color: #A31515\">create<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-f<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">registry_pv.yaml<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Now run:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{&quot;spec&quot;:{&quot;managementState&quot;:&quot;Managed&quot;}}'\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">oc <\/span><span style=\"color: #A31515\">patch<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">configs.imageregistry.operator.openshift.io<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">cluster<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--type<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">merge<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--patch<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">&#39;{&quot;spec&quot;:{&quot;managementState&quot;:&quot;Managed&quot;}}&#39;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Now we need to edit the registry configuration so run the following to open up the config in <strong>vi<\/strong>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"oc edit configs.imageregistry.operator.openshift.io\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">oc <\/span><span style=\"color: #A31515\">edit<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">configs.imageregistry.operator.openshift.io<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Look for a section:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"336\" height=\"189\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab80.jpg\" alt=\"\" class=\"wp-image-4607\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab80.jpg 336w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab80-300x169.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab80-150x84.jpg 150w\" sizes=\"auto, (max-width: 336px) 100vw, 336px\" \/><\/figure>\n\n\n\n<p>Edit this so the &#8220;{}&#8221; are removed and it looks like:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"354\" height=\"182\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab81.jpg\" alt=\"\" class=\"wp-image-4608\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab81.jpg 354w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab81-300x154.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab81-150x77.jpg 150w\" sizes=\"auto, (max-width: 354px) 100vw, 354px\" \/><\/figure>\n\n\n\n<p>Now if you look if you have a image registry pod it has an extra line:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"781\" height=\"161\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab82.jpg\" alt=\"\" class=\"wp-image-4610\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab82.jpg 781w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab82-300x62.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab82-150x31.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab82-768x158.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab82-500x103.jpg 500w\" sizes=\"auto, (max-width: 781px) 100vw, 781px\" \/><\/figure>\n\n\n\n<p>Importantly when you look at the persistent volume claims you will see that &#8220;image-registry-storage&#8221; persistent volume claim is bound to our persistent volume &#8220;registry-pv&#8221; that we created from &#8220;<\/p>\n\n\n\n<pre id=\"block-bb8c3bfd-39cf-49b3-8a65-fcdf31c91bbe\" class=\"wp-block-preformatted\">registry_pv.yaml\".<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1098\" height=\"418\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab83.jpg\" alt=\"\" class=\"wp-image-4611\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab83.jpg 1098w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab83-300x114.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab83-150x57.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab83-768x292.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab83-500x190.jpg 500w\" sizes=\"auto, (max-width: 1098px) 100vw, 1098px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Enable the Image Registry default route<\/h2>\n\n\n\n<p>By default the registry that comes with this install is not exposed so to enable the default route run the following patch:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"oc patch configs.imageregistry.operator.openshift.io\/cluster --type merge -p '{&quot;spec&quot;:{&quot;defaultRoute&quot;:true}}'\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">oc <\/span><span style=\"color: #A31515\">patch<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">configs.imageregistry.operator.openshift.io\/cluster<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--type<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">merge<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-p<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">&#39;{&quot;spec&quot;:{&quot;defaultRoute&quot;:true}}&#39;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Make control plane schedulable<\/h2>\n\n\n\n<p>We want to make it so the control plane functions as master and worker. By default if you have only a master it will be &#8220;master,worker&#8221;. However if you define workers then the control plane will only be &#8220;master&#8221;.<\/p>\n\n\n\n<p>This is how to make it schedulable and consequently run containers\/pods:<\/p>\n\n\n\n<p>Login to the web console as an admin and go to &#8220;Administration | Cluster Settings | Global Configuration&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"815\" height=\"427\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab51.jpg\" alt=\"\" class=\"wp-image-4558\" style=\"width:529px;height:276px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab51.jpg 815w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab51-300x157.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab51-150x79.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab51-768x402.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab51-500x262.jpg 500w\" sizes=\"auto, (max-width: 815px) 100vw, 815px\" \/><\/figure>\n\n\n\n<p>Then select &#8220;Scheduler&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"429\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab52.jpg\" alt=\"\" class=\"wp-image-4559\" style=\"width:513px;height:364px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab52.jpg 605w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab52-300x213.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab52-150x106.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab52-423x300.jpg 423w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/figure>\n\n\n\n<p>Select &#8220;YAML&#8221; and find a line that says &#8220;mastersSchedulable: false&#8221;, as below. Change the &#8220;false&#8221; to &#8220;true&#8221; and save<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"807\" height=\"529\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab53.jpg\" alt=\"\" class=\"wp-image-4560\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab53.jpg 807w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab53-300x197.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab53-150x98.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab53-768x503.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab53-458x300.jpg 458w\" sizes=\"auto, (max-width: 807px) 100vw, 807px\" \/><\/figure>\n\n\n\n<p>Looking in &#8220;Compute | Nodes&#8221; you will see that the control node, okd4-control-plane-1, now has a role &#8220;master,worker&#8221; &#8211; previously it was just &#8220;master&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"839\" height=\"466\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab84.jpg\" alt=\"\" class=\"wp-image-4613\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab84.jpg 839w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab84-300x167.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab84-150x83.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab84-768x427.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab84-500x278.jpg 500w\" sizes=\"auto, (max-width: 839px) 100vw, 839px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Adding HTpasswd authentication<\/h2>\n\n\n\n<p>OKD does not appear to contain a database of usernames and passwords rather you get an out of the box user &#8220;kubeadmin&#8221; as a temp admin.<\/p>\n\n\n\n<p>Beyond kubeadmin you need to specify a Identity provider, IDP, which OKD can authenticate against. The mechanisms available include &#8220;HTPasswd&#8221;, &#8220;LDAP&#8221;, &#8220;GitHub&#8221; and &#8220;Google&#8221; amongst others. Because this is a home lab setup lets go for the simplest to setup &#8220;htpasswd&#8221;.<\/p>\n\n\n\n<p>Long story short, you create a standard Apache htpasswd file and upload it to OKD. I have included an htpasswd file with the configs called &#8220;zoyinc_okd4_lab_users.htpasswd&#8221;.<\/p>\n\n\n\n<p>I created this htpasswd file on the services host as we have already installed Apache on it. I ran the following:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"cd \/opt\/okd4\/configs\/\n htpasswd -c -B -b zoyinc_okd4_lab_users.htpasswd admin cool4School\n htpasswd -B -b zoyinc_okd4_lab_users.htpasswd zoyinc 2beG8always\n htpasswd -B -b zoyinc_okd4_lab_users.htpasswd test1 37TestPlans\n htpasswd -B -b zoyinc_okd4_lab_users.htpasswd test2 37TestPlans\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #795E26\">cd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">\/opt\/okd4\/configs\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> htpasswd <\/span><span style=\"color: #0000FF\">-c<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-B<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-b<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">zoyinc_okd4_lab_users.htpasswd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">admin<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">cool4School<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> htpasswd <\/span><span style=\"color: #0000FF\">-B<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-b<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">zoyinc_okd4_lab_users.htpasswd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">zoyinc<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">2beG8always<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> htpasswd <\/span><span style=\"color: #0000FF\">-B<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-b<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">zoyinc_okd4_lab_users.htpasswd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">test1<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">37TestPlans<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> htpasswd <\/span><span style=\"color: #0000FF\">-B<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">-b<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">zoyinc_okd4_lab_users.htpasswd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">test2<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">37TestPlans<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>As you can see this created 4 test users:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>admin<\/td><td>cool4School<\/td><\/tr><tr><td>zoyinc<\/td><td>2beG8always<\/td><\/tr><tr><td>test1<\/td><td>37TestPlans<\/td><\/tr><tr><td>test2<\/td><td>37TestPlans<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>The htpasswd file only authenticates the users it does nothing in regards to those users rights or roles<\/p>\n\n\n\n<p>Login to the web console and as you did earlier go to &#8220;Administration | Cluster Settings | Global Configuration&#8221; but this time open up &#8220;OAuths&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"824\" height=\"351\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab85.jpg\" alt=\"\" class=\"wp-image-4615\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab85.jpg 824w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab85-300x128.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab85-150x64.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab85-768x327.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab85-500x213.jpg 500w\" sizes=\"auto, (max-width: 824px) 100vw, 824px\" \/><\/figure>\n\n\n\n<p>From here, at the bottom from &#8220;Identity Providers&#8221; click on the &#8220;Add&#8221; dropdown:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"925\" height=\"781\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab54.jpg\" alt=\"\" class=\"wp-image-4561\" style=\"width:521px;height:439px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab54.jpg 925w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab54-300x253.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab54-150x127.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab54-768x648.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab54-355x300.jpg 355w\" sizes=\"auto, (max-width: 925px) 100vw, 925px\" \/><\/figure>\n\n\n\n<p>Select your htpasswd file or the one I provided and click on &#8220;Add&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"482\" height=\"359\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab55.jpg\" alt=\"\" class=\"wp-image-4562\" style=\"width:412px;height:307px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab55.jpg 482w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab55-300x223.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab55-150x112.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab55-403x300.jpg 403w\" sizes=\"auto, (max-width: 482px) 100vw, 482px\" \/><\/figure>\n\n\n\n<p>Open up a new browser in a private window, or cognito with Chrome, and from the login screen <strong>ensure you select &#8220;htpasswd&#8221;<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"571\" height=\"375\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab56.jpg\" alt=\"\" class=\"wp-image-4563\" style=\"width:411px;height:270px\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab56.jpg 571w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab56-300x197.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab56-150x99.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab56-457x300.jpg 457w\" sizes=\"auto, (max-width: 571px) 100vw, 571px\" \/><\/figure>\n\n\n\n<p>Login with one of the test users in your htpasswd file &#8211; for me I logged in as &#8220;admin&#8221;<\/p>\n\n\n\n<p>At this point you will be able to login but you won&#8217;t see anything:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1107\" height=\"387\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab57.jpg\" alt=\"\" class=\"wp-image-4565\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab57.jpg 1107w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab57-300x105.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab57-150x52.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab57-768x268.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab57-500x175.jpg 500w\" sizes=\"auto, (max-width: 1107px) 100vw, 1107px\" \/><\/figure>\n\n\n\n<p>You will also see the user now shows up under &#8220;User Management&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"779\" height=\"391\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab58.jpg\" alt=\"\" class=\"wp-image-4566\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab58.jpg 779w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab58-300x151.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab58-150x75.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab58-768x385.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab58-500x251.jpg 500w\" sizes=\"auto, (max-width: 779px) 100vw, 779px\" \/><\/figure>\n\n\n\n<p>From &#8220;User Management | Groups&#8221; click on &#8220;Create Group&#8221; and create one that looks like:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"apiVersion: user.openshift.io\/v1\nkind: Group\nmetadata:\n  name: okd 4 lab administrators\nusers:\n  - admin\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">apiVersion: <\/span><span style=\"color: #A31515\">user.openshift.io\/v1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">kind: <\/span><span style=\"color: #A31515\">Group<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">metadata:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  name: <\/span><span style=\"color: #A31515\">okd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">4<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">lab<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">administrators<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">users:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  - <\/span><span style=\"color: #A31515\">admin<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Note all names should be in lower case. This is because while caps is allowed in other places it will do a &#8220;.lower()&#8221;, so it is just easier to keep everything lower case.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"704\" height=\"483\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab86.jpg\" alt=\"\" class=\"wp-image-4617\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab86.jpg 704w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab86-300x206.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab86-150x103.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab86-437x300.jpg 437w\" sizes=\"auto, (max-width: 704px) 100vw, 704px\" \/><\/figure>\n\n\n\n<p>The &#8220;name&#8221; is completely arbitrary and under &#8220;users&#8221; is our user &#8220;admin&#8221;. Click on &#8220;Create to create the group&#8221;.<\/p>\n\n\n\n<p>Now we need to bind it to a role so select Role Bindings<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"560\" height=\"741\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab88.jpg\" alt=\"\" class=\"wp-image-4620\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab88.jpg 560w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab88-227x300.jpg 227w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab88-113x150.jpg 113w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/figure>\n\n\n\n<p>Note the role, for the admin user, should probably be &#8220;<strong>cluster<\/strong> admin&#8221;<\/p>\n\n\n\n<p>Also create a binding called admin-rb because just assigning &#8220;cluster admin&#8221; seems to miss out some pieces of functionality<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"522\" height=\"672\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab89.jpg\" alt=\"\" class=\"wp-image-4621\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab89.jpg 522w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab89-233x300.jpg 233w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab89-117x150.jpg 117w\" sizes=\"auto, (max-width: 522px) 100vw, 522px\" \/><\/figure>\n\n\n\n<p>Now create a new group for basic developer rights, follow the same steps you did for admins. The YAML should look like:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"apiVersion: user.openshift.io\/v1\nkind: Group\nmetadata:\n  name: okd 4 lab developers\nusers:\n  - zoyinc\n  - test1\n  - test2\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">apiVersion: <\/span><span style=\"color: #A31515\">user.openshift.io\/v1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">kind: <\/span><span style=\"color: #A31515\">Group<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">metadata:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  name: <\/span><span style=\"color: #A31515\">okd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">4<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">lab<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">developers<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">users:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  - <\/span><span style=\"color: #A31515\">zoyinc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  - <\/span><span style=\"color: #A31515\">test1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  - <\/span><span style=\"color: #A31515\">test2<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Now create a role binding in a similar way you did for admin:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"547\" height=\"729\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab90.jpg\" alt=\"\" class=\"wp-image-4627\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab90.jpg 547w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab90-225x300.jpg 225w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab90-113x150.jpg 113w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Not upgradable<\/h1>\n\n\n\n<p>I was very keen to get 4.6 working and as I mentioned this didn&#8217;t work very well as a clean install. I was then thinking to install 4.5 and upgrade to 4.6. I was heartened to see:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"790\" height=\"521\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab77.jpg\" alt=\"\" class=\"wp-image-4601\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab77.jpg 790w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab77-300x198.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab77-150x99.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab77-768x506.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab77-455x300.jpg 455w\" sizes=\"auto, (max-width: 790px) 100vw, 790px\" \/><\/figure>\n\n\n\n<p>The long story short is the single node installs are not upgradeable. I believe with a standard setup it upgrades one master and then another and this is not possible with a single node setup.<\/p>\n\n\n\n<p>When you go through the process to upgrade you eventually get the bad news:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"813\" height=\"346\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab78.jpg\" alt=\"\" class=\"wp-image-4602\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab78.jpg 813w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab78-300x128.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab78-150x64.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab78-768x327.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab78-500x213.jpg 500w\" sizes=\"auto, (max-width: 813px) 100vw, 813px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Post install options<\/h1>\n\n\n\n<p>Some possible post deployment things you could do:<\/p>\n\n\n\n<p><a  href=\"https:\/\/www.zoyinc.com\/?p=4628\" data-type=\"post\" data-id=\"4628\">Add catalog sources to OperatorHub<\/a><br>This describes enabling all of the Red Hat OperatorHub sources. It also describes adding a new source, OperatorHub.io.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Troubleshooting etc.<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">SSH to nodes<\/h2>\n\n\n\n<p>It is really helpful to be able to login to the services, bootstrap and control plane nodes for diagnostic purposes.<\/p>\n\n\n\n<p>For the services node, since it is a regular Fedora server you can just ssh as normal. For the other nodes that are created via OKD it is slightly trickier.<\/p>\n\n\n\n<p>When you modified &#8220;install-config.yaml&#8221; to include an ssh public key this was replicated to the bootstrap and control plan nodes. The default user for these nodes is &#8220;core&#8221; and dhen you deploy the cluster, the key is added to the <code>core<\/code> user\u2019s <code>~\/.ssh\/authorized_keys<\/code> list.<\/p>\n\n\n\n<p>The result is that for my setup, because I did everything as root, you can login to the services host as root and then ssh to the bootstrap using:<\/p>\n\n\n\n<p>ssh core@192.168.205.152<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Shutting down nodes<\/h2>\n\n\n\n<p>In most cases the easiest way to shutodown nodes is to ssh to the node as described above and then run:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo shutdown -h now<\/pre>\n\n\n\n<p>Also see <strong>Red Hat<\/strong>: <a  href=\"https:\/\/www.redhat.com\/en\/blog\/how-stop-and-start-production-openshift-cluster\">How To: Stop and start a production OpenShift Cluster<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Get bootstrap logs<\/h2>\n\n\n\n<p>From the services VM you can run the following to download the logs from both the bootstrap and control-plane nodes:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"openshift-install gather bootstrap --bootstrap 192.168.205.152 --master 192.168.205.151\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">openshift-install <\/span><span style=\"color: #A31515\">gather<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">bootstrap<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--bootstrap<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">192.168.205.152<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--master<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">192.168.205.151<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>You can see in the above that you need to specify the bootstrap and control-plane\/master nodes. For more details on options run:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"openshift-install gather bootstrap --help\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">openshift-install <\/span><span style=\"color: #A31515\">gather<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">bootstrap<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">--help<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>When it completes you should get:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"[root@okd4-services misc]# openshift-install gather bootstrap --bootstrap 192.168.205.152 --master 192.168.205.151\n INFO Pulling debug logs from the bootstrap machine\n INFO Bootstrap gather logs captured here &quot;\/opt\/okd4\/misc\/log-bundle-20210106145707.tar.gz&quot;\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">[root@okd4-services misc]# openshift-install gather bootstrap --bootstrap 192.168.205.152 --master 192.168.205.151<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> INFO <\/span><span style=\"color: #A31515\">Pulling<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">debug<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">logs<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">from<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">the<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">bootstrap<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">machine<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\"> INFO <\/span><span style=\"color: #A31515\">Bootstrap<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">gather<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">logs<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">captured<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">here<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">&quot;\/opt\/okd4\/misc\/log-bundle-20210106145707.tar.gz&quot;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>The resultant zip file is on the services VM. When you extract the gzip file it will look like:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"998\" height=\"767\" src=\"https:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab38.jpg\" alt=\"\" class=\"wp-image-4507\" srcset=\"http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab38.jpg 998w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab38-300x231.jpg 300w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab38-150x115.jpg 150w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab38-768x590.jpg 768w, http:\/\/www.zoyinc.com\/wp-content\/uploads\/2021\/01\/OKD46SmallHomeLab38-390x300.jpg 390w\" sizes=\"auto, (max-width: 998px) 100vw, 998px\" \/><\/figure>\n\n\n\n<p>If you think that is an overwhelming list of log files, then I completely agree with you. I really struggled to find where to look. So, for example, when I was trying to figure out what was going on when I was trying to diagnose the below error: <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"openshift-samples import error:\n  Cluster operator openshift-samples Degraded is True with FailedImageImports: Samples installed at 4.5.0-0.okd-2020-10-15-235428, with image import failures for these imagestreams: nodejs jboss-eap64-openshift redhat-sso70-openshift jboss-fuse70-console mysql redhat-sso71-openshift dotnet-runtime jboss-amq-63 fuse-apicurito-generator dotnet jboss-webserver31-tomcat7-openshift jboss-datagrid65-openshift jboss-fuse70-karaf-openshift openjdk-8-rhel8 jboss-datagrid73-openshift apicurito-ui sso74-openshift-rhel8 jboss-decisionserver64-openshift ruby jboss-fuse70-java-openshift openjdk-11-rhel8 fuse7-java-openshift jboss-webserver30-tomcat7-openshift rhdm-kieserver-rhel8 redis java eap-cd-runtime-openshift openjdk-11-rhel7 rhpam-businesscentral-rhel8 mariadb redhat-sso72-openshift fis-java-openshift fuse7-eap-openshift golang jboss-fuse70-eap-openshift apicast-gateway fuse7-console rhdm-decisioncentral-rhel8 jboss-datagrid72-openshift jboss-datagrid71-openshift fuse7-karaf-openshift httpd python mongodb rhpam-kieserver-rhel8 jboss-webserver31-tomcat8-openshift jboss-datagrid65-client-openshift rhpam-businesscentral-monitoring-rhel8 jboss-eap71-openshift jboss-eap70-openshift perl postgresql nginx fis-karaf-openshift redhat-sso73-openshift jboss-eap72-openshift redhat-openjdk18-openshift jboss-datavirt64-driver-openshift jboss-webserver30-tomcat8-openshift rhpam-smartrouter-rhel8 eap-cd-openshift jboss-processserver64-openshift jboss-webserver50-tomcat9-openshift jboss-datagrid71-client-openshift jboss-amq-62 jboss-datavirt64-openshift php ; last import attempt 2021-01-06 01:48:04 +0000 UTC\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">openshift-samples <\/span><span style=\"color: #A31515\">import<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">error:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  Cluster <\/span><span style=\"color: #A31515\">operator<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">openshift-samples<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Degraded<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">is<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">True<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">with<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">FailedImageImports:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">Samples<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">installed<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">at<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">4.5.0-0.okd-<\/span><span style=\"color: #098658\">2020<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">10<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">15<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">235428<\/span><span style=\"color: #A31515\">,<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">with<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">image<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">import<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">failures<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">for<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">these<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">imagestreams:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">nodejs<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-eap64-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">redhat-sso70-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-fuse70-console<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">mysql<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">redhat-sso71-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">dotnet-runtime<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-amq-<\/span><span style=\"color: #098658\">63<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">fuse-apicurito-generator<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">dotnet<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-webserver31-tomcat7-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-datagrid65-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-fuse70-karaf-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">openjdk-<\/span><span style=\"color: #098658\">8<\/span><span style=\"color: #A31515\">-rhel8<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-datagrid73-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">apicurito-ui<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">sso74-openshift-rhel8<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-decisionserver64-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">ruby<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-fuse70-java-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">openjdk-<\/span><span style=\"color: #098658\">11<\/span><span style=\"color: #A31515\">-rhel8<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">fuse7-java-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-webserver30-tomcat7-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">rhdm-kieserver-rhel8<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">redis<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">java<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">eap-cd-runtime-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">openjdk-<\/span><span style=\"color: #098658\">11<\/span><span style=\"color: #A31515\">-rhel7<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">rhpam-businesscentral-rhel8<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">mariadb<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">redhat-sso72-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">fis-java-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">fuse7-eap-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">golang<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-fuse70-eap-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">apicast-gateway<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">fuse7-console<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">rhdm-decisioncentral-rhel8<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-datagrid72-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-datagrid71-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">fuse7-karaf-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">httpd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">python<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">mongodb<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">rhpam-kieserver-rhel8<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-webserver31-tomcat8-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-datagrid65-client-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">rhpam-businesscentral-monitoring-rhel8<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-eap71-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-eap70-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">perl<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">postgresql<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">nginx<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">fis-karaf-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">redhat-sso73-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-eap72-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">redhat-openjdk18-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-datavirt64-driver-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-webserver30-tomcat8-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">rhpam-smartrouter-rhel8<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">eap-cd-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-processserver64-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-webserver50-tomcat9-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-datagrid71-client-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-amq-<\/span><span style=\"color: #098658\">62<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">jboss-datavirt64-openshift<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">php<\/span><span style=\"color: #000000\"> ; last <\/span><span style=\"color: #A31515\">import<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">attempt<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">2021<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">01<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #098658\">06<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #098658\">01<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">48<\/span><span style=\"color: #A31515\">:<\/span><span style=\"color: #098658\">04<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">+<\/span><span style=\"color: #098658\">0000<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">UTC<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>I took one of the images, &#8220;jboss-fuse70-console&#8221;, and greped the entire bootstrap log files for it. This brought back a number of hits and from that I could see what the problem was.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Date time problems &#8211; NTP and DNS<\/h2>\n\n\n\n<p>You can find yourself in a weird catch 22 space if your date\/time is well out.<\/p>\n\n\n\n<p>It seems the DNS forwarders I use, aka Google 8.8.8.8, don&#8217;t respond if your date is significantly out.<\/p>\n\n\n\n<p>Additionally in your NTP settings, in &#8220;\/etc\/chrony.conf&#8221;, you would typically specify the NTP servers using DNS names similarly to:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:0.9rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#000000;--cbp-line-number-width:calc(1 * 0.6 * 0.9rem);line-height:1.4rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"server 0.pool.ntp.org\nserver 1.pool.ntp.org\nserver 2.pool.ntp.org\nserver 3.pool.ntp.org\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">server <\/span><span style=\"color: #A31515\">0.pool.ntp.org<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">server <\/span><span style=\"color: #A31515\">1.pool.ntp.org<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">server <\/span><span style=\"color: #A31515\">2.pool.ntp.org<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">server <\/span><span style=\"color: #A31515\">3.pool.ntp.org<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Thus you have a vicious circle because to get the correct time from a NTP server you need to resolve the DNS names but that doesn&#8217;t work because the time is significantly out.<\/p>\n\n\n\n<p>To fix this you could set the date manually or include a static IP in the list of &#8220;server&#8221; in the chrony.conf file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Useful URLs<\/h2>\n\n\n\n<p><strong>Troubleshooting Bootstrap Failures<\/strong><br><a  href=\"https:\/\/github.com\/openshift\/installer\/blob\/master\/docs\/user\/troubleshootingbootstrap.md\">https:\/\/github.com\/openshift\/installer\/blob\/master\/docs\/user\/troubleshootingbootstrap.md<\/a><\/p>\n\n\n\n<p>Unfortunately, there will always be some cases where OpenShift fails to install properly. In these events, it is helpful to understand the likely failure modes as well as how to troubleshoot the failure.<\/p>\n\n\n\n<p><strong>OKD 4.5 Single Node Cluster on Windows 10 using Hyper-V<\/strong><br><a  href=\"https:\/\/laptrinhx.com\/okd-4-5-single-node-cluster-on-windows-10-using-hyper-v-3721419958\/\">https:\/\/laptrinhx.com\/okd-4-5-single-node-cluster-on-windows-10-using-hyper-v-3721419958\/<\/a><\/p>\n\n\n\n<p>Craig Robinson&#8217;s much read and linked to, guide to installing a 4.5 cluster. This post is based firstly on this version, for Windows, which I massaged to used for ESX before I discovered he had one for ESX also. Great work and thanks Craig.<\/p>\n\n\n\n<p><strong>Guide: OKD 4.5 Single Node Cluster (ESXi)<\/strong><br><a  href=\"https:\/\/medium.com\/swlh\/guide-okd-4-5-single-node-cluster-832693cb752b\">https:\/\/medium.com\/swlh\/guide-okd-4-5-single-node-cluster-832693cb752b<\/a><\/p>\n\n\n\n<p>From Craig Robinson:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>After listening to some feedback in the chat on a recent <a  href=\"https:\/\/youtu.be\/qh1zYW7BLxE?t=199\">Twitch stream<\/a> and the okd-wg mailing list I decided to create a guide for installing an OKD 4.5 SNC (single node cluster). This guide will use no worker nodes and only a single control-plane node with the goal of reducing the total amount of resources needed to get OKD up and running for a test drive.<\/p>\n<\/blockquote>\n\n\n\n<p><strong>Deploying Openshift\/OKD 4.5 on Proxmox VE Homelab (Ross Brigoli)<\/strong><br><a  href=\"https:\/\/blog.rossbrigoli.com\/2020\/11\/running-openshift-at-home-part-44.html\">https:\/\/blog.rossbrigoli.com\/2020\/11\/running-openshift-at-home-part-44.html<\/a><\/p>\n\n\n\n<p>A really good set of instructions, very similar in nature to Craigs but this guy has included pages about his impressive hardware setup. I suspect the guides are similar because the process is somewhat standard, maybe.<\/p>\n\n\n\n<p><strong>Frequently Asked Questions (OKD)<\/strong><br><a  href=\"https:\/\/github.com\/openshift\/okd\/blob\/master\/FAQ.md#can-i-run-a-single-node-cluster\">https:\/\/github.com\/openshift\/okd\/blob\/master\/FAQ.md#can-i-run-a-single-node-cluster<\/a><\/p>\n\n\n\n<p>OKD frequently asked questions<\/p>\n\n\n\n<p><strong>Sample install-config.yaml file for bare meta<\/strong>l<br><a  href=\"https:\/\/docs.okd.io\/latest\/installing\/installing_bare_metal\/installing-bare-metal.html#installation-bare-metal-config-yaml_installing-bare-metal\">https:\/\/docs.okd.io\/latest\/installing\/installing_bare_metal\/installing-bare-metal.html#installation-bare-metal-config-yaml_installing-bare-metal<\/a><\/p>\n\n\n\n<p>This describes the install-config.yaml file and describes what each property is for.<\/p>\n\n\n\n<p><strong>OKD 4 Single Node Cluster<\/strong><br><a  href=\"https:\/\/cgruver.github.io\/okd4-single-node-cluster\/\">https:\/\/cgruver.github.io\/okd4-single-node-cluster\/<\/a><\/p>\n\n\n\n<p>This is a guide about &#8220;Building an OKD4 single node cluster with minimal resources&#8221;. It is by Charro Gruver, aka &#8220;cgruver&#8221;. It is completely different to Craig Robinson&#8217;s guide, though they are tackling the same task so lots of cross-over. This has automation shell script that allow for custom setup.<\/p>\n\n\n\n<p>OKD 4 Web Console: Accessing the web console<br><a  href=\"https:\/\/docs.okd.io\/latest\/web_console\/web-console.html\">https:\/\/docs.okd.io\/latest\/web_console\/web-console.html<\/a><\/p>\n\n\n\n<p>OKD4.9: Preparing to install on a single node<br><a  href=\"https:\/\/docs.openshift.com\/container-platform\/4.9\/installing\/installing_sno\/install-sno-preparing-to-install-sno.html\">https:\/\/docs.openshift.com\/container-platform\/4.9\/installing\/installing_sno\/install-sno-preparing-to-install-sno.html<\/a><\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>I needed to create a small OKD\/OpenShift setup so I could play around with it and get comfortable with using it, developing on it and administering it. Additionally I wanted it to be somewhat similar in setup to what we do at work. This was originally based on the excellent post by Craig Robinson, but [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":5483,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[796,677,552],"tags":[724,682,410,703,296,558,704,725,679,678,94,308],"class_list":["post-4420","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-home-page","category-openshift-okd","category-redhat","tag-4-5","tag-cluster","tag-configuration","tag-containers","tag-fedora","tag-install","tag-kubernetes","tag-mini","tag-okd","tag-openshift","tag-setup","tag-vmware"],"_links":{"self":[{"href":"http:\/\/www.zoyinc.com\/index.php?rest_route=\/wp\/v2\/posts\/4420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.zoyinc.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.zoyinc.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.zoyinc.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.zoyinc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4420"}],"version-history":[{"count":108,"href":"http:\/\/www.zoyinc.com\/index.php?rest_route=\/wp\/v2\/posts\/4420\/revisions"}],"predecessor-version":[{"id":5816,"href":"http:\/\/www.zoyinc.com\/index.php?rest_route=\/wp\/v2\/posts\/4420\/revisions\/5816"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.zoyinc.com\/index.php?rest_route=\/wp\/v2\/media\/5483"}],"wp:attachment":[{"href":"http:\/\/www.zoyinc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.zoyinc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4420"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.zoyinc.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}