《OpenShift / RHEL / DevSecOps 汇总目录》
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})
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
while (sleep 2); do
t=$(date "+%H:%M:%S");
echo "==========${t}==========";
oc get node -l node-role.kubernetes.io/worker --no-headers ;
done


持续观察应用和节点的状态,确认集群中的 Worker 节点是滚动升级,而不会被同时升级。当升级每个 Worker 节点时其状态会变成 “Ready,SchedulingDisabled”。另外,确认直到 OpenShift 集群升级完应用都可访问。
