OpenShift Origin:能否从Web控制台添加管理节点及CLI操作最佳方式
OpenShift Origin 节点添加与管理:Web控制台 vs CLI最佳实践
Web控制台的节点管理能力
首先明确:OpenShift Origin的Web控制台没有像Apache Rancher那样提供一键式、引导式的节点添加流程(也就是那种直接在控制台生成加入命令,复制到新节点执行的可视化步骤)。不过它在节点管理上还是有不少实用功能:
- 查看所有节点的状态、资源使用情况、标签和污点
- 对已有节点执行标记污点/容忍、添加调度标签、驱逐Pod、重启节点等操作
- 如果你的集群是基于云基础设施(比如AWS、GCP)并使用机器集(MachineSet),可以通过控制台创建/编辑机器集,自动从云提供商拉取新节点加入集群,这算是一种间接的“添加节点”方式,但依赖云环境和机器API
CLI添加与管理节点的最佳方式
如果是手动添加节点(非云机器集场景),这是最可靠的流程:
1. 准备新节点
确保新节点满足OpenShift的前置要求:
- 匹配集群的操作系统版本(比如RHEL 8/CentOS Stream 8)
- 安装好兼容的容器运行时(CRI-O 是OpenShift推荐的,替代Docker)
- 网络能连通集群控制节点的API端口(6443)和其他必要端口
- 关闭防火墙不必要的规则,或者开放OpenShift所需端口
2. 在控制节点生成加入凭证
登录到集群的控制节点(有admin权限的节点),执行以下步骤:
- 生成用于节点加入的临时令牌:
保存输出的令牌字符串,后面会用到。oc adm token create --purpose=join --groups=system:nodes,system:bootstrappers:worker --kubeconfig=/etc/kubernetes/admin.conf - 获取集群API服务器地址:
oc whoami --show-server - 获取CA证书的SHA256哈希:
openssl x509 -in /etc/kubernetes/pki/ca.crt -noout -fingerprint -sha256 | awk -F= '{print $2}' | sed 's/://g'
3. 在新节点执行加入命令
将上面获取的API地址、令牌和CA哈希填入下面的命令,在新节点上执行:
oc adm join <API_SERVER_URL> --token=<GENERATED_TOKEN> --discovery-token-ca-cert-hash sha256:<CA_HASH>
4. 验证节点加入成功
回到控制节点,执行以下命令查看节点状态:
oc get nodes
如果新节点状态变为Ready,就说明加入成功了。
额外的节点管理CLI操作
- 给节点添加调度标签:
oc label nodes <NODE_NAME> node-role.kubernetes.io/worker=worker - 给节点添加污点(防止Pod调度到该节点):
oc adm taint nodes <NODE_NAME> key=value:NoSchedule - 驱逐节点上的所有Pod(比如要维护节点时):
oc adm drain <NODE_NAME> --ignore-daemonsets
内容的提问来源于stack exchange,提问作者Stefano C




