我在OpenShift中有一项服务。该服务包含多个Pod。每个吊舱包含两个容器。部署策略是“滚动更新”。我需要为每个Pod创建特定的容器,以了解何时完成整个集群的当前部署。
将文件(从部署后挂钩)写入共享持久卷是最简单的正确方法吗?
答案 0 :(得分:0)
一种更可靠的方法是通过OpenShift API检查可用副本的数量。
TOKEN="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)"
curl --cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt "https://openshift.default.svc.cluster.local/apis/extensions/v1beta1/namespaces/$YOUR_NAMESPACE/deployments/$YOUR_DEPLOYMENT" -H "Authorization: Bearer $TOKEN" | jq -r ".status.availableReplicas"
编辑:
API还将返回所需的副本计数为.status.replicas
。因此,您可以将所需的副本数与可用副本数进行比较,以决定部署是否完成。
"status": {
"replicas": 2,
"updatedReplicas": 1,
"readyReplicas": 1,
"availableReplicas": 1
}