Amazon EKS Auto Mode クラスターにサンプルの拡張ワークロードをデプロイする - アマゾン EKS

このページの改善にご協力ください

本ユーザーガイドの改善にご協力いただけませんか? すべてのページの右側のペインにある GitHub リンクで、このページの編集を選択してください。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。

Amazon EKS Auto Mode クラスターにサンプルの拡張ワークロードをデプロイする

このチュートリアルでは、サンプルワークロードを EKS Auto Mode クラスターにデプロイする方法と、必要なコンピューティングリソースがどのように自動的にプロビジョニングされるか説明します。kubectl コマンドを使用してクラスターの動作を監視し、Auto Mode により AWS での Kubernetes オペレーションがどのように簡素化されるかを直接確認します。このチュートリアルを終了すると、基盤となるコンピューティングリソースを自動的に管理することで、ノードグループを手動で設定する必要なく、EKS Auto Mode がワークロードのデプロイにどのように対応するかがわかります。

前提条件

  • コンピューティング機能が有効になっている Amazon EKS Auto Mode クラスター。クラスターの名前と AWS リージョンをメモします。

  • ネットワーキング、コンピューティング、および EKS リソースを管理するのに十分なアクセス許可を持つ、ユーザーやロールなどの IAM プリンシパル。

  • IAM ID で aws CLI がインストールおよび設定されている。

  • kubectl CLI がインストールされ、クラスターに接続されている。

ステップ 1: 既存のコンピューティングリソースを確認する (任意)

まず、kubectl を使用してクラスターのノードプールを一覧表示します。

kubectl get nodepools

サンプル出力:

general-purpose

このチュートリアルでは、general-purpose ノードプールを使用するように設定されたワークロードをデプロイします。このノードプールは EKS Auto Mode に組み込まれ、マイクロサービスやウェブアプリケーションなどの一般的なワークロードに適したデフォルトが含まれます。独自のノードプールを作成できます。詳細については、「EKS 自動モードl 用のノードプールを作成する」を参照してください。

次に、kubectl を使用してクラスターに接続されているノードを一覧表示します。

kubectl get nodes

EKS Auto Mode クラスターを作成したばかりの場合は、ノードはありません。

このチュートリアルでは、サンプルワークロードをデプロイします。ノードがない場合、またはワークロードが既存のノードに収まらない場合、EKS Auto Mode は新しいノードをプロビジョニングします。

ステップ 2: サンプルアプリケーションをクラスターにデプロイする

次の Kubernetes デプロイを確認し、inflate.yaml として保存します

apiVersion: apps/v1 kind: Deployment metadata: name: inflate spec: replicas: 1 selector: matchLabels: app: inflate template: metadata: labels: app: inflate spec: terminationGracePeriodSeconds: 0 nodeSelector: eks.amazonaws.com/compute-type: auto securityContext: runAsUser: 1000 runAsGroup: 3000 fsGroup: 2000 containers: - name: inflate image: public.ecr.aws/eks-distro/kubernetes/pause:3.7 resources: requests: cpu: 1 securityContext: allowPrivilegeEscalation: false

eks.amazonaws.com/compute-type: auto セレクターでは、ワークロードを Amazon EKS Auto Mode ノードにデプロイする必要があることに注意してください。

デプロイをクラスターに適用します。

kubectl apply -f inflate.yaml

ステップ 3: Kubernetes イベントを監視する

次のコマンドを使用して、新しいノードの作成などの Kubernetes イベントを監視します。ctrl+c を使用してイベントの監視を停止します。

kubectl get events -w --sort-by '.lastTimestamp'

kubectl を使用して、クラスターに接続されているノードを再度一覧表示します。新しく作成されたノードをメモします。

kubectl get nodes

ステップ 4: AWS コンソールでノードとインスタンスを表示する

EKS Auto Mode ノードは EKS コンソールで表示でき、関連付けられた EC2 インスタンスは EC2 コンソールで表示できます。

EKS Auto Mode によってデプロイされた EC2 インスタンスは制限されています。EKS Auto Mode ノードで任意のコマンドを実行することはできません。

ステップ 5: デプロイを削除する

kubectl を使用してサンプルデプロイを削除します

kubectl delete -f inflate.yaml

クラスターに他のワークロードがデプロイされていない場合、EKS Auto Mode によって作成されたノードは空になります。

デフォルト設定では、EKS Auto Mode は空のノードを 30 秒間検出し、そのノードを終了します。

kubectl または EC2 コンソールを使用して、関連付けられたインスタンスが削除されたことを確認します。