The Machine Config Operator (MCO) uses a boot image to start a Red Hat Enterprise Linux CoreOS (RHCOS) on each OpenShift node.
If you are not familiar with the oc command, refer to OpenShift - Getting Started with the oc command.
The oc get ClusterOperators command can be used to list the Cluster Operators, which should include the machine-config Operator.
~]$ oc get ClusterOperators
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE
authentication 4.20.14 True False False 209d
baremetal 4.20.14 True False False 699d
cloud-controller-manager 4.20.14 True False False 699d
cloud-credential 4.20.14 True False False 699d
cluster-autoscaler 4.20.14 True False False 699d
config-operator 4.20.14 True False False 699d
console 4.20.14 True False False 304d
control-plane-machine-set 4.20.14 True False False 317d
csi-snapshot-controller 4.20.14 True False False 304d
dns 4.20.14 True False False 304d
etcd 4.20.14 True False False 699d
image-registry 4.20.14 True False False 304d
ingress 4.20.14 True False False 2d1h
insights 4.20.14 True False False 699d
kube-apiserver 4.20.14 True False False 699d
kube-controller-manager 4.20.14 True False False 699d
kube-scheduler 4.20.14 True False False 699d
kube-storage-version-migrator 4.20.14 True False False 47h
machine-api 4.20.14 True False False 699d
machine-approver 4.20.14 True False False 699d
machine-config 4.20.14 True False False 637d
marketplace 4.20.14 True False False 699d
monitoring 4.20.14 True False False 317d
network 4.20.14 True False False 699d
node-tuning 4.20.14 True False False 14h
olm 4.20.14 True False False 2d
openshift-apiserver 4.20.14 True False False 289d
openshift-controller-manager 4.20.14 True False False 304d
openshift-samples 4.20.14 True False False 408d
operator-lifecycle-manager 4.20.14 True False False 699d
operator-lifecycle-manager-catalog 4.20.14 True False False 699d
operator-lifecycle-manager-packageserver 4.20.14 True False False 2d16h
service-ca 4.20.14 True False False 699d
storage 4.20.14 True False False 304d
The oc get nodes command can be used to list the nodes in your OpenShfit cluster.
~]$ oc get nodes
NAME STATUS ROLES AGE VERSION
my-node-edge-lm6wz Ready infra,worker 519d v1.33.6
my-node-edge-pmlls Ready infra,worker 519d v1.33.6
my-node-infra-c4v5h Ready infra,worker 519d v1.33.6
my-node-infra-mc8rc Ready infra,worker 519d v1.33.6
my-node-infra-p9cjv Ready infra,worker 519d v1.33.6
my-node-master-0 Ready master 522d v1.33.6
my-node-master-1 Ready master 522d v1.33.6
my-node-master-2 Ready master 522d v1.33.6
my-node-worker-lk5vm Ready compute,worker 61d v1.33.6
my-node-worker-pj4r4 Ready compute,worker 61d v1.33.6
The YAML or JSON of each node should list the Operating System being used by the node.
~]$ oc get node my-node-infra-c4v5h --output yaml | grep -i osImage
osImage: Red Hat Enterprise Linux CoreOS 9.6.20260204-0 (Plow)
When upgrading OpenShift, the boot image is NOT updated.
If your OpenShift cluster is running on Google Cloud Platform (GCP) or Amazon Web Services (AWS), you can configure the boot image that is used in MachineSets. The oc get MachineSets command can be used to list your Machine Sets.
~]$ oc get machinesets --namespace openshift-machine-api
NAME DESIRED CURRENT READY AVAILABLE AGE
my-cluster-edge 2 2 2 2 140d
my-cluster-infra 3 3 3 3 140d
my-cluster-worker 2 2 2 2 143d
In this example, the Machine Set is configured to use the Amazon Web Services (AWS) Amazon Machine Image (AMI) ami-0xyz987abc852d123.
~]$ oc get MachineSet my-cluster-infra --namespace openshift-machine-api --output yaml
spec:
template:
spec:
providerSpec:
value:
ami:
id: ami-0xyz987abc852d123
Did you find this article helpful?
If so, consider buying me a coffee over at 