Container Service for Kubernetes (ACK) Auto モードは、エンタープライズ本番環境向けに、自動化およびインテリジェントなクラスターの運用保守 (O&M) を提供します。Auto モードを有効にすると、最小限のネットワーク計画で Kubernetes クラスターを作成できます。
Auto モードには、以下のメリットがあります。
フルマネージドのクラスターコントロールプレーンと主要なシステムアドオン、自動 Kubernetes バージョンアップグレード、および完全なノードライフサイクル管理を含む、包括的なマネージド運用保守。
手動でのキャパシティプランニングを不要にする自動ノードスケールインおよびスケールアウトにより、ノードリソースコストの最適化を支援。
組み込みのマネージド Application Load Balancer (ALB) Ingress により、クラスター内の Service に統一されたアプリケーションアクセスポイントを提供。
デフォルトでセキュアであり、イミュータブルなノードホストファイルシステム (FS) によってシステムセキュリティを強化。
DaemonSet などのリソースのサポートを含む、ネイティブ Kubernetes エコシステムとの完全な互換性。
Auto モードは、一般的なコンテナ化シナリオに最適であり、特に以下のケースに適しています。
リソースが限られており、Kubernetes インフラストラクチャを管理するための大規模なチームを確保できない場合。
専門的な Kubernetes 運用保守の経験がないが、Kubernetes を使用してアプリケーションのコンテナ化とモダナイゼーションを行いたい場合。
全世界に標準化された Kubernetes 環境を迅速にデプロイする必要がある場合。
機能
マネージド運用保守
クラスターレベル:クラスターコントロールプレーンと、CoreDNS や Container Storage Interface (CSI) などの主要なシステムアドオンはフルマネージドです。自動 Kubernetes バージョンアップグレードがデフォルトで有効になっています。
ノードレベル:デフォルトでは、ACK はクラスターシステムアドオンをホストする
ack-systemという名前のシステムノードプール (システムノードプール) と、ビジネスワークロードをホストするdefaultという名前のノードプール (インテリジェントマネージドノードプール) を作成します。ACK は最適なインスタンスタイプを自動的に推奨するため、手動設定は不要です。また、ACK は OS およびノードアドオンのアップグレード、ノードセキュリティ脆弱性パッチなどの運用保守タスクも処理します。
伸縮自在なノードスケーリング
Auto モードには、ワークロード要件に基づいてノードを動的にスケーリングするノードインスタントスケーリングが組み込まれています。これにより、事前のキャパシティプランニングが不要になり、リソースコストが最適化されます。
秒レベルの Pod スケーリング
Auto モードは、Pod オートスケーリングのバッファを提供するack-autoscaling-placeholder を使用した秒レベルのコンテナスケーリングをサポートしています。この機能により、ノードを事前にウォームアップできるため、新しいノードの作成や参加に伴う遅延なく、迅速な Pod スケールアウトが可能になります。
Application Load Balancer (ALB)
ALB に基づく組み込み ALB Ingress は、強化された Ingress トラフィック管理を提供し、Nginx Ingress と互換性があり、複雑なビジネスルーティングを処理し、自動証明書検出をサポートし、HTTP、HTTPS、および QUIC プロトコルをサポートします。
セキュリティ
デフォルトで最適化されたベースソフトウェアスタック:ノードはContainerOS を使用します。イミュータブルなルートファイルシステムはセキュリティを強化し、合理化されたシステムと設定はノード起動を高速化します。最適化されたカーネルは、ハードウェアパフォーマンスの最大化に役立ちます。
デフォルトでのセキュリティとオブザーバビリティ:クラスターチェック / クラスターインスペクション、API サーバー監査、コントロールプレーンアドオンログ収集などの機能がデフォルトで有効になっており、クラスターの問題を迅速に特定して解決するのに役立ちます。
注意事項
Auto モードクラスターには、以下の使用上の注意が適用されます。
手動ノード運用保守:ACK が OS アップグレード、ソフトウェアアップグレード、またはセキュリティ脆弱性パッチなどの運用保守タスクを実行する場合、タスクにはソフトウェアバージョンの変更、設定の変更、再起動、およびノードドレインが含まれます。
重要ノードプール内の ECS インスタンスに対して、再起動、データディスクのマウント、ノードへのログインによる設定変更などの手動運用保守を実行しないでください。手動操作は自動化ポリシーと競合する可能性があります。
ワークロードの可用性:ビジネスの中断なくノードを保守のためにドレインできるようにするには、適切な数のレプリカ、グレースフルシャットダウンのための PreStop フック、および PodDisruptionBudget ポリシーを使用してワークロードを設定してください。
ストレージ:ノードは、伸縮自在なスケーリングポリシーによって自動的に置き換えられる場合があります。
説明hostPathなどの特定のノードパスに依存するストレージ方法は避けてください。永続的なストレージには PersistentVolumeClaim (PVC) を使用してください。ContainerOS の互換性:ContainerOS にはイミュータブルなルートファイルシステムがあるため、アプリケーションがノード環境のカスタマイズやローカルデータの永続化を必要とする場合は、ContainerOS を参照して、事前に互換性を評価してください。
開始方法
クラスターにワークロードをデプロイし、ALB Ingress を使用してインターネットに公開します。詳細については、「ワークロードのデプロイとロードバランシングの設定」をご参照ください。
必要に応じて、追加のノードプール (Auto モードの有無を問わず) を作成します。詳細については、「ノードプールの作成と管理」をご参照ください。
クォータと制限事項
-
インテリジェントマネージドノードプールを使用する場合、ACK はワークロードの需要に基づいてノードを動的にスケーリングします。デフォルトでは、最大 50 ノードまでのスケールアウトをサポートします。ノードプールのスケーリング設定を使用して、インスタンスの最大数を変更できます。
インテリジェントマネージドノードプールは、Arm ベースのインスタンスやローカルディスク付きのインスタンスなどの特定のインスタンスタイプをサポートしておらず、ContainerOS 3.6 以降のみをサポートします。ACK は、ほとんどのユースケースのニーズを満たすデフォルトのインスタンスタイプファミリーを推奨します。また、特定のビジネス要件に基づいてコンソールで設定を調整することもできます。ノードプールの弾力性を高め、スケーリングの失敗を防ぐために、十分な数のインスタンスタイプを設定することを推奨します。
大規模なクラスターまたはアカウント配下に大量のリソースがある場合は、ACK クラスターに適用されるクォータと制限に従う必要があります。
アカウント残高要件などの ACK 設定制限、および単一クラスターでの異なる Kubernetes リソースの最大容量を指定する単一クラスター容量制限。
ACK クラスターおよび ECS や Virtual Private Cloud (VPC) などの依存クラウドサービスのクォータ、およびクォータを増やす方法に関する情報。
課金
Auto モードはACK マネージド Pro 版クラスターでのみ有効にできます。機能自体は無料ですが、クラスター管理料金および関連するクラウドリソースについては通常どおり課金されます。詳細については、「課金の概要」および「クラウドリソースの料金」をご参照ください。
よくある質問
ACK Auto モードクラスターで Auto モード以外のノードプールを作成できますか
はい。必要に応じてセルフマネージドノードプールを作成でき、作成時にマネージド設定を選択できます。詳細については、「ノードプールの作成と管理」をご参照ください。異なるマネージド設定の機能の比較については、「他のノードプールモードとの比較」をご参照ください。
システムノードプールではどのアドオンが実行されますか
すべての ACK システムアドオンは、システムノードプールで実行されるようにスケジュールされます。これには以下が含まれますが、これらに限定されません。
CoreDNScsi-plugincsi-provisionermetrics-serverack-cost-exporterloongcollector
システムノードプールを削除できますか
特別な理由がない限り、システムノードプールを削除しないでください。削除すると、システムアドオン Pod の退避が発生します。通常のノードプールはスケジューリング制約を満たしていない (必要なラベルと Taint と Toleration がない) ため、システムアドオンを再スケジュールできず、クラスターの誤動作を引き起こす可能性があります。
削除する必要がある場合は、まず以下のスケジューリング要件を満たす代替ノードプールを作成してください。
labels:
alibabacloud.com/system-nodepool: "true"
taints:
- key: CriticalAddonsOnly
value: "true"
effect: NoSchedule