【问题标题】:How to get number of replicas of StatefulSet Kubernetes如何获取 StatefulSet Kubernetes 的副本数
【发布时间】:2019-10-18 22:29:23
【问题描述】:

我正在尝试在 Kubernetes 上自动扩展我的 StatefulSet。为此,我需要获取当前的 pod 数量。

在处理部署时:

kubectl describe deployments [deployment-name] | grep desired | awk '{print $2}' | head -n1

这会输出一个数字,即当前部署的数量。

但是,当你运行时

kubectl describe statefulsets

我们没有得到那么多信息。知道如何获取有状态集的当前副本数吗?

【问题讨论】:

    标签: kubernetes google-cloud-platform google-kubernetes-engine autoscaling statefulset


    【解决方案1】:

    您应该运行以下命令之一

    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
    

    【讨论】:

    • 答案很完美!我怎样才能简单地从 CURRENT 中获取数字“4”?
    【解决方案2】:
     kubectl get sts web -n default -o=jsonpath='{.status.replicas}'
    

    这也适用于 .status.readyReplicas 和 .status.currentReplicas

    来自github.com/kubernetes

    // replicas 是 StatefulSet 控制器创建的 Pod 数量。
    副本 int32

    // readyReplicas 是 StatefulSet 控制器创建的具有 Ready Condition 的 Pod 的数量。
    ReadyReplicas int32

    // currentReplicas 是 StatefulSet 控制器从 StatefulSet 版本创建的 Pod 数量
    // 由 当前版本。
    CurrentReplicas int32

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-14
      • 1970-01-01
      • 2021-09-22
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 2021-02-07
      • 1970-01-01
      相关资源
      最近更新 更多