はじめに
EKSワークショップの最初 のハンズオンラボへようこそ。この演習の目的は、IDE環境に必要な設定を準備し、その構造を探索することです。
始める前に、IDE環境とEKSクラスターを準備するために次のコマンドを実行する必要があります:
このコマンドは、EKS WorkshopのGitリポジトリをIDE環境にクローンします。
prepare-environmentは何をするのですか?(クリックして展開)
prepare-environmentコマンドは、各ワークショップモジュールのラボ環境をセットアップする重要なツールです。バックグラウンドで次のことを実行します:
- リポジトリのセットアップ:GitHubから最新のEKS Workshopコンテンツを
/eks-workshop/repositoryにダウンロードし、Kubernetesマニフェストを~/environment/eks-workshopにリンクします - クラスターのリセットとクリーンアップ:サンプルの小売アプリケーションを基本状態にリセットします。以前のラボからの残存リソースを削除し、EKS管理ノードグループを初期サイズ(3ノード)に復元します。
- ラボ固有のインフラストラクチャ:Terraformを使用して必要な追加AWSリソースを作成し、必要なKubernetesマニフェストをデプロイし、環境変数を設定し、必要なアドオンやコンポーネントをインストールすることで、対象モジュールを使用可能な状態にします。
ワークショップの構造
prepare-environmentを実行した後、~/environment/eks-workshop/でワークショップ資料にアクセスできます。ワークショップは、任意の順序で完了できるモジュール式のセクションで構成されています。
EKSクラスターの探索
環境の準備が整ったので、プロビジョニングされたEKSクラスターを探索しましょう。次のコマンドを実行して、クラスターに慣れてください:
クラスター情報
まず、クラスター接続を確認し、基本情報を取得しましょう:
Kubernetes control plane is running at https://XXXXXXXXXXXXXXXXXXXXXXXXXX.gr7.us-west-2.eks.amazonaws.com
CoreDNS is running at https://XXXXXXXXXXXXXXXXXXXXXXXXXX.gr7.us-west-2.eks.amazonaws.com/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
クラスターバージョンを確認します
Client Version: v1.33.5
Kustomize Version: v5.6.0
Server Version: v1.33.5-eks-113cf36
クラスター内のワーカーノードを確認します
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
ip-10-42-121-153.us-west-2.compute.internal Ready <none> 26h v1.33.5-eks-113cf36 10.42.121.153 <none> Amazon Linux 2023.9.20250929 6.12.46-66.121.amzn2023.x86_64 containerd://1.7.27
ip-10-42-141-241.us-west-2.compute.internal Ready <none> 26h v1.33.5-eks-113cf36 10.42.141.241 <none> Amazon Linux 2023.9.20250929 6.12.46-66.121.amzn2023.x86_64 containerd://1.7.27
ip-10-42-183-73.us-west-2.compute.internal Ready <none> 26h v1.33.5-eks-113cf36 10.42.183.73 <none> Amazon Linux 2023.9.20250929 6.12.46-66.121.amzn2023.x86_64 containerd://1.7.27
これにより、ワーカーノード、そのKubernetesバージョン、内部/外部IP、および使用されているコンテナランタイムが表示されます。
クラスターコンポーネントの探索
クラスターで実行されているシステムコンポーネントを見てみましょう:
NAME READY STATUS RESTARTS AGE
aws-node-8cz4d 2/2 Running 0 26h
aws-node-jlg4q 2/2 Running 0 26h
aws-node-vdc56 2/2 Running 0 26h
coredns-7bf648ff5d-4fqv9 1/1 Running 0 26h
coredns-7bf648ff5d-bfwwf 1/1 Running 0 26h
kube-proxy-77ln2 1/1 Running 0 26h
kube-proxy-7bwbj 1/1 Running 0 26h
kube-proxy-jnhfx 1/1 Running 0 26h
metrics-server-7fb96f5556-2k4lh 1/1 Running 0 26h
metrics-server-7fb96f5556-mpj78 1/1 Running 0 26h
次のような重要なコンポーネントが表示されます:
- CoreDNS - クラスターにDNSサービスを提供します
- AWS Load Balancer Controller - サービス用のAWSロードバランサーを管理します
- VPC CNI - VPC内のPodネットワーキングを処理します
- kube-proxy - 各ノード上のネットワークルールを管理します
サンプルアプリケーションのデプロイ
小売店アプリケーションをデプロイして、Kubernetesの動作を見てみましょう。kubectlに組み込まれているKustomizeを使用します:
これが完了したら、kubectl waitを使用して、続行する前にすべてのコンポーネントが起動していることを確認できます:
各アプリケーションコンポーネント用のNamespaceが作成されます:
NAME STATUS AGE
carts Active 62s
catalog Active 7m17s
checkout Active 62s
orders Active 62s
other Active 62s
ui Active 62s
コンポーネント用に作成されたすべてのDeploymentも確認できます :
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
carts carts 1/1 1 1 90s
carts carts-dynamodb 1/1 1 1 90s
catalog catalog 1/1 1 1 7m46s
checkout checkout 1/1 1 1 90s
checkout checkout-redis 1/1 1 1 90s
orders orders 1/1 1 1 90s
orders orders-postgresql 1/1 1 1 90s
ui ui 1/1 1 1 90s
サンプルアプリケーションがデプロイされ、このワークショップの残りのラボで使用する基盤を提供する準備ができました!
次は何をしますか?
EKSクラスターの準備ができ、サンプルアプリケーションがデプロイされました!学習目標に基づいて、任意のワークショップモジュールに進むことができます。
各モジュールは独立しており、必要なリソースをセットアップするための独自のprepare-environmentコマンドが含まれています。任意の順序で完了できます!