AWS インフラの準備
今回の設定
- AWS 上に構築する
- マスターノード 2 台の冗長構成
- etcd は Stacked Topology
- ワーカーノードも 2 台
参考資料
https://github.com/mmumshad/kubernetes-the-hard-way
https://github.com/kelseyhightower/kubernetes-the-hard-way
AWS リソースの準備
VPC とサブネットの作成
VPC は 192.168.0.0/16 で作成。サブネットはとりあえず 2 AZ で用意し 192.168.0.0/24 および 192.168.1.0/24 で作成。
ネットワーク周りの作成
IGW を紐付け、パブリックサブネットとする。
セキュリティグループについては、現時点では自分の手元からの SSH と、VPC 内の全トラフィックを許可。
インスタンスの準備
今回マスターもワーカーも 2 ノードずつなので AZ ごとに冗長構成とする。
AMI はとりあえずサンプルでも使ってた ubuntu にする。
また、サンプルの vagrant で用意していたものと同じだけの(カバーできるような)コンピューティングリソースを念のため利用する。
マスターノード
vCPU: 2
memory: 2048
-> t2.medium
AMI: Ubuntu Server 18.04 LTS ami-06358f49b5839867c (64 ビット x86)
ワーカーノード
vCPU: 2
memory: 512
-> t2.micro
AMI: Ubuntu Server 16.04 LTS ami-03ef731cc103c9f09 (64 ビット x86)
(Docker の都合から、ワーカーだけ 16.04 を使うことにした)
とりあえず、これで。
マスターノードに ssh キーを持たせ、マスターノードから ssh できるようにしておく。
また、ツールインストールのためパブリック IP (または NATGW) が必要。
ツールの準備
kubectl のインストール
$ wget https://storage.googleapis.com/kubernetes-release/release/v1.15.3/bin/linux/amd64/kubectl
$ chmod +x kubectl
$ sudo mv kubectl /usr/local/bin/
$ kubectl version --client
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
