EKS を簡単に構築するための CloudFormation
結論
AWS EKS 環境を簡単に構築するための CloudFormation を書いた。
動機
AWS で Kubernetes、EKS のチュートリアルは結構手間が多い
Amazon EKS の使用開始 - Amazon EKS
aws-cli を駆使して自動化する試みもある
qiita.com
が、そもそも VPC だの Role だのは CloudFormation としてまとめて作ってしまえば良いのではないかと思い CloudFormation を書いた。
CloudFormationファイル
github からダウンロードできる
https://raw.githubusercontent.com/ororog/eks-cloudformation/master/eks.yml
この CloudFormation を使った場合のインストール手順
こちらを開いてスタックの作成を選ぶ。
https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks?filter=active
テンプレートを Amazon S3 にアップロードを選択して、先程の yaml ファイルを選択する
次の画面では、以下の赤枠の箇所を埋める
スタックの名前は任意の名前で、eks-stack とでもしておけばよい。
KeyName は事前に作っておく必要がある。
Amazon EC2 のキーペア - Amazon Elastic Compute Cloud
ここなどを参考に、先に作っておく。
NodeImageId は、リージョンによって変更する。東京であればデフォルトのまま、それ以外であれば説明に従って選べばいい。
ちなみに、東京リージョンの AMI はなかったのでコピーして作った。
NodeAutoScalingGroupMaxSize はあとで変更するので、最初は0で良い。
クラウドフォーメーション作成時は EKS が立ち上がっていないため、Node を追加することができないため、このようにしている。
以後のページは特に変更する必要はない。そのまま作成。しばらくするとステータスが CREATE_COMPLETE になる
CREATE_COMPLETE になったあとは、スタックの更新から NodeAutoScalingGroupMaxSize の数を変更する
「テンプレートの選択」では、そのまま次へを選択し、
次の画面の「パラメータ」で、数を変更。とりあえず1で良いと思う。
これで以下の手順のステップ1はすべて終わる。あとはステップ2以降に従って進めれば良い。
Amazon EKS の使用開始 - Amazon EKS
まとめ
EKS に必要なリソースを簡単に作成できるようにした