ACK Edge クラスターから不要なノードを削除し、実行中のワークロードを中断することなくインフラストラクチャの規模を縮小します。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
ACK Edge クラスターが存在すること。詳細については、「ACK Edge クラスターの作成」をご参照ください。
kubectl クライアントがクラスターに接続されていること。詳細については、「kubectl を使用した ACK クラスターへの接続」をご参照ください。
ノードを削除する前の確認事項
ノード削除時の動作
対象ノード上の Pod はクラスター内の他のノードへ移行され、サービス中断を引き起こす可能性があります。ノードの削除は非ピーク時間帯に行い、事前にノード上のデータをバックアップしてください。
ノードは削除中に Unschedulable 状態になります。
制限事項
削除可能なのはワーカーノードのみです。Master ノードは削除できません。
ACK Edge クラスターでは、エッジノードとクラウドノードの 2 種類のノードがサポートされています。いずれのタイプも削除可能ですが、クラスター内には常に少なくとも 1 つのクラウドノードが残っている必要があります。
警告:クラウドノードに対して kubectl delete node を実行する場合
ノードの削除には ACK コンソールをご利用ください。クラウドノードに対して kubectl delete node を実行した場合、以下の点にご注意ください。
削除後、当該ノードを他の ACK クラスターに追加することはできません。
ノードがデプロイされている Elastic Compute Service (ECS) インスタンスは、ノード削除後にリリースされます。
エッジノードプール
ACK コンソールにログインします。左側ナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、対象クラスターの名前をクリックします。左側ナビゲーションウィンドウで、[ノード] > [ノードプール] を選択します。
エッジノードプールの名前をクリックします。
概要 タブの下部で、削除するノードを選択し、[ノードの削除] をクリックします。
[ノードの削除] パネルで、使用上の注意事項を確認し、[上記内容を理解しました。ノードを削除します。] を選択して、[OK] をクリックします。
エッジノードプールからエッジノードを削除する際は、ECS インスタンスのリリースおよびノードの自動ドレインはサポートされていません。
ノードがクラスターから削除された後、エッジノード上で edgeadm を使用して Kubernetes コンポーネントをアンインストールするため、以下のコマンドを実行します。
プレースホルダー 説明 例 [region]クラスターのリージョン ID cn-hangzhou[clusterVersion]クラスターの Kubernetes バージョン 1.22.15-aliyunedge.1[arch]エッジノードの CPU アーキテクチャ amd64wget http://aliacs-k8s-[region].oss-[region].aliyuncs.com/public/pkg/run/attach/[clusterVersion]/[arch]/edgeadm -O edgeadm; chmod u+x edgeadm; ./edgeadm resetプレースホルダーを、ご利用のクラスターに対応する実際の値に置き換えてください。
削除の確認
ローカルマシンで kubectl get nodes コマンドを実行し、対象ノードがクラスターのノード一覧から削除されたことを確認します。
クラウドノードプール
ACK コンソールにログインします。左側ナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、対象のクラスター名をクリックします。左側のナビゲーションウィンドウで、[ノード] > [ノードプール] を選択します。
クラウドノードプールの名前をクリックします。
[ノード] タブで、削除するノードを選択し、ページ下部の [一括削除] をクリックします。
[ノードの削除] ダイアログボックスで、必要に応じて以下のオプションを設定し、[OK] をクリックします。
ECS インスタンスのリリース:ノード削除後に、基盤となる ECS インスタンスおよびそのデータディスクをリリースします。
従量課金の ECS インスタンスおよびそのデータディスクのみがリリースされます。
サブスクリプションの ECS インスタンスは、契約期間終了後に自動的にリリースされます。
このオプションを選択しない場合、ノード削除後も ECS インスタンスに対する課金が継続されます。
ノードのドレイン:削除前に、選択したノード上のすべての Pod をクラスター内の他のノードへ移行します。移行先のノードに十分なリソースがあることを確認してください。または、削除前に手動でノードをドレインすることもできます。
kubectl drain <node-name> [options]<node-name>は<region-name>.<node-id>の形式で指定します。例:cn-hangzhou.i-i-bp1asavedmte377c3****代表的なオプション:
--force --ignore-daemonsets --delete-local-data全オプションの一覧は、
kubectl drain --helpを実行してください。
削除の確認
kubectl get nodes コマンドを実行し、削除したノードがクラスターから完全に除外されたことを確認します。