kubernetesでポッドを停止/一時停止する方法



How Stop Pause Pod Kubernetes



解決:

そのため、他の人が指摘しているように、Kubernetesはポッドの現在の状態の停止/一時停止をサポートしておらず、必要に応じて再開します。ただし、レプリカの数を0に設定している展開が機能していない場合でも、これを実現できます。

kubectl scale --replicas = 0 Deployment /

ヘルプを見る



#Deployment、ReplicaSet、Replication Controller、またはStatefulSetの新しいサイズを設定します。 kubectl scale --help

スケールを使用すると、ユーザーはスケールアクションの1つ以上の前提条件を指定することもできます。

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



例:

#「foo」という名前のレプリカセットを3にスケーリングします。kubectlscale--replicas = 3 rs / foo#「foo.yaml」で指定されたタイプと名前で識別されるリソースを3にスケーリングします。kubectlscale--replicas = 3 -f foo .yaml#mysqlの現在のサイズという名前のデプロイメントが2の場合、mysqlを3にスケーリングします。kubectlscale--current-replicas = 2 --replicas = 3 Deployment / mysql#複数のレプリケーションコントローラーをスケーリングします。 kubectl scale --replicas = 5 rc / foo rc / bar rc / baz#「web」という名前のstatefulsetを3にスケーリングします。kubectlscale--replicas = 3 statefulset / web 

いいえ。ポッドを停止して、必要に応じて後で再開することはできません。ただし、以下のアプローチを検討することができます。

k8sでは、ポッドはサービスを使用して抽象化されます。ポッドを分離することを考える1つの方法は、サービス定義のポッドセレクターを更新することです。このようにして、サービス定義を使用してポッドへのトラフィックを制御できます。トラフィックを復元する場合は常に、ポッドセレクターの値をサービス定義の値に更新します。