Как получить количество реплик StatefulSet Kubernetes - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь автоматически масштабировать мой StatefulSet на Kubernetes.Для этого мне нужно получить текущее количество модулей.

При работе с развертываниями:

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

Это выводит число, которое является количеством текущих развертываний.

Однако, когда вы запускаете

kubectl describe statefulsets

Мы не получаем столько информации.Любая идея, как я могу получить текущее количество реплик набора с состоянием?

Ответы [ 2 ]

2 голосов
/ 03 июня 2019

вы должны запустить одну из следующих команд

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
0 голосов
/ 03 июня 2019
 kubectl get sts web -n default -o=jsonpath='{.status.replicas}'

Это также работает с .status.readyReplicas и .status.currentReplicas

From github.com / kubernetes :

// реплик- это количество модулей, созданных контроллером StatefulSet.
Replicas int32

// readyReplicas - это количество модулей, созданных контроллером StatefulSet с условием готовности.
ReadyReplicas int32

// currentReplicas - это количество модулей, созданных контроллером StatefulSet из версии StatefulSet
//, обозначенных currentRevision.
CurrentReplicas int32

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...