This PoC will:
- Install vanilla RHCOS to disk
- Mount the installation disk
- Create shared /var/lib/containers directory
- Restore SNO present in SEED_IMAGE
- Use LifeCycle Agent binary to perform the restoration
- Add example configuration files/certs so we can have a working full run
- Embed pull-secret for downloading the seed image
- Define a few environment variables:
export SEED_IMAGE=quay.io/whatever/ostbackup:seed
export SEED_VERSION=version_matching_seed_version
export PULL_SECRET=$(jq -c . /path/to/my/pull-secret.json)
export BACKUP_SECRET=$(jq -c . /path/to/my/repo/credentials.json)
# Optional variables
export SSH_KEY_PUB_PATH=~/.ssh/id_rsa.pub
export LCA_IMAGE=quay.io/customized/lca_image:your_tag
export IBI_INSTALLATION_DISK=/dev/vda
- Prepare a coreos live iso with a custom ignition
make ibi-iso
- Provision VM
make ibi-vm
- Check progress
make ibi-logs
wait until the installation is complete (this step takes about a minute):
Jan 01 08:12:18 ibi install-rhcos-and-restore-seed.sh[4523]: ----------------------------------------------------------------------------------------
Jan 01 08:12:18 ibi install-rhcos-and-restore-seed.sh[1589]: DONE. Be sure to attach the relocation site info to the host and you can reboot the node
Jan 01 08:12:18 ibi install-rhcos-and-restore-seed.sh[4525]: ----------------------------------------------------------------------------------------
Jan 01 08:12:18 ibi systemd[1]: Finished SNO Image Based Installation.
- Generate the configuration ISO and attach it to the VM
make ibi-config.iso
make ibi-attach-config.iso
after generating the ibi-config.iso you can find the kubeconfig for the installation under kubeconfig.ibi
- Reboot VM
make ibi-reboot
After few minutes your cluster should be ready.
- Use oc to query the API:
[coreos-installer]# oc --kubeconfig kubeconfig.ibi get node
NAME STATUS ROLES AGE VERSION
ibi Ready control-plane,master,worker 15m v1.27.8+4fab27b