как остановить / приостановить стручок в кубернетес - PullRequest
0 голосов
/ 22 февраля 2019

В моем кластере запущен модуль MySQL.
Мне нужно временно приостановить работу модуля, не удаляя его, что-то похожее на докер, где docker stop container-id cmd остановит контейнер, а не удалит контейнер.
Есть ли в kubernetes какие-либо команды для приостановки / остановки модуля?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Итак, как уже отмечали другие, Kubernetes не поддерживает остановку / паузу текущего состояния модуля и возобновление при необходимости.Однако вы все равно можете добиться этого, не имея рабочих развертываний, для которых число реплик устанавливается равным 0.

kubectl scale --replicas=0 deployment/<your-pod>

см. Справку

kubectl scale --help                                    
Set a new size for a Deployment, ReplicaSet, Replication Controller, or StatefulSet.

Scale also allows users to specify one or more preconditions for the scale action.

If --current-replicas or --resource-version is specified, it is validated before the scale is attempted, and it is
guaranteed that the precondition holds true when the scale is sent to the server.

Examples:
  # Scale a replicaset named 'foo' to 3.
  kubectl scale --replicas=3 rs/foo

  # Scale a resource identified by type and name specified in "foo.yaml" to 3.
  kubectl scale --replicas=3 -f foo.yaml

  # If the deployment named mysql's current size is 2, scale mysql to 3.
  kubectl scale --current-replicas=2 --replicas=3 deployment/mysql

  # Scale multiple replication controllers.
  kubectl scale --replicas=5 rc/foo rc/bar rc/baz

  # Scale statefulset named 'web' to 3.
  kubectl scale --replicas=3 statefulset/web
0 голосов
/ 22 февраля 2019

Нет.Невозможно остановить модуль и возобновить его позже, когда это необходимо.Тем не менее, вы можете рассмотреть следующий подход.

В k8s пакеты извлекаются с помощью службы.Один из способов, которым я могу подумать об изоляции модуля (-ов), - обновить селектор модуля в определении сервиса.Таким образом, вы можете контролировать трафик на pod (s), используя определение сервиса.Всякий раз, когда вы хотите восстановить трафик, обновите значение селектора pod до того, которое было в определении сервиса.

...