《OpenShift / RHEL / DevSecOps 汇总目录》
假如 OpenShift 集群中有 3 个 Worker 节点,那么执行以下命令对每个 Worker 节点设置新的标签。
oc label node <NODE1> worker-pool=wp1
oc label node <NODE2> worker-pool=wp2
oc label node <NODE3> worker-pool=wp3
在 OpenShift 中导入以下 YAML,创建 3 个 MachineConfigPool
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfigPool
metadata:
name: worker-pool-1
spec:
machineConfigSelector:
matchLabels:
machineconfiguration.openshift.io/role: worker
nodeSelector:
matchLabels:
worker-pool: wp1
---
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfigPool
metadata:
name: worker-pool-2
spec:
machineConfigSelector:
matchLabels:
machineconfiguration.openshift.io/role: worker
nodeSelector:
matchLabels:
worker-pool: wp2
---
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfigPool
metadata:
name: worker-pool-3
spec:
machineConfigSelector:
matchLabels:
machineconfiguration.openshift.io/role: worker
nodeSelector:
matchLabels:
worker-pool: wp3
在 OpenShift 控制台中进入到 “管理”-“集群设置” 菜单。然后点击 “集群升级” 页面中的 “频道” 链接,并选出适当的升级频道。
点击 “集群升级” 页面中的 “频道” 链接旁边的 “Select a version” 按钮,在“更新集群”对话框的“选择新版本”中确定升级的目标 OpenShift 版本。然后选择 “Partial cluster update” 选项,并本次升级中“Pause”(暂停)的节点,例如下图将不对选中的 worker-pool-2 和 worker-pool-3 对应的 Worker 节点进行升级。最后点击 “更新” 按钮。
在升级过程中确认只对 Master 和 worker-pool-1 中的 Worker 节点进行升级。
直到本次升级结束,可以运行以下命令查看升级状态,确认 worker-pool-2 和 worker-pool-3 的 UPDATED 状态都是 False。
$ oc get mcp
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE
master rendered-master-1fdb5077ccc2372382d15a3f3d64411a True False False 3 3 3 0 140m
worker rendered-worker-504f9b88025481901d1c2a7b15cc92c4 True False False 0 0 0 0 140m
worker-pool-1 rendered-worker-pool-1-504f9b88025481901d1c2a7b15cc92c4 True False False 1 1 1 0 83m
worker-pool-2 rendered-worker-pool-2-4161d0bc43f4c49529ee39a45a317bb8 False False False 1 0 0 0 71m
worker-pool-3 rendered-worker-pool-3-4161d0bc43f4c49529ee39a45a317bb8 False False False 1 0 0 0 69m
可以集群在控制台的 “集群设置” 页面中分别点击 worker-pool-2 和 worker-pool-3 下方的 “Resume update” 来升级集群的其他节点。
https://www.bilibili.com/video/BV19T411u7eS/
https://www.redhat.com/en/blog/openshift-container-platform-4-how-does-machine-config-pool-work