新しいクラスターを作った時に必要なのでメモ。
kubectl を当然先に入れておく。バージョン指定で 1.26.9 を使う。
その他のバージョンは リリースノート で確認。
curl -LO https://dl.k8s.io/release/v1.26.9/bin/linux/amd64/kubectl chmod +x kubectl sudo mv kubectl /usr/local/bin/
そして ./kube/config を作る
aws eks update-kubeconfig --region ap-northeast-1 --name my-cluster-name
テスト。Serviceの状況を確認。
kubectl get svc
eksctl
eksctl も使うのでインストールしとく。
ARCH=amd64 PLATFORM=$(uname -s)_$ARCH curl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_$PLATFORM.tar.gz" tar -xzf eksctl_$PLATFORM.tar.gz -C /tmp && rm eksctl_$PLATFORM.tar.gz sudo mv /tmp/eksctl /usr/local/bin
eksctl で EKS cluster + node group を作る
yaml ファイルを作って、 eksctl コマンドで作成
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: oreno-eks-001 region: ap-northeast-1 vpc: subnets: public: ap-northeast-1a: { id: subnet-1234 } ap-northeast-1c: { id: subnet-5678 } nodeGroups: - name: oreno-ng-001 instanceType: t3.medium desiredCapacity: 1 minSize: 0 maxSize: 3 privateNetworking: true iam: withAddonPolicies: autoScaler: true externalDNS: true volumeSize: 20 ssh: allow: false
これを cluster-config.yaml という名前で保存して、 eksctl を実行
eksctl create cluster -f cluster-config.yaml
作成出来たら kubectl で確認
kubectl get nodes
security group は、使うポートや用途に合わせて任意で編集する。
作った EKS clusters + node group は Cloud Formation にスタックとして登録されるので、用が済んだらスタックごと消す。