Terraform module for creating a Highly Available Kubernetes cluster running on CoreOS in an AWS VPC.
- TLS certificate generation
- AWS VPC Public and Private subnets
- Bastion Host
- Docker AWS Cloud Watch Logging Driver
- Multi-AZ Auto-Scaling Worker Nodes
- NAT Gateway
- etcd DNS Discovery Bootstrap
- Highly Available ApiServer Configuration
- Service accounts enabled
- SkyDNS utilizing cluster's etcd
- CoreOS AMI sourcing
- Terraform Pattern Modules
Quick install prerequisites on Mac OS X with Homebrew:
$ brew update && brew install awscli cfssl jq kubernetes-cli terraform
Tested with prerequisite versions:
$ aws --version
aws-cli/1.10.8 Python/2.7.10 Darwin/15.2.0 botocore/1.3.28
$ cfssl version
Version: 1.1.0
Revision: dev
Runtime: go1.5.3
$ jq --version
jq-1.5
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"1", GitVersion:"v1.1.8+a8af33d", GitCommit:"a8af33dc07ee08defa2d503f81e7deea32dd1d3b", GitTreeState:"not a git tree"}
$ terraform --version
Terraform v0.6.12