Search code examples
openshiftokd

OKD 4.9 single node installation


I am trying to follow the official documentation on how to install a single node OKD 4.9 cluster from these links:

Here is my network topology:

Here is the pfsense DHCP configuration that makes all the hosts have static IP addresses:

Here is the pfsence DNS configuration:

Here is my install-config.yaml:

apiVersion: v1
baseDomain: lan
compute:
- name: worker
  replicas: 0
controlPlane:
  name: master
  replicas: 1
metadata:
  name: okd
networking:
  networkType: OVNKubernetes
  clusterNetwork:
  - cidr: 192.168.222.0/24
    hostPrefix: 24
  serviceNetwork:
  - 172.30.0.0/16
platform:
  none: {}
BootstrapInPlace:
  InstallationDisk: /dev/sda
pullSecret: '{"auths":{"fake":{"auth": "bar"}}}'
sshKey: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDMkC4l/XYNdhPv1yp1boHACNWEde/QdWRPBKzqepHXI93n70kzqrbXEG8dmRRrSYifvvoLa8+3speBrDmuiuUcXCCXrhWWExCTzVcxjL/MeRxK8XSXmmT39DVF+lQbpS0zfv2wA7cr5Hy894nyI3k2UD1awjGD3S2cnfHFrowwRXh1SAPJZy3H4wvC2+Ff0VaLe0Z3j+HBnFsVshdhQRxybccnLR8101+kVbeCgslF+QoNSKCreU/y3OZ1fU34ft0chWy/Kr8IjFPcCR2jRbc/L1IZd8QI4/ujOLUiNe4uW8CLD3JRKCHkttx5oLVQqxxLsDhdsdmCq9Z6uu/t1pL+uxt+Aab/wy/lpEuzmbVrPz3Fg1bNNSpm5ul8Zwql02bqu3QFzOjhI4r/ua/f36RASa+Ij9deYl8BrzFz0uXGiwMoEJlhAahu/MhfuABBUIg8g/dS4dkEU9cSelipWynDvz95MkvWED5fzRWTSUpkZWsXM87UJ0Ty8yor7diAyK0= [email protected]'

When i start the okd-master machine with the discovery ISO and run ./openshift-install --dir=ocp wait-for install-complete on the okd-admin node i get the following error:

E0201 01:30:03.627445    5642 reflector.go:138] k8s.io/client-go/tools/watch/informerwatcher.go:146: Failed to watch *v1.ClusterVersion: failed to list *v1.ClusterVersion: Get "https://api.okd.lan:6443/apis/config.openshift.io/v1/clusterversions?fieldSelector=metadata.name%3Dversion&limit=500&resourceVersion=0": dial tcp 192.168.222.2:6443: connect: connection refused

From what I can see from the error message the api.okd.lan domain name has been correctly resolved to 192.168.222.2. But there is nothing listening on port 6443 on the okd-master node. I don't understand what is going on.


Update

I made this Dockerfile to quickly generate new ISO-s for testing:

FROM fedora

ENV OKD_VERSION="4.9.0-0.okd-2022-01-29-035536"

RUN dnf install -y wget coreos-installer
RUN cd /home && \
    wget https://github.com/openshift/okd/releases/download/$OKD_VERSION/openshift-client-linux-$OKD_VERSION.tar.gz -O oc.tar.gz && \
    tar zxf oc.tar.gz && \
    chmod +x oc
RUN cd /home && \
    wget https://github.com/openshift/okd/releases/download/$OKD_VERSION/openshift-install-linux-$OKD_VERSION.tar.gz -O openshift-install-linux.tar.gz && \
    tar zxvf openshift-install-linux.tar.gz && \
    chmod +x openshift-install
RUN cd /home && \
    ISO_URL=$(./openshift-install coreos print-stream-json | grep location | grep x86_64 | grep iso | cut -d\" -f4) && \
    wget $ISO_URL -O fcos-live.x86_64.iso
COPY install-config.yaml /home/ocp/install-config.yaml
RUN cd /home && \
    ./openshift-install --dir=ocp create single-node-ignition-config
RUN cd /home && \
    cp ocp/bootstrap-in-place-for-live-iso.ign iso.ign && \
    coreos-installer iso ignition embed -fi iso.ign fcos-live.x86_64.iso

This script generates the ISO for me:

@echo off
docker build -t okd-iso-maker .
docker run --name okd-iso-maker odk-iso-maker
docker stop okd-iso-maker
docker cp odk-iso-maker:/home/fcos-live.x86_64.iso ./fcos-live.x86_64.iso
echo ISO generation complete!
pause

I figured out how to SSH into okd-master and check the logs. Running journalctl -u bootkube.service I got these logs.


Solution

  • Seems like these 2 documentation links are a lie:

    According to these 2 issues:

    OKD does not support "installation with Assisted Installer" and these links are "installation with Assisted Installer". Nice waste of time.