This guide documents the complete setup of OKD (The Community Distribution of Kubernetes that powers Red Hat OpenShift) as a Single Node Operator (SNO) cluster on a virtual machine hosted by Proxmox VE.
Prerequisites
-
Proxmox Testbed with [ AMD-V) enabled in the BIOS/UEFI.
-
Sufficient Resources:
- CPU: Minimum 8 vCPUs recommended for SNO.
- RAM: Minimum 32GB RAM recommended for SNO.
- Storage: Minimum 120GB-150GB fast storage (SSD/NVMe) for the OKD VM.
-
Administrative Machine (Client): A Linux machine (e.g., Ubuntu, Fedora) to run openshift-install, oc, podman, and other client tools. This will be referred to as your “Admin Client Machine”.
-
Red Hat Pull Secret: Obtain a pull secret from Red Hat OpenShift Cluster Manager (a free Red Hat developer account is sufficient). This is needed for some certified operators and images.
-
An SSH public key
-
Admin access to the local DNS with reverse DNS (examples for bind9)
Phase 1: Preparation on Admin Client Machine
All commands in this phase are executed on your Admin Client Machine (Disk: 20G; RAM: 8G; CPU: 2 cores).
- OS: Ubuntu 24.04
- IP: 192.168.1.50/24
- Gateway: 192.168.1.5
- PowerDNS:
- DNS Domain: okd.admin.testbed.com
- DNS Servers: 192.168.1.23
Set Environment Variables
Define the OKD version and architecture for consistency.
export OKD_VERSION=4.20.0-okd-scos.13 # Check for the latest stable SCOS release
export ARCH=x86_64DNS
Forward DNS definitions
; OKD
haproxy IN A 192.168.88.8
helper IN A 192.168.88.8
helper.okd IN A 192.168.88.8
api.okd IN A 192.168.88.8
api-int.okd IN A 192.168.88.8
*.apps.okd IN A 192.168.88.8
bootstrap.okd IN A 192.168.88.12
master0.okd IN A 192.168.88.9
master1.okd IN A 192.168.88.10
master2.okd IN A 192.168.88.11Reverse DNS
; okd
8 IN PTR haproxy.yanboyang.com.
8 IN PTR helper.yanboyang.com.
8 IN PTR helper.okd.yanboyang.com.
8 IN PTR api.okd.yanboyang.com.
8 IN PTR api-int.okd.yanboyang.com.
12 IN PTR bootstrap.okd.yanboyang.com.
9 IN PTR master0.okd.yanboyang.com.
10 IN PTR master1.okd.yanboyang.com.
11 IN PTR master2.okd.yanboyang.com.Reference List
- https://github.com/gardart/okd-proxmox-scripts
- https://github.com/pvelati/okd-proxmox-scripts
- https://github.com/pvelati/ansible-okd-proxmox
- https://www.pivert.org/deploy-openshift-okd-on-proxmox-ve-or-bare-metal-tutorial/
- https://andrearaponi.it/devops/deploy-okd-on-proxmox/
- https://docs.okd.io/latest/installing/installing_platform_agnostic/installing-platform-agnostic.html