《OpenShift / RHEL / DevSecOps 汇总目录》
文本已在OpenShift 4.10环境中进行验证。
场景说明
OpenShift 集群的升级过程采用的是节点滚动升级的方法,一个节点升完级并重启后才对下一个节点升级。因此如果一个应用的所有资源都可同时运行多副本的时候,那么在集群升级过程中该应用可以被不中断的持续访问。
集群升级过程验证
以下测试环境需要 OpenShift 集群中至少有 2 个 Worker 节点。
部署测试应用
执行以下命令部署测试应用。
oc new-project hello
oc new-app openshift/hello-openshift
oc expose svc/hello-openshift
HELLO_ROUTE=$(oc get route hello-openshift -ojsonpath={.spec.host})
持续观察
- 在窗口1执行命令,持续查看 hello-openshift 应用是否能正常访问。
while (sleep 2); do
t=$(date "+%H:%M:%S -");
printf $t;
curl -H "Expect:" -o /dev/null -s -w ' %{http_code} : %{time_total} : %{size_download}' ${HELLO_ROUTE};
echo;
done
- 在窗口2执行命令,持续查看及群众 Worker 节点的状态。
while (sleep 2); do
t=$(date "+%H:%M:%S");
echo "==========${t}==========";
oc get node -l node-role.kubernetes.io/worker --no-headers ;
done
升级 OpenShift 集群
- 在 OpenShift 控制台的 “主页-概述” 菜单中找到 OpenShift 版本,并进入 “升级集群”。
- 在 “升级集群” 窗口中选择新版本,然后点击 “更新”。
持续观察应用和节点状态
持续观察应用和节点的状态,确认集群中的 Worker 节点是滚动升级,而不会被同时升级。当升级每个 Worker 节点时其状态会变成 “Ready,SchedulingDisabled”。另外,确认直到 OpenShift 集群升级完应用都可访问。