1. ホーム
  2. docker

[解決済み] kubernetesでPodを停止/一時停止する方法

2022-03-09 05:19:44

質問

私のクラスタでは、MySQLポッドが動作しています。
ポッドを削除せずに、一時的にポッドの動作を停止させる必要があります。 docker stop container-id cmdはコンテナを削除せずに停止させます。
kubernetesでPodを一時停止/停止するために利用できるコマンドはありますか?

解決方法を教えてください。

つまり、他の方が指摘されているように、KubernetesはPodの現在の状態を停止/一時停止して、必要なときに再開することをサポートしていないのです。しかし、デプロイメントが動作していない状態、つまりレプリカの数を0にすることで実現することができます。

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

ヘルプを見る

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


また、Scale では、ユーザーが scale アクションの前提条件を 1 つ以上指定することができます。

もし --current-replicas または --resource-version が指定された場合、スケールが試行される前に検証されます。 スケールがサーバーに送信されるときに、その前提条件が真であることが保証されます。

  # 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