9.3. データプレーンをゼロにスケールダウンする
Hosted Control Plane を使用していない場合は、リソースとコストを節約するために、データプレーンをゼロにスケールダウンできます。
データプレーンをゼロにスケールダウンする準備ができていることを確認してください。スケールダウンするとワーカーノードからのワークロードがなくなるためです。
手順
次のコマンドを実行して、ホストされたクラスターにアクセスするように
kubeconfig
ファイルを設定します。$ export KUBECONFIG=<install_directory>/auth/kubeconfig
次のコマンドを実行して、ホストされたクラスターに関連付けられた
NodePool
リソースの名前を取得します。$ oc get nodepool --namespace <HOSTED_CLUSTER_NAMESPACE>
オプション: Pod のドレインを防止するには、次のコマンドを実行して、
NodePool
リソースにnodeDrainTimeout
フィールドを追加します。$ oc edit nodepool <nodepool_name> --namespace <hosted_cluster_namespace>
出力例
apiVersion: hypershift.openshift.io/v1alpha1 kind: NodePool metadata: # ... name: nodepool-1 namespace: clusters # ... spec: arch: amd64 clusterName: clustername 1 management: autoRepair: false replace: rollingUpdate: maxSurge: 1 maxUnavailable: 0 strategy: RollingUpdate upgradeType: Replace nodeDrainTimeout: 0s 2 # ...
注記ノードドレインプロセスを一定期間継続できるようにするには、それに応じて、
nodeDrainTimeout
フィールドの値を設定できます (例:nodeDrainTimeout: 1m
)。次のコマンドを実行して、ホストされたクラスターに関連付けられた
NodePool
リソースをスケールダウンします。$ oc scale nodepool/<NODEPOOL_NAME> --namespace <HOSTED_CLUSTER_NAMESPACE> --replicas=0
注記データプランをゼロにスケールダウンした後、コントロールプレーン内の一部の Pod は
Pending
ステータスのままになり、ホストされているコントロールプレーンは稼働したままになります。必要に応じて、NodePool
リソースをスケールアップできます。オプション: 次のコマンドを実行して、ホストされたクラスターに関連付けられた
NodePool
リソースをスケールアップします。$ oc scale nodepool/<NODEPOOL_NAME> --namespace <HOSTED_CLUSTER_NAMESPACE> --replicas=1
NodePool
リソースを再スケーリングした後、NodePool
リソースが準備Ready
状態で使用可能になるまで数分間待ちます。
検証
次のコマンドを実行して、
nodeDrainTimeout
フィールドの値が0s
より大きいことを確認します。$ oc get nodepool -n <hosted_cluster_namespace> <nodepool_name> -ojsonpath='{.spec.nodeDrainTimeout}'