EKS 自動モード - Amazon EKS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

EKS 自動モード

ヒント

Amazon EKS Auto Mode の実践的な経験に興味がありますか? AWS Connected Community にサインアップして、AWS の専門家が主催する次回の仮想 Kubernetes ワークショップに参加してください。

Amazon EKS Auto Mode は、Kubernetes インフラストラクチャ管理の大幅な進化を表し、安全でスケーラブルなクラスターインフラストラクチャと AWS によって管理される統合された Kubernetes 機能を組み合わせます。このサービスは、フルマネージド型のワーカーノードオペレーションを提供するため、お客様が Managed Node Groups または AutoScaling グループ を設定する必要がなくなります。

EKS Auto Mode の主なアーキテクチャ上の違いは、ポッドリクエスト に応じて EC2 インスタンスを自動的にプロビジョニングする Karpenter ベースのシステムを使用することです。これらのインスタンスは、EBS CSI AMIs で実行されるため、インフラストラクチャは AWS によって真に管理されます。従来のスケーリング方法とは対照的に、次のようになります。

  • 従来の Cluster Autoscaler (CAS) では、ノードグループを手動で管理する必要があり、ノードグループごとに単一のインスタンスタイプを持つノードのみを作成できます。

  • セルフマネージド Karpenter は、EC2 フリート API を使用して柔軟性を高め、さまざまなインスタンスタイプをプロビジョニングできますが、カスタマー管理が必要です

  • EKS Auto Mode は、マネージド NodePools と NodeClasses を介してすべてのスケーリングオペレーションを自動的に処理します。

新しいシステムでは、いくつかの運用上の改善が導入されています。

  • 手動ノードグループ設定を使用しないポッド駆動型自動スケーリング

  • Ingress リソースに基づいて ALB/NLB を自動的に作成する組み込みマネージドロードバランサーコントローラー

  • 事前設定された Pod ID と統合されたセキュリティ機能

  • 自動交換によるノードの最大ランタイムは 21 日

コストの観点からは、EKS Auto Mode は標準の EC2 料金を維持しながら、Auto Mode が管理するノードに対してのみ管理料金を追加します。重要なのは、Auto Mode マネージドノードを同じクラスター内のセルフマネージドノードと混在させることです。

AWS はほとんどの運用面を処理しますが、お客様はクラスターバージョン管理の責任を負い、ワーカーノードのローリング更新をトリガーする制御されたアップグレードを実行できます。

自動モードを使用する理由

Auto Mode は、Kubernetes と EKS の利点を必要とするユーザーを対象としていますが、Auto Scaling、ロードバランシング、ストレージなどの重要なプラットフォーム部分のアップグレードやインストール/メンテナンスなど、Kubernetes に関する運用上の負担を最小限に抑える必要があります。Auto Mode は、EKS を Kubernetes メンテナンスに伴う未分化の重労働の最小化にさらに踏み込む

よくある質問

EKS Auto Mode とオープンソース Karpenter の違いは何ですか?

EKS Auto Mode は、本番稼働グレードの Kubernetes の実行を簡素化する大規模な機能スイートです。これらの機能の 1 つは、フルマネージド型の Karpenter の自動スケーリングの利点です。オペレーションの観点から見ると、唯一の違いは、Karpenter ポッド自体のデプロイ、スケーリング、アップグレードを管理する必要がない EKS Auto Mode です。マネージド NodeClasses や NodePools などの他のすべてのオペレーションは、オープンソースの Karpenter と同様に機能します。

Auto Mode が管理するノードと一緒にマネージド型ノードグループを実行できますか?

はい。Auto Mode で提供されている Auto Scaling ノードとともに、マネージド型ノードグループを介して静的ノードを実行できます。

クラスターを標準 EKS から EKS Auto Mode に移行できますか?

はい。既存のクラスターで EKS Auto Mode を有効にする手順については、AWS の公式ドキュメントを参照してください。

注意点: 1。Auto Mode を有効にしたら、Karpenter や AWS Load Balancer Controller 2 など、Auto Mode で管理されているコンポーネントをインストール済みであれば、アンインストールします。インストールされているアドオンがup-to-dateであることを確認する必要があります。ドキュメントを参照してください。

EKS Auto Mode で NodePools を設定する方法

新しいクラスターは 2 つの NodePoolsで事前設定されます

汎用

汎用 NodePool

この NodePool は、次の特性を持つノードを起動するように Karpenter に指示します。

  1. 「オンデマンド」のキャパシティタイプ

  2. C、M、または R のインスタンスタイプ

  3. 4 のインスタンス生成

  4. AMD アーキテクチャ

  5. Linux OS

また、特定の時点ですべてのノードの 10% のみが中断状態になり、ノードが空であるか使用率が低い場合にのみ統合が行われることを宣言することで、スケールダウンロジックを定義します。

システム

システム NodePool

この NodePool は、以下の違いを除いて「汎用」に似ています。

  1. これにより、ARM アーキテクチャと AMD アーキテクチャを持つノードが可能になります。

  2. CriticalAddonsOnly」に許容範囲がない限り、これらのノードを NoSchedule で汚染します。これは EKS アドオンによる内部使用を目的としています

カスタム

必要に応じて、独自のカスタム NodePools を作成できます。NodePools の詳細については、Karpenter ドキュメントを参照してください。

新しいノードの起動時に Auto Mode で使用される AMI をカスタマイズできますか?

いいえ。現在サポートされている AMIs は Amazon が提供する Bottlerocket のみです

Kubernetes ホストにカスタムツールまたはエージェントをインストールするにはどうすればよいですか?

AMI のカスタマイズはサポートされていないため、セキュリティスキャンなどのホストレベルのソフトウェアが必要な場合は、ワークロードを Kubernetes DaemonSet としてデプロイする必要があります。

新しい EKS Auto Mode クラスターをプロビジョニングするときに、クラスターデータプレーンで実行されているコンポーネントは何ですか?

eksctl または AWS コンソールを使用してクラスターを作成する場合、EKS Auto Mode クラスターで実行されているポッドは Kubernetes Metrics Server ポッドのみです。Karpenter、AWS Load Balancer Controller、EBS CSI ドライバーなどの EKS Auto Mode の他のコンポーネントはすべてクラスター外で実行および管理されています。

新しい EKS Auto Mode クラスターをサポートするために実行されているマネージドコンポーネントは何ですか?

EKS Auto Mode は、本稼働グレードの Kubernetes に必要なデータプレーンのほとんどのデプロイを完全に自動化します。これには、以下が含まれます。

  • Karpenter、クラスターのコンピューティングを自動スケーリング

  • AWS Load Balancer Controller を使用すると、自動化された Elastic Load Balancer 統合を介して Kubernetes サービスを簡単に公開できます。

  • EBS CSI

  • VPC CNI

  • EKS Pod Identity エージェント

がクラスターでポッドとして実行していた Auto Mode のコンポーネントをトラブルシューティングするにはどうすればよいですか?

EKS Auto Mode では、AWS Load Balancer Controller や Karpenter などの多くのコンポーネントがクラスターの外部で管理されるため、自己管理時と同じログを可視化することはできません。Auto Mode 機能の機能をトラブルシューティングする必要がある場合は、AWS サポートチケットを作成します。