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