Bootstraps a multi-node Kubernetes cluster on AWS
To create a new cluster run the init.sh
script in the root of the repo. If you
dont have the AWS CLI installed, see below first.
sh init.sh
Before creating a cluster, you first need to install the AWS CLI locally, you can find out more information here.
If you have Homebrew installed, you can run the following command:
brew install awscli
If you have Chocolatey installed, you can run the following command:
choco install awscli
Once you have the AWS CLI install, you will need to configure it using the following command:
aws configure
Before moving production load onto the cluster, please consider the following:
- Disable IGW routing to private subnet, see subnets section in
lib/network.sh
to configure
Some articles that helped with this project:
- Kubernetes Cluster on CoreOS - v1.0
- CoreOS on AWS
- VPC reference architecture
- Zero downtime deployments
Some articles yet to be read that may provide value:
Some example scripts that helped with this project:
- https://github.com/rombie/contrail-kubernetes-salt/blob/master/kubernetes/cluster/aws/util.sh
- https://github.com/mdlavin/inin-and-out-gameday-2014/blob/master/create.sh
- https://github.com/Memba/Memba-AWS/blob/master/commands/create-ec2-vpc.sh
- https://github.com/fintanr/aws-ecs-experiments/blob/master/ecs-demo-setup.sh
- https://github.com/mathbruyen/home/blob/master/boot.sh