概要
EKSを使用している人はご存知かもしれませんが、
eksctlを使用するとクラスタの立ち上げが容易なので
まとめます!
🔧eksctlとは?
Amazon EKS クラスタを簡単に作成・管理するためのCLI ツールです!
クラスタ作成に必要な
- IAM ロール
- VPC
- ノードグループ
なども自動でセットアップしてくれる優れもの〜
Terraform や CloudFormation を使わずに、
eksctl create cluster
だけで環境構築できちゃいます!
🛠️ eksctlのインストール
Macの場合はHomebrewでサクッとインストールできます:
brew tap weaveworks/tap
brew install weaveworks/tap/eksctl
インストール確認:
eksctl version
# 結果
0.207.0
Mac OS以外を利用の方
LinuxやWindowsの方は公式ドキュメントを参照してください!
https://eksctl.io/installation/
🚀 クラスタを作成してみる
まずはプロファイルが設定されていることを確認しておきましょう:
aws configure list
次に、以下のコマンドでクラスタを作成します(名前はお好みでOK!)
eksctl create cluster \
--name my-eks-cluster \
--region ap-northeast-1 \
--nodes 2 \
--node-type t3.medium \
--managed
※作成には10~15分ほどかかります。
クラスタ作成コマンドの解説
以下は eksctl create cluster
コマンドで使用した主なオプションの説明です:
オプション | 説明 |
---|---|
--name |
作成するEKSクラスタの名前を指定 |
--version |
Kubernetesのバージョンを指定(例:1.30 ) |
--region |
クラスタを作成するAWSリージョンを指定(例: ap-northeast-1 は東京リージョン) |
--nodegroup-name |
ノードグループの名前(例:workers ) |
--node-type |
ノードとして使用するインスタンスタイプを指定(例: t3.medium ) |
--nodes |
作成するノード(EC2インスタンス)の数を指定 |
--nodes-min |
ノード数の最小値(オートスケーリング用) |
--nodes-max |
ノード数の最大値(オートスケーリング用) |
--ssh-access |
ノードへのSSHアクセスを有効化 |
--ssh-public-key |
SSH接続に使用する公開鍵ファイルのパス |
--managed |
マネージドノードグループとしてノードを作成するオプション |
🔍作成された内容を確認
作成後、以下のリソースが自動で作られています:
- EKSクラスタ
- マネージドノードグループ
- VPC(サブネット、ルートテーブル含む)
- セキュリティグループ
- IAMロール(クラスタ・ノード用)
kubectl を使って、ノードの状態も確認できます!
kubectl get nodes
参考
コンソールはこんな感じで作成が確認できます!
作成物をもう少し見てみよう
作成されたクラスタとリージョンが見えます。
$ eksctl get cluster
NAME REGION EKSCTL CREATED
eks-from-eksctl ap-northeast-1 True
kubectlの向き先が作成されたeksに変更されてます。
(私の環境では元々docker-desktopに向いてました)
$ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
docker-desktop docker-desktop docker-desktop
* eks-demo@eks-from-eksctl.ap-northeast-1.eksctl.io eks-from-eksctl.ap-northeast-1.eksctl.io eks-demo@eks-from-eksctl.ap-northeast-1.eksctl.io
imageを動かすワーカーノード。
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
ip-000-000-000-000.ap-northeast-1.compute.internal Ready <none> 14m v1.10.11
ip-000-000-000-000.ap-northeast-1.compute.internal Ready <none> 14m v1.10.11
🧹 クラスタの削除(片付け)
EKSクラスタを起動していると費用がかかります。
使い終わったら片付けも簡単なので、リソース削除しましょう。
eksctl delete cluster --name my-eks-cluster --region ap-northeast-1
※削除にも数分かかります。
✍️ まとめ
- eksctl を使うと EKSクラスタの作成が爆速!
- VPCやIAMも一括で作成してくれるので超便利
- 学習用や検証用にぴったりのツール
EKSのとっかかりとしては最高なので、ぜひ触ってみてください!