Container Service for Kubernetes (ACK) クラスターのノードは、コンテナ化されたアプリケーションの実行に使用される物理マシンまたは仮想マシンです。 ノードプールは、同じ構成を持つノード、または同じ仕様、ゾーン、ラベル、およびテイントを持つノードなど、同じ目的で使用されるノードのグループです。 ノードプールは、クラスタ内のノードの管理およびO&Mを容易にする。 ノードプールを作成するとき、または既存のノードプールの設定を変更するときに、ノード属性を指定できます。
前提条件
ACKクラスターが作成されます。 詳細については、「ACK管理クラスターの作成」をご参照ください。
kubectlクライアントがACKクラスターに接続されています。 詳細については、「クラスターのkubeconfigファイルを取得し、kubectlを使用してクラスターに接続する」をご参照ください。
ノードプールの種類
通常ノードプール: 通常ノードプールを使用して、仕様、ラベル、テイントなどの構成が同じノードのセットを管理できます。 詳細については、「ノードプールの概要」をご参照ください。
マネージドノードプール: マネージドノードプールは、自動共通脆弱性とエクスポージャー (CVE) 脆弱性のパッチ適用や自動ノード修復などの自動O&M機能を提供します。 詳細については、「マネージドノードプールの概要」をご参照ください。
説明ACK Proクラスターのみがマネージドノードプールをサポートしています。
2種類のノードプールの違いの詳細については、「管理対象ノードプールの概要」トピックの「管理対象ノードプールと通常ノードプールの比較」をご参照ください。
手順
ノードプールを作成または変更しても、他の既存のノードプールのノードおよびサービスは影響を受けません。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[ノード] > [ノードプール] を選択します。
[ノードプール] ページで、右上隅の [ノードプールの作成] をクリックします。 [ノードプールの作成] ダイアログボックスで、次の表に示すパラメーターを設定します。
基本設定
基本設定
パラメーター
説明
ノードプール名
ノードプール名を指定します。
管理対象ノードプールの設定
管理対象ノードプール
管理対象ノードプール機能を有効にするかどうかを指定します。
マネージドノードプールは、ACKによって提供されるO&Mフリーのノードプールです。 管理ノードプールは、CVE脆弱性パッチ適用と自動回復をサポートします。 O&M作業を効率的に削減し、ノードのセキュリティを強化できます。 詳細については、「マネージドノードプールの概要」をご参照ください。
自動回復ルール
このパラメーターは、[管理ノードプール] を選択した後に使用できます。
[異常ノードの再起動] を選択すると、関連するコンポーネントが自動的に再起動され、NotReady状態のノードが修復され、再起動する前にノードがドレインされます。
自動更新ルール
このパラメーターは、[管理ノードプール] を選択した後に使用できます。
Kubeletの自動更新を選択した後、新しいバージョンが利用可能になると、システムは自動的にkubeletを更新します。 詳細については、「ノードプールの更新」をご参照ください。
自動CVEパッチ (OS)
このパラメーターは、[管理ノードプール] を選択した後に使用できます。
高リスク、中リスク、および低リスクの脆弱性を自動的にパッチするようにACKを設定できます。 詳細については、「自動修復」および「CVEパッチ適用」をご参照ください。
一部のパッチは、ECSインスタンスを再起動した後にのみ有効になります。 CVE脆弱性にパッチを適用する必要がある場合はノードの再起動を選択すると、システムはオンデマンドでノードを自動的に再起動します。 このオプションを選択しない場合は、ノードを手動で再起動する必要があります。
メンテナンス期間
イメージの更新、ランタイムの更新、およびKubernetesのバージョンの更新は、メンテナンス期間中に自動的に実行されます。 詳細については、「マネージドノードプールの概要」をご参照ください。
リージョン
デフォルトでは、クラスターが存在するリージョンが選択されています。 リージョンを変更することはできません。
機密コンピューティング
説明機密コンピューティングを使用するには、チケットを起票し、ホワイトリストへの追加を申請します。
このパラメーターは、Container Runtimeパラメーターにcontainerdを選択した場合にのみ使用できます。
機密コンピューティングを有効にするかどうかを指定します。 ACKは、ハードウェア暗号化技術に基づくクラウドネイティブでオールインワンの機密コンピューティングソリューションを提供します。 機密コンピューティングは、データのセキュリティ、整合性、機密性を保証します。 信頼できるアプリケーションまたは機密アプリケーションの開発と配信を低コストで簡素化します。 詳細については、「TEEベースの機密コンピューティング」をご参照ください。
Container Runtime
Kubernetesのバージョンに基づいてコンテナーランタイムを指定します。
containerd: containerdはすべてのKubernetesバージョンに推奨されます。
Sandboxed-Container: Kubernetes 1.24以前をサポートしています。
Docker: 1.22以前のKubernetesをサポートしています。
詳細については、「Docker、containerd、およびSandboxed-Containerの比較」をご参照ください。
ネットワーク設定
VPC
デフォルトでは、クラスターが存在する仮想プライベートクラウド (VPC) が選択されています。 VPCは変更できません。
vSwitch
ノードプールをスケールアウトすると、[スケーリングポリシー] パラメーターで選択したポリシーに基づいて、選択したvSwitchのゾーンに新しいノードが作成されます。 使用するゾーンでvSwitchを選択できます。
使用できるvSwitchがない場合は、[vSwitchの作成] をクリックしてvSwitchを作成します。 詳細については、「vSwitchの作成と管理」をご参照ください。
Auto Scaling
自動スケーリングを有効にするかどうかを指定します。 この機能は、リソース需要とスケーリングポリシーに基づいたコスト効率の高いコンピューティングリソースのスケーリングを提供します。 詳細については、「自動スケーリングの概要」をご参照ください。 この機能を有効にする前に、ノードプールのノードオートスケーリングを有効にする必要があります。 詳細については、「手順1: ノードの自動スケーリングの有効化」をご参照ください。
課金方法
ノードプール内のノードでは、従量課金、サブスクリプション、およびプリエンプティブルインスタンスの課金方法がサポートされています。
従量課金を選択した場合、ノードプール内のECSインスタンスは従量課金で課金されます。 ノードプールの使用に対して課金されません。
サブスクリプションの課金方法を選択した場合、[期間] および [自動更新] パラメーターを設定する必要があります。
プリエンプティブルインスタンスの課金方法を選択した場合、次のパラメーターを設定する必要があります。
現在のインスタンス仕様の上限価格: 選択したインスタンスタイプのリアルタイム市場価格がこのパラメーターの値より低い場合、このインスタンスタイプのプリエンプティブルインスタンスが作成されます。 保護期間 (1時間) が終了すると、システムは5分ごとにインスタンスタイプのスポット価格とリソース可用性をチェックします。 リアルタイム市場価格が入札価格を超えた場合、またはリソースインベントリが不十分な場合、プリエンプティブルインスタンスはリリースされます。
ACKは、保護期間を持つプリエンプティブルインスタンスのみをサポートします。 詳細については、「概要」と「プリエンプティブルインスタンスベースのノードプールのベストプラクティス」をご参照ください。
重要ノードプールの課金方法を変更した場合、変更は新しく追加されたノードに対してのみ有効になります。 ノードプール内の既存のノードは、元の課金方法を引き続き使用します。 ノードプール内の既存のノードの課金方法を変更する方法の詳細については、「インスタンスの課金方法を従量課金からサブスクリプションに変更する」をご参照ください。
すべてのノードが同じ課金方法を使用するようにするため、ACKでは、ノードプールの課金方法を従量課金またはサブスクリプションからプリエンプティブインスタンスに変更したり、ノードプールの課金方法をプリエンプティブインスタンスから従量課金またはサブスクリプションに変更したりすることはできません。
インスタンス設定
インスタンスタイプ
インスタンスタイプまたは属性に基づいて、ワーカーノードプールで使用されるECSインスタンスを選択します。 vCPU、メモリ、インスタンスファミリー、アーキテクチャなどの属性でECSインスタンスをフィルタリングできます。
ノードプールをスケールアウトすると、選択したインスタンスタイプのECSインスタンスが作成されます。 ノードプールのスケーリングポリシーは、スケールアウトアクティビティ中に新しいノードを作成するために使用されるインスタンスタイプを決定します。 複数のインスタンスタイプを選択して、ノードプールのスケールアウト操作の成功率を向上させます。
インスタンスタイプが使用できないか、インスタンスが在庫切れであるためにノードプールのスケールアウトに失敗した場合、ノードプールにさらに多くのインスタンスタイプを指定できます。 ACKコンソールは、ノードプールのスケーラビリティを自動的に評価します。 ノードプールを作成するとき、またはノードプールを作成した後に、スケーラビリティレベルを表示できます。
ECSインスタンスタイプの詳細については、「インスタンスファミリーの概要」をご参照ください。
ノードプールのスケーラビリティの詳細については、「ノードプールのスケーラビリティの確認」をご参照ください。
説明ARMベースのECSインスタンスはARMイメージのみをサポートします。 ARMベースのノードプールの詳細については、「ARMベースのノードプールの設定」をご参照ください。
GPU高速化インスタンスのみを選択した場合は、オンデマンドで [GPU共有の有効化] を選択できます。 詳細については、「cGPUの概要」をご参照ください。
システムディスク
ESSD AutoPL、Enterprise SSD (ESSD) 、ESSD Entry、Standard SSD、およびUltra Diskがサポートされています。
選択できるシステムディスクのタイプは、選択するインスタンスタイプによって異なります。 ドロップダウンリストに表示されないディスクタイプは、選択したインスタンスタイプではサポートされていません。 ディスクの詳細については、「ブロックストレージの概要」をご参照ください。 さまざまなインスタンスタイプでサポートされているディスクタイプの詳細については、「インスタンスファミリーの概要」をご参照ください。
説明システムディスクタイプとしてEnterprise SSD (ESSD) を選択した場合、システムディスクのカスタムパフォーマンスレベルを設定できます。 ストレージ容量の大きいESSDでは、より高いPLを選択できます。 たとえば、ストレージ容量が460 GiBを超えるESSDにはPL 2を選択できます。 ストレージ容量が1,260 GiBを超えるESSDには、PL 3を選択できます。 詳細については、「容量とパフォーマンスレベル」をご参照ください。
Encryptionは、システムディスクタイプをEnterprise SSD (ESSD) に設定した場合にのみ選択できます。 デフォルトでは、デフォルトサービスCMKがシステムディスクの暗号化に使用されます。 KMSでBYOKを使用して生成された既存のCMKを使用することもできます。
システムディスク作成の成功率を向上させるために、[その他のシステムディスクタイプ] を選択し、[システムディスク] セクションで現在のディスクタイプ以外のディスクタイプを選択できます。 システムは、指定されたディスクタイプに基づいてシステムディスクを順番に作成しようとします。
データディスクのマウント
ESSD AutoPL、Enterprise SSD (ESSD) 、ESSD Entry、SSD、およびUltra Diskがサポートされています。 選択できるディスクタイプは、選択するインスタンスタイプによって異なります。 ドロップダウンリストに表示されないディスクタイプは、選択したインスタンスタイプではサポートされていません。 ディスクの詳細については、「ブロックストレージの概要」をご参照ください。 さまざまなインスタンスタイプでサポートされているディスクタイプの詳細については、「インスタンスファミリーの概要」をご参照ください。
ESSD AutoPLディスクには、次の機能があります。
パフォーマンスのプロビジョニング: パフォーマンスのプロビジョニング機能を使用すると、ESSD AutoPLディスクのプロビジョニングされたパフォーマンス設定を構成して、ディスクを拡張することなく、ベースラインパフォーマンスを超えるストレージ要件を満たすことができます。
パフォーマンスバースト: パフォーマンスバースト機能により、ESSD AutoPLディスクは、読み書きワークロードのスパイクが発生したときにパフォーマンスをバーストし、ワークロードのスパイクの終了時にパフォーマンスをベースラインレベルまで低下させることができます。
ESSDは次の機能を提供します。
カスタムパフォーマンス。 ストレージ容量の大きいESSDでは、より高いPLを選択できます。 たとえば、ストレージ容量が460 GiBを超えるESSDにはPL 2を選択できます。 ストレージ容量が1,260 GiBを超えるESSDには、PL 3を選択できます。 詳細については、「容量とPL」をご参照ください。
データディスクのタイプを指定するときに、すべてのディスクタイプに対して [暗号化] を選択できます。 デフォルトでは、デフォルトサービスCMKがデータディスクの暗号化に使用されます。 KMSでBYOKを使用して生成された既存のCMKを使用することもできます。
データディスクが各ノードの
/var/lib/container
にマウントされ、/var/lib/kubelet
および/var/lib/containerd
が/var/lib/container
にマウントされていることを確認します。 ノード上の他のデータディスクについては、初期化操作を実行し、マウントディレクトリをカスタマイズできます。 詳細については、「」をご参照ください。ACKノードプールのカスタムディレクトリにデータディスクをマウントできますか?
説明最大64個のデータディスクをECSインスタンスに接続できます。 ECSインスタンスにアタッチできるディスクの最大数は、インスタンスタイプによって異なります。 特定のインスタンスタイプのECSインスタンスにアタッチできるディスクの最大数を照会するには、DescribeInstanceTypes操作を呼び出し、レスポンスのDiskQuantityパラメーターを確認します。
期待されるノード
ノードプール内のノードの予想数。 Expected Nodesパラメーターを変更して、ノードプール内のノード数を調整できます。 ノードプールにノードを作成しない場合は、このパラメーターを0に設定します。 詳細については、「ノードプールのスケーリング」をご参照ください。
オペレーティングシステム
Container Service for Kubernetesは、ContainerOS、Alibaba Cloud Linux 3、Ubuntu、およびWindowsをサポートしています。 詳細については、「OSイメージの概要」をご参照ください。
説明ノードプールのOSイメージを変更した後、変更は新しく追加されたノードに対してのみ有効になります。 ノードプール内の既存のノードは、依然として元のOSイメージを使用する。 既存のノードのOSイメージを更新する方法の詳細については、「ノードプールの更新」をご参照ください。
ノードプール内のすべてのノードが同じOSイメージを使用するようにするために、ACKではノードのOSイメージを最新バージョンにのみ更新できます。 ACKでは、OSイメージのタイプを変更することはできません。
セキュリティ強化
無効化: ECSインスタンスのセキュリティ強化を無効にします。
機密保護に基づく強化: Alibaba Cloud Linux 2またはAlibaba Cloud Linux 3イメージを選択した場合にのみ、セキュリティ強化を有効にできます。 Alibaba Cloudはベースラインとベースラインチェック機能を提供しており、Alibaba Cloud Linux 2イメージとAlibaba Cloud Linux 3イメージが、MLPS (Multi-level Protection Scheme) 2.0のレベル3標準に準拠していることを確認するのに役立ちます。 詳細については、「分類された保護に基づくACK強化」をご参照ください。
重要MLPSセキュリティ強化は、OSイメージの互換性とパフォーマンスを損なうことなく、GB/T 22239-2019情報セキュリティ技術-サイバーセキュリティの分類保護のベースラインの要件を満たすようにOSイメージのセキュリティを強化します。
MLPSセキュリティ強化を有効にすると、ルートユーザーのSSHによるリモートログインは禁止されます。 Virtual Network Computing (VNC) を使用して、ECSコンソールからOSにログインし、SSH経由でログインできる通常のユーザーを作成できます。 詳細については、「VNCを使用したLinuxインスタンスへの接続」をご参照ください。
OSセキュリティの強化: システムイメージがAlibaba Cloud Linux 2またはAlibaba Cloud Linux 3イメージの場合にのみ、Alibaba Cloud Linuxセキュリティの強化を有効にできます。
説明クラスターの作成後、セキュリティ強化パラメーターを変更することはできません。
ログオン設定
ログオンタイプ
有効な値: キーペア、パスワード、後で
説明[セキュリティ強化] パラメーターに [分類された保護に基づく強化] を選択した場合、[パスワード] オプションのみがサポートされます。
ノードプールを作成するときのログオンタイプの設定:
キーペア: Alibaba Cloud SSHキーペアは、ECSインスタンスにログインするための安全で便利な方法を提供します。 SSHキーペアは、公開キーと秘密キーで構成されます。 SSHキーペアはLinuxインスタンスのみをサポートします。 詳細については、「概要」をご参照ください。
パスワード: パスワードの長さは8〜30文字で、英数字、特殊文字を使用できます。
ノードプールの作成後にログインタイプを設定: 詳細については、「インスタンスへのSSHキーペアのバインド」および「インスタンスのログインパスワードのリセット」をご参照ください。
ユーザー名
ログインタイプで [キーペア] または [パスワード] を選択した場合、ユーザー名としてrootまたはecs-userを選択する必要があります。
パブリックIP
各ノードにIPv4アドレスを割り当てるかどうかを指定します。 チェックボックスをオフにすると、パブリックIPアドレスは割り当てられません。 チェックボックスをオンにした場合は、帯域幅課金方法およびピーク帯域幅パラメーターも設定する必要があります。
説明このパラメーターは、新しく追加されたノードでのみ有効になり、既存のノードでは有効になりません。 既存のノードがインターネットにアクセスできるようにするには、EIPを作成し、そのEIPをノードに関連付ける必要があります。 詳細については、「EIPとECSインスタンスの関連付け」をご参照ください。
CloudMonitorエージェント
CloudMonitorエージェントをインストールするかどうかを指定します。 ECSノードにCloudMonitorエージェントをインストールした後、CloudMonitorコンソールでノードに関するモニタリング情報を表示できます。
説明このパラメーターは、新しく追加されたノードでのみ有効になり、既存のノードでは有効になりません。 既存のECSノードにCloudMonitorエージェントをインストールする場合は、CloudMonitorコンソールに移動します。
詳細設定
詳細設定
パラメーター
説明
ECSタグ
自動スケーリング中に自動的に追加されるECSインスタンスにタグを追加します。 タグキーは一意である必要があります。 キーの長さは128文字を超えることはできません。 キーと値は
aliyun
またはacs:
で始めることはできません。 キーと値には、https://
またはhttp://
は使用できません。ECSインスタンスは最大20個のタグを持つことができます。 クォータ制限を増やすには、クォータセンターコンソールでアプリケーションを送信します。 次のタグは、ACKとAuto ScalingによってECSノードに自動的に追加されます。 したがって、最大17個のタグをECSノードに追加できます。
次の2つのECSタグがACKによって追加されます。
ack.aliyun.com:<クラスターID>
ack.alibabacloud.com/nodepool-id: <ノードプールID>
Auto Scalingによって追加されるラベルは、
acs:autoscaling:scalingGroupId:<スケーリンググループID>
です。
説明自動スケーリングを有効にすると、デフォルトで次のECSタグがノードプールに追加されます:
k8s.io/cluster-autoscaler:true
およびk8s.aliyun.com:true
。自動スケーリングコンポーネントは、ノードのラベルとテイントに基づいてスケールアウトアクティビティをシミュレートします。 この目的を満たすために、ノードラベルの形式を
k8s.io/cluster-autoscaler/node-template/label/Label key:Label value
に変更し、taintの形式をk8s.io/cluster-autoscaler/node-template /Taint key/Taint value:Taint effect
に変更します。
テインツ
ノードにテイントを追加します。 taintは、key、value、およびeffectで構成されます。 テイントキーは、接頭辞を付けることができる。 プレフィックス付きのテイントキーを指定する場合は、プレフィックスとキーの残りのコンテンツの間にスラッシュ (/) を追加します。 詳細については、「テイントと寛容」をご参照ください。 汚染には次の制限が適用されます。
キー: キーの長さは1 ~ 63文字で、英数字、ハイフン (-) 、アンダースコア (_) 、ピリオド (.) を使用できます。 キーの先頭と末尾は文字または数字である必要があります。
プレフィックスキーを指定する場合、プレフィックスはサブドメイン名でなければなりません。 サブドメイン名は、ピリオド (.) で区切られたDNSラベルで構成され、253文字を超えることはできません。 スラッシュ (/) で終わる必要があります。 サブドメイン名の詳細については、「DNSサブドメイン名」をご参照ください。
値: 値の長さは63文字を超えることはできません。英数字、ハイフン (-) 、アンダースコア (_) 、ピリオド (.) を使用できます。 値の先頭と末尾は文字または数字である必要があります。 値を空のままにすることもできます。
NoSchedule、NoExecute、PreferNoScheduleのエフェクトを指定できます。
NoSchedule: ノードにeffectがNoScheduleのテイントがある場合、システムはノードへのポッドをスケジュールしません。
NoExecute: このテイントを許容しないポッドは、このテイントがノードに追加された後に削除されます。 このテイントを許容するポッドは、このテイントがノードに追加された後に追い出されません。
PreferNoSchedule: システムは、ポッドによって許容されないテイントを持つノードへのポッドのスケジューリングを回避しようとします。
ノードラベル
ノードにラベルを追加します。 ラベルはキーと値のペアです。 ラベルキーは、接頭辞を付けることができる。 プレフィックス付きラベルキーを指定する場合は、プレフィックスとキーの残りのコンテンツの間にスラッシュ (/) を追加します。 ラベルには次の制限が適用されます。
ラベルのキーは1 ~ 63文字で、英数字、ハイフン (-) 、アンダースコア (_) 、ピリオド (.) を使用できます。 文字または数字で開始および終了する必要があります。
プレフィックスキーを指定する場合、プレフィックスはサブドメイン名でなければなりません。 サブドメイン名は、ピリオド (.) で区切られたDNSラベルで構成され、253文字を超えることはできません。 スラッシュ (/) で終わる必要があります。 サブドメイン名の詳細については、「サブドメイン名」をご参照ください。
次のプレフィックスはキーKubernetesコンポーネントで使用され、ノードラベルでは使用できません。
kubernetes.io/
k8s.io/
kubernetes.io/
またはk8s.io/
で終わるプレフィックス。 例:test.kubernetes.io/
ただし、次のプレフィックスを引き続き使用できます。
kubelet.kubernetes.io/
node.kubernetes.io
末尾が
kubelet.kubernetes.io/
であるプレフィックス。末尾が
node.kubernetes.io
であるプレフィックス。
値の長さは63文字を超えることはできません。英数字、ハイフン (-) 、アンダースコア (_) 、およびピリオド (.) を使用できます。 値の先頭と末尾は文字または数字である必要があります。 値を空のままにすることもできます。
[新しいノードをスケジュール不可に設定] を選択した場合、ノードはクラスターに追加されたときにスケジュール不可になります。 ACKコンソールの [ノード] ページで、既存のノードをスケジュール可能に設定できます。
スケーリングモード
自動スケーリングを有効にした後、スケーリングモードを選択できます。
標準: 自動スケーリングは、ECSインスタンスの作成とリリースによって実装されます。
Swift: 自動スケーリングは、ECSインスタンスの作成、停止、起動によって実装されます。 このモードでは、スケールアウトアクティビティが必要なときに停止状態のインスタンスが開始され、スケーリングプロセスが高速化されます。
インスタンスが停止すると、ストレージサービスに対してのみ課金されます。 これは、ビッグデータインスタンスファミリーやローカルSSDを使用するインスタンスファミリーなど、ローカルストレージを備えたインスタンスファミリーには適用されません。 停止したECSインスタンスの課金の詳細については、「エコノミーモード」をご参照ください。
スケーリングポリシー
優先度: システムは、ノードプールに対して選択したvSwitchの優先度に基づいてノードプールをスケーリングします。 選択したvSwitchは、優先度の高い順に表示されます。 Auto ScalingがvSwitchのゾーンで最も優先度の高いECSインスタンスの作成に失敗した場合、Auto ScalingはvSwitchのゾーンでより優先度の低いECSインスタンスの作成を試みます。
コスト最適化: システムは、vCPU単価に基づいて昇順でインスタンスを作成します。 スケーリング設定で複数のプリエンプティブインスタンスタイプが指定されている場合、プリエンプティブインスタンスは優先的に作成されます。 在庫不足などの理由でプリエンプティブルインスタンスを作成できない場合、システムは従量課金インスタンスの作成を試みます。
[課金方法] が [プリエンプティブルインスタンス] に設定されている場合、[補足プリエンプティブルインスタンスの有効化] パラメーターに加えて、次のパラメーターを設定できます。
従量課金インスタンスの割合: ノードプール内の従量課金インスタンスの割合を指定します。 有効値: 0~100。
追加の従量課金インスタンスの有効化: この機能を有効にすると、Auto Scalingは、単価が高すぎる、またはプリエンプティブルインスタンスが在庫切れなどの理由でプリエンプティブルインスタンスの作成に失敗した場合、スケーリング要件を満たす従量課金ECSインスタンスの作成を試みます。
配布バランシング: 均等配布ポリシーは、複数のvSwitchを選択した場合にのみ有効になります。 このポリシーにより、ECSインスタンスがスケーリンググループのゾーン (vSwitch) に均等に分散されます。 在庫不足などの理由でECSインスタンスがゾーン全体に不均一に分散している場合は、リバランス操作を実行できます。
重要ノードプールの作成後にノードプールのスケーリングポリシーを変更することはできません。
[課金方法] が [プリエンプティブルインスタンス] に設定されている場合、[補足プリエンプティブルインスタンスの有効化] をオンにするかどうかを指定できます。 この機能が有効になった後、プリエンプティブルインスタンスが再利用されたことを示すシステムメッセージが受信されると、自動スケーリングが有効になっているノードプールは、再利用されたプリエンプティブルインスタンスを置き換える新しいインスタンスの作成を試みます。
CPUポリシー
kubeletノードのCPU管理ポリシー。
詳細については、「CPU管理ポリシー」をご参照ください。
リソースグループ
クラスターが属するリソースグループ。 各リソースは1つのリソースグループにのみ属することができます。 リソースグループは、ビジネスシナリオに基づいて、プロジェクト、アプリケーション、または組織と見なすことができます。
デプロイメントセット
重要デプロイメントセット機能を使用するには、Quota Centerコンソールのホワイトリストに追加するように申請します。
コントロールプレーンの作成後に、コントロールプレーンで使用されるデプロイメントセットを変更することはできません。
デプロイメントセットを選択すると、ノードプールに作成できるノードの最大数が制限されます。 デフォルトでは、デプロイメントセットでサポートされるノードの最大数は
20 × ゾーン数
です。 ゾーンの数は、vSwitchの数によって異なります。 デプロイメントセットを選択するときは注意してください。 ノード作成の失敗を回避するには、選択したデプロイメントセットのECSクォータで十分であることを確認します。
最初にECSコンソールでデプロイメントセットを作成し、ACKコンソールでノードプールを作成するときにデプロイメントセットを指定する必要があります。 デプロイメントセットの作成方法の詳細については、「デプロイメントセットの作成」をご参照ください。
デプロイメントセットを使用してECSインスタンスを異なる物理サーバーに分散し、高いサービス可用性を確保し、基盤となるディザスタリカバリを実装できます。 ECSインスタンスの作成時にデプロイメントセットを指定した場合、インスタンスは、指定したリージョン内のデプロイメントセットに対して事前設定したデプロイメント戦略に基づいて作成および配布されます。 詳細については、「デプロイメントセットをノードプールに関連付けるためのベストプラクティス」をご参照ください。
カスタムセキュリティグループ
[Basic Security Group] または [Advanced Security Group] を選択できますが、選択できるセキュリティグループの種類は1つだけです。 ノードプールのセキュリティグループを変更したり、セキュリティグループのタイプを変更したりすることはできません。 セキュリティグループの詳細については、「概要」をご参照ください。
重要カスタムセキュリティグループを使用するには、Quota Centerのホワイトリストに追加するように申請します。
各ECSインスタンスは最大5つのセキュリティグループをサポートしています。 ECSインスタンスのセキュリティグループのクォータが十分であることを確認します。 セキュリティグループの制限およびECSインスタンスのセキュリティグループのクォータ制限を増やす方法の詳細については、「セキュリティグループの制限」をご参照ください。
既存のセキュリティグループを選択した場合、セキュリティグループルールは自動的に設定されません。 これにより、クラスター内のノードにアクセスするときにエラーが発生する可能性があります。 セキュリティグループルールを手動で設定する必要があります。 セキュリティグループルールを管理する方法の詳細については、「ACKクラスターにアクセス制御を適用するセキュリティグループルールの設定」をご参照ください。
カスタムイメージ
カスタムイメージを指定すると、デフォルトのシステムイメージがカスタムイメージに置き換えられます。
カスタムイメージ: クラスター内のすべてのノードは、カスタムイメージに基づいてデプロイされます。 カスタムイメージの作成方法の詳細については、「カスタムイメージに基づくクラスターまたはノードプールの作成」をご参照ください。
共有イメージ: クラスター内のすべてのノードは、共有イメージに基づいてデプロイされます。 共有イメージの詳細については、「手順」をご参照ください。
重要ACKクラスターでサポートされているオペレーティングシステムに基づいてカスタムイメージを作成します。 詳細については、「OSイメージの概要」をご参照ください。
カスタムイメージ内の事前定義された動作ロジックは、クラスタノードの初期化、コンテナの起動、ノードの更新、管理対象ノードプール内のノードの自動回復などの操作に影響を与える可能性があります。 本番環境で使用する前に、カスタムイメージがテストおよび検証済みであることを確認してください。
この機能は、ホワイトリストユーザーのみが使用できます。 Quota Centerコンソールでアプリケーションを送信します。
RDSホワイトリスト
[RDSインスタンスの選択] をクリックして、ApsaraDB RDSインスタンスのホワイトリストにノードIPアドレスを追加します。
カスタムノード名
カスタムノード名を使用するかどうかを指定します。 カスタムノード名を使用することを選択した場合、ノードの名前、ECSインスタンスの名前、およびECSインスタンスのホスト名が変更されます。
説明Windowsインスタンスがカスタムノード名を使用する場合、インスタンスのホスト名はIPアドレスに固定されます。 IPアドレスのピリオド (
.
) を置き換えるには、ハイフン (-
) を使用する必要があります。 さらに、プレフィックスまたはサフィックスはIPアドレスで許可されません。カスタムノード名は、プレフィックス、IP部分文字列、およびサフィックスで構成されます。
カスタムノード名は2 ~ 64文字である必要があります。 名前の最初と最後は、小文字または数字にする必要があります。
接頭辞と接尾辞には、英数字、ハイフン (-) 、およびピリオド (.) を使用できます。 接頭辞と接尾辞は文字で始まる必要があり、ハイフン (-) またはピリオド (.) で終わることはできません。 接頭辞と接尾辞には、連続したハイフン (-) またはピリオド (.) を含めることはできません。
プレフィックスはECSの制限により必須で、サフィックスはオプションです。
たとえば、ノードIPアドレスは192.XX. YY.55、プレフィックスiはs aliyun.com、サフィックスはtestです。
ノードがLinuxノードの場合、ノード名、ECSインスタンス名、およびECSインスタンスのホスト名は、192.XX. YY.55testをe aliyun.comします。
ノードがWindowsノードの場合、ECSインスタンスのホスト名は192-XX-YY-55で、ノード名とECSインスタンス名は192.XX. YY.55testにe aliyun.comます。
ワーカーRAMロール
ワーカーRAMロールをノードプールに割り当てると、クラスター内のすべてのノード間でワーカーRAMロールを共有する潜在的なリスクを減らすことができます。
デフォルトロール: ノードプールは、クラスターによって作成されたデフォルトワーカーRAMロールを使用します。
カスタム: ノードプールは、指定されたロールをワーカーRAMロールとして使用します。 空の場合、デフォルトのロールが使用されます。 詳細については、「」をご参照ください。カスタムワーカーRAMロールの使用.
重要Kubernetes 1.22以降のバージョンを実行するACKマネージドクラスターのみがこの機能をサポートしています。
この機能は、ホワイトリストユーザーのみが使用できます。 それを使用するには、必要 チケットを起票します。
事前定義済みカスタムデータ
この機能を使用するには、Quota Centerコンソールでアプリケーションを送信します。
ノードは、クラスターに追加される前に、定義済みのスクリプトを自動的に実行します。 ユーザーデータスクリプトの詳細については、「ユーザーデータスクリプト」をご参照ください。
たとえば、
echo "hello world"
と入力すると、ノードは次のスクリプトを実行します。#!/bin/bash echo "hello world" [Node initialization script]
ユーザーデータ
ノードは、クラスターに追加されると、ユーザーデータスクリプトを自動的に実行します。 ユーザーデータスクリプトの詳細については、「ユーザーデータスクリプト」をご参照ください。
たとえば、
echo "hello world"
と入力すると、ノードは次のスクリプトを実行します。#!/bin/bash echo "hello world" [Node initialization script]
説明クラスターの作成またはノードの追加後、ノードでのユーザーデータスクリプトの実行が失敗する場合があります。 ノードにログインし、
grep cloud-init/var/log/messages
コマンドを実行して実行ログを表示し、ノードで実行が成功したか失敗したかを確認することを推奨します。プライベートプールタイプ
説明このパラメータはカナリアリリースにあります。 この機能を使用するには、チケットを起票します。
有効な値: [開く] 、[使用しない] 、および [指定] 。
開く: システムは自動的に開いているプライベートプールに一致します。 一致が見つからない場合、パブリックプール内のリソースが使用されます。
使用しない: プライベートプールは使用されません。 パブリックプール内のリソースのみが使用されます。
指定済み: プライベートプールをIDで指定します。 指定されたプライベートプールが利用できない場合、ECSインスタンスの起動に失敗します。
詳細については、「プライベートプール」をご参照ください。
[注文の確認] をクリックします。
ノードプールリストのノードプールの [ステータス] 列に [初期化] が表示されている場合、ノードプールは作成中です。 ノードプールが作成されると、ノードプールの [ステータス] 列に [アクティブ] が表示されます。
次に何をすべきか
ノードプールの作成後、ノードプールの [操作] 列のアクションをクリックするか、[操作] 列の [詳細] をクリックして、次の表に示す操作のいずれかを実行できます。
UI | 説明 | 関連ドキュメント |
詳細 | ノードプールの詳細を表示します。 | 非該当 |
編集 | ノードプールの設定を変更します。 たとえば、ノードプールのvSwitch、管理対象ノードプールの設定、課金方法、インスタンスタイプ、または自動スケーリング設定を変更できます。 | |
モニター | Managed Service for Prometheusによって収集されたElastic Compute Service (ECS) インスタンスに関する基本的なモニタリング情報を表示します。 | |
スケール | 予想されるノード数を調整して、ノードプールをスケーリングします。 そのため、コストを削減できます。 | |
管理対象ノードプールの設定 | 自動復旧ルール、自動更新ルール、自動CVE脆弱性パッチ適用など、管理対象ノードプールの設定を構成します。 | このトピックの基本設定セクション |
既存のノードの追加 | 既存のECSインスタンスをACKクラスターに自動的または手動で追加します。 | |
クローン | 現在のノードプール設定に基づいて、予想される数のノードを含むノードプールをクローンします。 | 非該当 |
ノード修復 | 管理対象ノードプール内のノードで例外が発生した場合、ACKは自動的にノードを修復します。 | |
CVEパッチ (OS) | 数回クリックするだけで、ノードのリスクの高いCVE脆弱性にパッチを適用できます。 | |
Kubeletの設定 | kubelet設定を変更します。 | |
アップグレード | kubelet、オペレーティングシステム、またはコンテナーランタイムをオンデマンドで更新します。 | |
削除 | 現在のノードプールを削除してコストを節約します。 |