10.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: clustername1 management: autoRepair: false replace: rollingUpdate: maxSurge: 1 maxUnavailable: 0 strategy: RollingUpdate upgradeType: Replace nodeDrainTimeout: 0s2 # ...注記ノードドレインプロセスを一定期間継続できるようにするには、それに応じて、
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=1NodePoolリソースを再スケーリングした後、NodePoolリソースが準備Ready状態で使用可能になるまで数分間待ちます。
検証
次のコマンドを実行して、
nodeDrainTimeoutフィールドの値が0sより大きいことを確認します。$ oc get nodepool -n <hosted_cluster_namespace> <nodepool_name> -ojsonpath='{.spec.nodeDrainTimeout}'