OKD SNC

Create install directory

mkdir ./okd-install && cd ./okd-install

Set version

https://github.com/openshift/okd/releases OKD_VERSION=4.10.0-0.okd-2022-05-07-021833

OC utils

wget https://github.com/openshift/okd/releases/download/$OKD_VERSION/openshift-client-linux-$OKD_VERSION.tar.gz
tar zxf openshift-client-linux-$OKD_VERSION.tar.gz

openshift-install

curl https://github.com/openshift/okd/releases/download/$OKD_VERSION/openshift-install-linux-$OKD_VERSION.tar.gz
tar zxvf openshift-install-linux-$OKD_VERSION.tar.gz

FCOS ISO

ISO_URL=$(./openshift-install coreos print-stream-json | grep location | grep x86_64 | grep iso | cut -d\" -f4)
curl $ISO_URL > fcos-live.x86_64.iso

install-config

cat <<EOF> ./install-config.yaml
apiVersion: v1
baseDomain: <domain>
compute:
- name: worker
  replicas: 0
controlPlane:
  name: master
  replicas: 1
metadata:
  name: <name>
networking:
  networkType: OVNKubernetes
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23 
  serviceNetwork:
  - 172.30.0.0/16
platform:
  none: {}
bootstrapInPlace:
  installationDisk: <path_to_install_drive> 
pullSecret: '{"auths":{"fake":{"auth":"aWQ6cGFzcwo="}}}'
sshKey: |
  <ssh_key>
EOF

Edit install-config.yaml

ignition files

mkdir okd
cp install-config.yaml okd
./openshift-install --dir=okd create single-node-ignition-config

coreos installer

alias coreos-installer='podman run --privileged --rm \
        -v /dev:/dev -v /run/udev:/run/udev -v $PWD:/data \
        -w /data quay.io/coreos/coreos-installer:release'
cp okd/bootstrap-in-place-for-live-iso.ign iso.ign
coreos-installer iso ignition embed -fi iso.ign fcos-live.x86_64.iso

Boot OCP SNC host with with fccos-live.x86_64.iso

monitor install

export KUBECONFIG=ocp/auth/kubeconfig
watch oc get co