Container Service for Kubernetes (ACK) は、ノードをグループで管理するためのノードプールを提供します。ノードプールとは、インスタンス仕様、オペレーティングシステム、ラベル、テイントなど、同じ構成を持つノードのグループです。 ACK クラスタには、異なるタイプと構成のノードプールを 1 つ以上作成できます。ノードプールを作成すると、ノードプール内のノードを一元的に管理できます。
ノードプールを作成する前に、ノードプールを読んで、ノードプールの基本情報、ユースケース、関連機能、および課金ルールをよく理解しておくことをお勧めします。
コンソール操作
ACK コンソールの管理対象クラスタの [ノードプール] ページで、ノードプールを作成、編集、または削除できます。ノードプールの詳細を表示することもできます。
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスタ] をクリックします。
[クラスタ] ページで、管理するクラスタを見つけて、その名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
ノードプールを作成する
ACK コンソールでノードプールを作成する場合、基本構成、ネットワーク構成、およびストレージ構成を設定できます。一部のノードプールパラメータ、特にノードプールの可用性とネットワークに関連するパラメータは、ノードプールが作成された後は変更できません。次の表に、これらのパラメータを示します。クラスタにノードプールを作成しても、クラスタの他のノードプールにデプロイされているノードとアプリケーションには影響しません。
ACK API を呼び出すか、Terraform を使用してノードプールを作成することもできます。詳細については、CreateClusterNodePool または Terraform を使用して自動スケーリングが有効になっているノードプールを作成する を参照してください。
[ノードプール] ページで、[ノードプールを作成] をクリックします。 [ノードプールを作成] ダイアログボックスで、ノードプールパラメータを設定します。
ノードプールを作成した後、[ノードプールを編集] ページでノードプールパラメーターを変更できます。次の表の 変更可能 列は、ノードプール作成後に対応するパラメーターを変更できるかどうかを示します。
は、パラメーターを変更できないことを示します。
は、パラメーターを変更できることを示します。
基本構成
パラメータ
説明
変更可能
ノードプール名
ノードプール名を指定します。
Confidential Computing
説明Confidential Computing を使用するには、チケットを送信して、ホワイトリストに追加申請してください。
このパラメータは、[コンテナランタイム] パラメータに containerd を選択した場合にのみ使用できます。
[機密コンピューティング] を有効にするかどうかを指定します。ACK は、ハードウェア暗号化テクノロジーに基づいたオールインワンのクラウドネイティブ機密コンピューティングソリューションを提供します。機密コンピューティングは、データのセキュリティ、整合性、および機密性を確保します。信頼できるアプリケーションや機密性の高いアプリケーションの開発と配信を簡素化し、コストを削減します。詳細については、TEE ベースの機密コンピューティング を参照してください。
コンテナランタイム
Kubernetes バージョンに基づいて [コンテナランタイム] を指定します。コンテナランタイムの選択方法の詳細については、Docker、containerd、および Sandboxed-Container の比較 を参照してください。
containerd: すべての Kubernetes バージョンで containerd をお勧めします。
Sandboxed-Container: Kubernetes 1.31 以前をサポートしています。
Docker (非推奨): Kubernetes 1.22 以前をサポートしています。
スケーリングモード
[手動] スケーリングと [自動] スケーリングがサポートされています。コンピューティングリソースは、ビジネス要件とポリシーに基づいて自動的に調整され、クラスタコストを削減します。
[手動]: ACK は、[予想ノード数] パラメータの値に基づいてノードプール内のノード数を調整します。ノード数は常に [予想ノード数] パラメータの値と同じです。詳細については、ノードプールを手動でスケーリングする を参照してください。
[自動]: クラスタの容量計画がポッドスケジューリングの要件を満たせない場合、ACK は構成された最小インスタンス数と最大インスタンス数に基づいてノードを自動的にスケールアウトします。デフォルトでは、Kubernetes 1.24 以降を実行しているクラスタでは ノードインスタントスケーリング が有効になり、Kubernetes 1.24 より前のバージョンを実行しているクラスタでは ノード自動スケーリング が有効になります。詳細については、ノードスケーリング を参照してください。
自動 O&M 構成
ACK は、マネージドノードプール構成に次のオプションを提供します。これらのオプションは、さまざまなレベルの 自動 O&M 機能 を提供します。
[自動モード]: このオプションを有効にすると、ACK はノードプール内のワークロードのリソース要件に基づいて動的にスケーリングします。この場合、ACK は OS のアップグレード、ソフトウェアのアップグレード、脆弱性のパッチ適用などの O&M の責任を引き受けます。
このオプションは、自動モードが有効になっているクラスタ でのみ使用できます。
[マネージドノードプール]: このオプションを使用すると、自動 O&M 機能の次のパラメータを構成できます。自動 O&M タスクを実行するためのメンテナンスウィンドウを構成することもできます。
[無効]: 自動 O&M 機能を無効にします。このオプションを選択した場合は、ノードとノードプールを手動で保守する必要があります。
さまざまなマネージドノードプール構成の違いと使用上の注意については、マネージドノードプール構成の比較 を参照してください。
ネットワーク構成
パラメータ
説明
変更可能
ネットワーク設定
VPC
デフォルトでは、クラスタが存在する virtual private cloud (VPC) が選択されています。VPC を変更することはできません。
vSwitch
ノードプールがスケールアウトされている場合、[スケーリングポリシー] パラメーターに選択したポリシーに基づいて、選択した vSwitch のゾーンに新しいノードが作成されます。使用するゾーンで vSwitch を選択できます。
vSwitch が使用できない場合は、[vSwitch を作成] をクリックして作成します。詳細については、「vSwitch を作成および管理する」をご参照ください。
インスタンスとイメージ
パラメーター
説明
変更可能
課金方式
ノードプールで ECS インスタンスがスケールインされるときに使用されるデフォルトの課金方式です。[従量課金]、[サブスクリプション]、または [プリエンプティブインスタンス] を選択できます。
[サブスクリプション] 課金方式を選択した場合は、[期間] パラメーターを設定し、[自動更新] を有効にするかどうかを選択する必要があります。
[プリエンプティブインスタンス]: ACK は保護期間のある [プリエンプティブインスタンス] のみをサポートしています。[現在のインスタンス仕様の上限価格] パラメーターも設定する必要があります。
選択したインスタンスタイプのリアルタイム市場価格がこのパラメーターの値よりも低い場合、このインスタンスタイプの プリエンプティブインスタンス が作成されます。保護期間(1時間)が終了すると、システムは5分ごとにインスタンスタイプのスポット価格とリソースの可用性をチェックします。リアルタイム市場価格が入札価格を超えた場合、またはリソースの在庫が不足している場合、プリエンプティブインスタンスは解放されます。詳細については、「プリエンプティブインスタンスベースのノードプールのベストプラクティス」をご参照ください。
ノードプール内のすべてのノードが同じ課金方式を使用するように、ACK では、ノードプールの課金方式を [従量課金] または [サブスクリプション] から [プリエンプティブインスタンス] に変更したり、[プリエンプティブインスタンス] から [従量課金] または [サブスクリプション] に変更することはできません。
重要ノードプールの課金方式を変更した場合、変更は新しく追加されたノードにのみ適用されます。ノードプール内の既存のノードは、引き続き元の課金方式を使用します。ノードプール内の既存のノードの課金方式を変更する方法の詳細については、「従量課金からサブスクリプションへの課金方式の変更」をご参照ください。
すべてのノードが同じ課金方式を使用するように、ACK では、ノードプールの課金方式を [従量課金] または [サブスクリプション] から [プリエンプティブインスタンス] に変更したり、[プリエンプティブインスタンス] から [従量課金] または [サブスクリプション] に変更することはできません。
インスタンス関連のパラメーター
インスタンスタイプまたは属性に基づいて、ワーカーノードプールが使用する ECS インスタンスを選択します。vCPU、メモリ、インスタンスファミリー、アーキテクチャなどの属性で インスタンスファミリー をフィルタリングできます。ACK でサポートされていないインスタンス仕様とノードの設定方法の詳細については、「ACK クラスタの ECS 仕様の推奨事項」をご参照ください。
ノードプールがスケールアウトされると、選択したインスタンスタイプの ECS インスタンスが作成されます。ノードプールのスケーリングポリシーは、スケールアウトアクティビティ中に新しいノードの作成に使用するインスタンスタイプを決定します。ノードプールスケールアウト操作の成功率を向上させるには、複数のインスタンスタイプを選択します。
インスタンスタイプが利用できない、またはインスタンスの在庫がないためにノードプールのスケールアウトに失敗した場合は、ノードプールにさらにインスタンスタイプを指定できます。ACK コンソールは、ノードプールのスケーラビリティを自動的に評価します。ノードプールを作成するとき、またはノードプールを作成した後に、ノードプールのスケーラビリティを確認 できます。
GPU アクセラレーションインスタンスのみを選択した場合は、必要に応じて [GPU 共有を有効にする] を選択できます。詳細については、「cGPU の概要」をご参照ください。
オペレーティングシステム
[Alibaba Cloud Marketplace イメージ] はカナリアリリースです。
[パブリックイメージ]: Container Service for Kubernetes が提供するオペレーティングシステムのパブリックイメージ。たとえば、Alibaba Cloud Linux 3 ACK 最適化、ContainerOS、Alibaba Cloud Linux 3、Ubuntu、Windows など。 詳細については、「OS イメージ」をご参照ください。
[カスタムイメージ]: カスタムオペレーティングシステムイメージを使用します。詳細については、「既存の ECS インスタンスに基づいてカスタムイメージを作成し、それを使用してノードを作成するにはどうすればよいですか。」をご参照ください。
説明オペレーティングシステムをアップグレードまたは変更する方法の詳細については、「オペレーティングシステムの変更」をご参照ください。ノードプールの OS イメージを変更した後、変更は新しく追加されたノードにのみ適用されます。ノードプール内の既存のノードは、引き続き元の OS イメージを使用します。
セキュリティ強化
クラスタのセキュリティ強化を有効にします。クラスタの作成後、このパラメーターを変更することはできません。
[無効]: ECS インスタンスのセキュリティ強化を無効にします。
[MLPS セキュリティ強化]: アリババクラウドは、Alibaba Cloud Linux 2 イメージと Alibaba Cloud Linux 3 イメージが複数レベル保護スキーム(MLPS)2.0 のレベル 3 標準に準拠しているかどうかを確認するのに役立つベースラインとベースラインチェック機能を提供しています。MLPS セキュリティ強化は、OS イメージの互換性とパフォーマンスを損なうことなく、GB/T 22239-2019 情報セキュリティ技術 - サイバーセキュリティの機密保護のベースラインの要件を満たすように OS イメージのセキュリティを強化します。詳細については、「MLPS に基づく ACK セキュリティ強化」をご参照ください。
重要MLPS セキュリティ強化を有効にすると、ルートユーザーの SSH を介したリモートログインは禁止されます。仮想ネットワークコンピューティング(VNC)を使用して ECS コンソールから OS にログインし、SSH を介したログインが許可されている一般ユーザーを作成できます。詳細については、「VNC を使用してインスタンスに接続する」をご参照ください。
[OS セキュリティ強化]: システムイメージが Alibaba Cloud Linux 2 または Alibaba Cloud Linux 3 イメージの場合にのみ、Alibaba Cloud Linux セキュリティ強化 を有効にできます。
ログオンタイプ
[MLPS セキュリティ強化] を選択した場合、[パスワード] オプションのみがサポートされます。[オペレーティングシステム] が ContainerOS に設定されている場合、有効な値は [キーペア] と [後で] です。
有効な値:[キーペア]、[パスワード]、[後で]。
[ノードプールを作成するときにログオンタイプを設定する]:
[キーペア]: アリババクラウド SSH キーペア は、ECS インスタンスにログインするための安全で便利な方法を提供します。SSH キーペアは、公開鍵と秘密鍵で構成されます。SSH キーペアは Linux インスタンスのみをサポートします。
[ユーザー名](ユーザー名として [root] または [ecs-user] を選択)と [キーペア] パラメーターを設定します。
[パスワード]: パスワードは8~30文字で、文字、数字、特殊文字を含めることができます。
[ユーザー名](ユーザー名として [root] または [ecs-user] を選択)とパスワードパラメーターを設定します。
[後で]: インスタンスの作成後にキーペアをバインドするか、パスワードをリセットします。詳細については、「インスタンスに SSH キーペアをバインドする」および「インスタンスのログインパスワードをリセットする」をご参照ください。
ユーザー名
[キーペア] または [パスワード] を [ログオンタイプ] に選択した場合は、ユーザー名として [root] または [ecs-user] を選択する必要があります。
ストレージ構成
パラメータ
説明
変更可能
システムディスク
ESSD AutoPL、エンタープライズ SSD (ESSD)、ESSD Entry、標準 SSD、および Ultra Disk がサポートされています。選択できるシステムディスクの種類は、選択した インスタンスファミリ によって異なります。ディスク の種類がドロップダウンリストに表示されない場合は、選択したインスタンスタイプではサポートされていません。
[その他のシステムディスクの種類] を選択し、[システムディスク] セクションで現在のディスク種類以外のディスク種類を選択すると、システムディスクの作成の成功率が向上します。システムは、指定されたディスクの種類に基づいて順番にシステムディスクの作成を試みます。
[データディスク]
ESSD AutoPL、エンタープライズ SSD (ESSD)、ESSD Entry、SSD、および Ultra Disk がサポートされています。選択できるデータディスクの種類は、選択する インスタンスファミリ によって異なります。ディスク の種類がドロップダウンリストに表示されない場合は、選択したインスタンスタイプではサポートされていません。
データディスクの種類を指定するときに、すべてのディスクの種類に対して 暗号化 を選択できます。デフォルトでは、デフォルト サービス CMK を使用してデータディスクが暗号化されます。KMS で BYOK を使用して生成された既存の CMK を使用することもできます。
コンテナイメージの高速化と大規模言語モデル (LLM) の高速読み込みが必要なシナリオでは、スナップショットを使用してデータディスクを作成することもできます。これにより、システムの応答速度が向上し、処理能力が向上します。
各ノードの
/var/lib/container
にデータディスクがマウントされ、/var/lib/kubelet
および/var/lib/containerd
が/var/lib/container
にマウントされていることを確認します。ノード上の他のデータディスクについては、初期化 操作を実行し、マウントディレクトリをカスタマイズできます。詳細については、「ACK ノードプールでデータディスクをカスタムディレクトリにマウントできますか?」をご参照ください。
説明ECS インスタンスには最大 64 個のデータディスクをアタッチできます。 ECS インスタンスにアタッチできるディスクの数は、インスタンスタイプによって異なります。各インスタンスタイプでサポートされているデータディスクの最大数を照会するには、DescribeInstanceTypes オペレーションを呼び出し、応答の DiskQuantity パラメーターを照会します。
データディスクの種類を追加 パラメーターを構成できます。このパラメーターを使用すると、システムディスクとは異なるディスクの種類を構成できるため、スケーリングの成功率が向上します。インスタンスを作成するとき、システムはインスタンス作成のためにディスクの種類の指定された順序に基づいて、最初に一致するディスクの種類を選択します。
インスタンス数量
パラメーター
説明
変更可能
[予期されるノード数]
ノードプール内の予期されるノード数。 クラスターコンポーネントが期待どおりに動作することを保証するために、少なくとも 2 つのノードを設定することをお勧めします。 [予期されるノード] パラメーターを設定して、ノードプール内のノード数を調整できます。 詳細については、「ノードプールのスケーリング」をご参照ください。
ノードプールにノードを作成したくない場合は、このパラメーターを 0 に設定します。 後でノードを追加するために、このパラメーターを手動で変更できます。
詳細設定
[詳細オプション(オプション)] をクリックして、ノードスケーリングポリシー、リソースグループ、ECS タグ、およびテイントを構成します。
[確認] をクリックします。
このページでは、左上隅にある [API リクエスト パラメーターの生成] をクリックして、ノードプール構成に一致する Terraform または SDK サンプル パラメーターを生成できます。
[確認] をクリックします。次に、ノードプール一覧で、次のようになります。
[初期化中] ステータスは、ノードプールが作成中であることを示します。
[アクティブ] ステータスは、作成が成功したことを示します。
ノードプールを変更する
ノードプールを作成した後、ACK コンソールでノードプールの構成を変更できます。たとえば、ノードプールで使用される課金方式、vSwitch、インスタンス仕様、およびシステムディスクを変更できます。 また、ノードプールの自動スケーリングを有効または無効にすることもできます。 変更可能なパラメーターの詳細については、「ノードプールを作成する」をご参照ください。
ノードプールを変更しても、クラスタの他のノードプールにデプロイされているノードとアプリケーションには影響しません。
ほとんどのシナリオでは、ノードプールを変更した後、変更された構成は新しく追加されたノードにのみ適用されます。 [ECS タグ] や [ラベルとテイント] を更新するなど、特定のシナリオでは、変更された構成はノードプール内の既存のノードにも適用されます。
ノードプールの [スケーリングモード] を変更する場合は、次の点に注意してください。
[手動] から [自動] への切り替え:自動スケーリングを有効にし、最小インスタンス数と最大インスタンス数を構成します。
[自動] から [手動] への切り替え:自動スケーリングを無効にし、最小インスタンス数を 0 に、最大インスタンス数を 2000 に設定します。 [予想ノード数] の値は、ノードプール内の現在のノード数に自動的に構成されます。
ノードプールの構成を更新した後、ノードプールに後から追加されるノードは、変更された構成を使用します。
ノードプール構成を変更するには、次の手順を参照してください。 他の方法でノードに変更を加えた場合、これらの変更はノードプールの更新時に上書きされます。
[ノードプール] ページで、変更するノードプールを見つけ、[アクション] 列の [編集] をクリックします。
表示されるダイアログボックスで、画面上の指示に基づいてノードプールの パラメーター を変更します。
[ノードプール] ページで、ノードプールの [ステータス] 列に [更新中] と表示されている場合、ノードプールは変更中です。 ノードプールが更新されると、[ステータス] 列に [アクティブ化済み] と表示されます。
ノードプールを表示する
ACK コンソールで、ノードプールの基本情報、モニタリングデータ、ノード情報、およびスケーリングイベントを表示できます。
管理するノードプールの名前をクリックすると、ノードプールの詳細ページで次の情報が表示されます。
[概要] タブをクリックすると、クラスタ情報、ノードプール情報、およびノード構成が表示されます。 クラスタで自動スケーリングが有効になっている場合は、自動スケーリング構成も表示できます。
[モニター] タブをクリックすると、Managed Service for Prometheus によって提供されるノードのモニタリング情報が表示されます。 モニタリング情報には、ノードプール内のリソースウォーターマーク(CPU 使用率、メモリ使用率、ディスク使用率、ノードごとの平均 CPU またはメモリ使用率など)が含まれます。
[ノード] タブをクリックすると、ノードプール内のノードのリストが表示されます。 ノードのドレイン、ノードのスケジューリング設定の構成、またはノードでの O&M 操作を実行できます。 ノードプールからノードを削除することもできます。 [エクスポート] をクリックすると、ノードの詳細をカンマ区切り値(CSV)ファイルにエクスポートできます。
[スケーリングアクティビティ] タブをクリックすると、ノードプールの最新のスケーリングイベントが表示されます。 各イベントレコードには、スケーリングアクティビティの説明と、スケーリングアクティビティの実行後の ECS インスタンスの数が表示されます。 スケーリングエラーの理由も表示できます。 スケーリングエラーの一般的なエラーコードの詳細については、「ノードプールを手動でスケーリングする」をご参照ください。
ノードプールを削除する
ECS インスタンスのリリースルールは、インスタンスの課金方法によって異なります。ノードプールからノードを削除する場合は、次の表に示す操作を実行することをお勧めします。ノードプールを削除する前に、[予期されるノード数] パラメーターがノードプールに設定されているかどうかを確認します。このパラメーターは、ノードのリリースプロセスに影響を与える可能性があります。予想ノード数 パラメーターがノードプールに対して構成されています。このパラメーターは、ノードのリリースプロセスに影響を与える可能性があります。
ノードプール | リリースルール |
[予期されるノード数] パラメーターが設定されているノードプール |
|
[予期されるノード数] パラメーターが設定されていないノードプール |
|
オプション:管理するノードプールの名前をクリックします。[概要] タブで、[予期されるノード数] パラメーターが設定されているかどうかを確認できます。ハイフン(-)が表示されている場合、[予期されるノード数] パラメーターは設定されていません。概要 がどうかを確認します予想ノード数 パラメーターが設定されています。 ハイフン(-)が表示されている場合は、予想ノード数パラメーターが構成されていません。
削除するノードプールを見つけて、
> [削除] を [アクション] 列で選択します。ダイアログボックスの情報を読み、確認して、[OK] をクリックします。
次のステップ
ノードプールが作成された後、以下の操作を実行できます。
アクション | 説明 | 参照 |
[ノードプールの同期] | ノード情報に異常がある場合は、ノードプールを同期できます。 | なし |
[詳細] | ノードプールの詳細を表示します。 | なし |
スケール | [手動] および [自動] スケーリングがサポートされています。クラスター コストを削減するために、ビジネス要件とポリシーに基づいてコンピューティング リソースが自動的に調整されます。
| |
[編集] | ノードプールの構成を変更します。たとえば、vSwitch、マネージド ノードプール設定、課金方式、インスタンス仕様を変更できます。また、ノードプールの自動スケーリングを有効または無効にすることもできます。 | |
[監視] | Managed Service for Prometheus によって提供されるノード監視情報を表示します。監視情報には、ノードプール内のリソース ウォーターマーク(CPU 使用率、メモリ使用率、ディスク使用率、ノードごとの平均 CPU またはメモリ使用率など)が含まれます。 | |
[ログインモード] | ノードのログオン タイプを構成します。キーペアまたはパスワードを指定できます。 | |
[マネージドノードプールの構成] | ノードプールのノード O&M を自動化します。マネージド ノードプール機能を有効にすると、ノードの修復、kubelet の更新、ランタイムの更新、OS の Common Vulnerabilities and Exposures (CVE) パッチ適用などの O&M タスクが自動的に実行されます。 | |
[既存のノードを追加] | 既存の ECS インスタンスをワーカーノードとしてクラスターに追加します。以前にクラスターから削除したワーカーノードを追加するために、この操作を実行できます。この操作には、特定の制限と使用上の注意が適用されます。詳細については、ACK ドキュメントを参照してください。 | |
[複製] | 現在のノードプール構成に基づいて、予期されるノード数を含むノードプールを複製します。 | なし |
[ノードの修復] | マネージド ノードプール内のノードで例外が発生した場合、ACK はノードを自動的に修復します。ただし、複雑なノード例外を手動で修正する必要がある場合があります。ノード ステータスのチェック項目とノード例外の修復ソリューションの詳細については、ACK ドキュメントの関連トピックを参照してください。 | |
[CVE パッチ適用 (OS)] | クラスターの安定性、セキュリティ、コンプライアンスを向上させるために、ノードプール内の CVE 脆弱性にバッチでパッチを適用します。ACK は、特定の脆弱性にパッチを適用するためにノードを再起動する必要がある場合があります。 CVE パッチ適用と CVE パッチ適用の使用上の注意の詳細については、ACK ドキュメントの関連トピックを参照してください。 | |
[Kubelet 構成] | ノードプール内のすべてのノードの kubelet パラメーターをカスタマイズして、ノードの動作を管理します。たとえば、リソース使用量を調整するためにリソース予約を変更する必要がある場合は、kubelet パラメーターをカスタマイズできます。ACK コンソールで使用できない kubelet パラメーターを CLI を使用してカスタマイズすることはお勧めしません。 | |
[Containerd 構成] | ノードプール内のすべてのノードの containerd パラメーターをカスタマイズします。例:
| |
[OS 構成] | OS パフォーマンスを向上させるために、ノードプール内のすべてのノードの OS パラメーターをカスタマイズします。ACK コンソールで使用できない OS パラメーターを CLI を使用してカスタマイズすることはお勧めしません。 | |
[オペレーティングシステムの変更] | ノードプールのオペレーティング システムを変更または更新します。 | なし |
[Kubelet 更新] | ノードプール内のすべてのノードの kubelet と containerd を更新します。 | |
[削除] | ノードプールが使用されていない場合は、コストを節約するためにノードプールを削除します。ノードプール内のノードの解放ルールは、ノードの課金方式と、ノードプールに対して [予期されるノード数] パラメーターが構成されているかどうかによって異なります。 |
管理対象ノードプール構成の比較
構成 | 無効 | 管理対象ノードプール | 自動モード | |
ノードプール | インスタンスタイプ | 手動構成 | 手動構成 | 構成可能です。ACK は、インスタンスタイプについてインテリジェントな推奨事項を提供します。 |
課金方法 | 手動構成 | 手動構成 | 従量課金のみがサポートされています。 | |
OS | 手動構成 | 手動構成 | ContainerOS のみサポートされています。 | |
システムディスク | 手動構成 | 手動構成 | 推奨構成が自動的に適用されます。これは 20 GiB です。 | |
データディスク | 手動構成 | 手動構成 | 構成可能です。データディスクは、ContainerOS オペレーティングシステムの一時ストレージに使用されます。 | |
自動スケーリング | 手動構成ではオプション | 手動構成ではオプション | ノードインスタントスケーリング 機能はデフォルトで有効になっています。手動構成もサポートされています。 | |
ECS システムイベントへの自動応答 | サポートされていません | デフォルトで有効 | デフォルトで有効 | |
ノードの自動修復 | サポートされていません | 手動構成ではオプション | デフォルトで有効 | |
kubelet およびランタイムバージョンの自動アップグレード | サポートされていません | 手動構成ではオプション | デフォルトで有効 | |
OS CVE 脆弱性自動修復 | サポートされていません | 手動構成ではオプション | デフォルトで有効 |
ノードプールで自動モードを有効にすると、ワークロード要件に基づいてノードが動的にスケーリングされます。デフォルトの最大容量は 200 ノードです。ノードプールのスケーリング機能を使用して、インスタンスの最大数を変更できます。
ノードプールで自動モードを有効にすると、ACK は OS のアップグレード、ソフトウェアのアップグレード、脆弱性のパッチ適用などの運用および保守の責任を引き継ぎます。これらの責任には、ソフトウェアバージョンのアップグレード、ソフトウェア構成の変更、再起動、ドレインエビクションなどのタスクが含まれます。自動モードポリシーとの競合を防ぐため、ノードプール内の ECS ノードで、ノードにログインして再起動、データディスクのマウント、構成の変更などの手動操作を実行することは避けてください。ワークロードに適切なレプリカ数を設定し、PreStop 安全停止戦略を実装し、PodDisruptionBudget ポリシーを確立して、ビジネスを中断することなくメンテナンスのためにノードをドレインできるようにすることをお勧めします。
ノードプールで自動モードを有効にすると、ACK は不変のルートファイルシステムを採用している ContainerOS オペレーティングシステムに基づいてノードのセキュリティを強化します。永続ストレージとして、ノードシステムパスストレージ (HostPath など) ではなく PVC を使用することをお勧めします。
ノードプールで自動モードを有効にした後、ARM、GPU、オンプレミスディスク、その他のインスタンスタイプはサポートされません。ACK には、ほとんどのシナリオでアプリケーションのニーズを満たすことができる推奨されるデフォルトのインスタンスタイプがあり、実際のビジネス要件に基づいてコンソールで調整できます。ノードプールの回復力を高め、スケーリングの失敗を回避するために、十分な数のインスタンスタイプを設定することをお勧めします。
自動モードは、Kubernetes クラスタに自動化されたインテリジェントな運用および保守機能を提供することを目的としています。ただし、特定のシナリオでは、依然としていくつかの義務を果たす必要があります。詳細については、「共同責任モデル」をご参照ください。
よくある質問
ECS インスタンスからカスタムイメージを作成し、そのイメージを使用してノードを作成するにはどうすればよいですか。
ECS インスタンスを作成した後、ソフトウェアのインストールやアプリケーション環境のデプロイなどの操作を実行して、インスタンスをカスタマイズできます。その後、インスタンスからカスタムイメージを作成できます。カスタムイメージから作成されたインスタンスには、カスタマイズされたすべての項目が含まれているため、新しいインスタンスごとにこれらの項目を設定する必要がなくなります。
ECS インスタンスにログインし、次のコマンドを実行して指定されたファイルを削除します。 ECS インスタンスへのログイン方法の詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
chattr -i /etc/acknode/nodeconfig-* rm -rf /etc/acknode systemctl disable ack-reconfig rm -rf /etc/systemd/system/ack-reconfig.service rm -rf /usr/local/bin/reconfig.sh rm -rf /var/lib/cloud systemctl stop kubelet systemctl disable kubelet rm -rf /etc/systemd/system/kubelet.service rm -rf /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
ECS インスタンスからカスタムイメージを作成します。手順と使用上の注意の詳細については、「インスタンスからカスタムイメージを作成する」をご参照ください。
ノードプールを作成します。ノードプールを作成するときは、オペレーティングシステム パラメーターで [カスタムイメージ] を選択します。この Topic で前述した説明に基づいて、他のパラメーターを設定します。
ACK クラスタでサポートされているオペレーティングシステムに基づいて、カスタムイメージを作成します。詳細については、「OS イメージ」をご参照ください。
ACK クラスタ内の実行中の ECS インスタンスでカスタムイメージをビルドしないでください。これを行うには、まずクラスタから ECS インスタンスを削除する必要があります。詳細については、「ノードを削除する」をご参照ください。
カスタムイメージに事前定義された動作ロジックは、クラスタノードの初期化、コンテナの起動、ノードの更新、マネージドノードプール内のノードの自動回復などの操作に影響を与える可能性があります。本番環境で使用する前に、カスタムイメージがテストおよび検証されていることを確認してください。
参照
ノードが使用されなくなった場合は、ノードを削除できます。詳細については、「ノードを削除する」をご参照ください。
ACK は、Kubernetes コンポーネントとシステム プロセスを実行するために一定量のノード リソースを予約します。詳細については、「リソース予約ポリシー」をご参照ください。
クラスタのリソース容量がポッド スケジューリングの要件を満たせない場合は、ノードスケーリングを有効にできます。詳細については、「ノードスケーリング」をご参照ください。
ワーカーノード上のポッドの最大数は、ネットワーク プラグインによって異なり、ほとんどの場合調整できません。クラスタ内のポッドの最大数を増やすには、クラスタ内のノード プールをスケールアウトし、クラスタで使用されるインスタンス仕様をアップグレードし、ポッド CIDR ブロックをリセットできます。詳細については、「クラスタ内のポッドの最大数を増やす」をご参照ください。