我正在尝试在Kubernetes上自动缩放StatefulSet。为此,我需要获取当前的吊舱数量。
在处理部署时:
kubectl describe deployments [deployment-name] | grep desired | awk '{print $2}' | head -n1
这将输出一个数字,即当前部署的数量。
但是,当您运行
kubectl describe statefulsets
我们没有得到太多的信息。知道如何获取有状态集的当前副本数吗?
答案 0 :(得分:2)
您应该运行以下命令之一
master $ kubectl get statefulsets
NAME DESIRED CURRENT AGE
web 4 4 2m
master $
master $ kubectl get sts
NAME DESIRED CURRENT AGE
web 4 4 2m
number of running pods
---------------------
master $ kubectl describe sts web|grep Status
Pods Status: 4 Running / 0 Waiting / 0 Succeeded / 0 Failed
another way
------------
master $ kubectl get sts --show-labels
NAME DESIRED CURRENT AGE LABELS
web 4 4 33s app=nginx
master $ kubectl get po -l app=nginx
NAME READY STATUS RESTARTS AGE
web-0 1/1 Running 0 56s
web-1 1/1 Running 0 55s
web-2 1/1 Running 0 30s
web-3 1/1 Running 0 29s
master $ kubectl get po -l app=nginx --no-headers
web-0 1/1 Running 0 2m
web-1 1/1 Running 0 2m
web-2 1/1 Running 0 1m
web-3 1/1 Running 0 1m
master $
master $
master $ kubectl get po -l app=nginx --no-headers | wc -l
4
答案 1 :(得分:0)
kubectl get sts web -n default -o=jsonpath='{.status.replicas}'
这也适用于.status.readyReplicas和.status.currentReplicas
//副本是StatefulSet控制器创建的Pod的数量。
副本int32// readyReplicas是由StatefulSet控制器创建的具有就绪条件的Pod的数量。
ReadyReplicas int32// currentReplicas是StatefulSet控制器从StatefulSet版本创建的Pod的数量。 //由 currentRevision。
CurrentReplicas int32