Go from Zero to Hero in about 5 minutes. The whole concept is to go from nothing to a secure multi-tenant kubernetes in as short amount of time as possible. The driving factor is to provide safe and vanilla sandbo for members.
Deployment is real easy but you will need a few things:
You are probably covered if you're running MacOS or a Linux distribution.
- A working shell - IE: bash, zsh, or tsh; this is used for data gathering and provisioning.
- ssh client - the ssh command is used as part of the data gathering and provisioning steps.
- Terraform, you can download it Here.
- Packer, you can get it Here
- Some sort of make, perhaps GNUMake.
The next step is to create an AWS api key. Under Services -> IAM -> Users -> Security Credentials -> Access Keys
Now the grand reveal; to create your kubeadm kubernetes cluster you need to run:
make
That's it, enjoy!
To only run the terraform run:
make terraform
To build the AMIs, run:
make packer
To get the make file to stop asking for API keys run something like this:
export AWS_ACCESS_KEY_ID=<aws access key>
export AWS_SECRET_ACCESS_KEY=<aws secret>
export AWS_DEFAULT_REGION=<region name>
- Terraform Docs
- Terraform AWS Provider Docs
- Kubernetes Docs
- Kubeadm Docs
- Calico Quickstart guide
- Nginx Ingress Deployment Docs
- How To Create A VPC With Terraform
- Packer Amazon EBS
- Terraform AMI data source
- Packer Alpine Builder Repo
- Cert-Manager Install
- Cert-Manager ACME Issuer
- Cert-Manager Ingress Shim
- External-DNS AWS Tutorial
- External-DNS Ingress Tutorial