Openshift获取数量pods

Openshift obtain number of pods

还有使用OpenShift命令oc获取当前副本数的方法吗?。我正在做一个自动缩放逻辑,我需要知道 pods 的当前数量,以便为副本数量更新做 number_of_pods +1。

oc 客户端以及 kubectl 可以使用 jsonpathgo-template 选项执行此操作。以下是获取 Deployment 的副本数的方法:

kubectl get deploy -n ci ssp-kube -o "jsonpath={.metadata.name} => {.status.availableReplicas}"
ssp-kube => 1

或该命名空间中的所有部署:

kubectl get deploy -n ci  -o "jsonpath={.items[*].status.availableReplicas}"
1 2 2 ...

查看您的部署配置,您应该能够找出要提取的密钥。


现在,您提到了自动缩放方面的工作:您是否考虑过 Horizo​​ntalPodAutoscalers ?使用 OpenShift,您可能拥有所需的指标服务器收集 cpu/memory 用法(检查 oc adm top pods / oc adm top nodes)。

参见:https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/