Deploy Kubernetes from scratch on Azure based on Kubernetes the Hard Way.
- Docker
- An Azure account
make env
to create a new environment dotfile. Follow the instructions.
make test
to run integration tests on each step.
make deploy
to deploy the thing.
make clean
to destroy all traces of your lab.
Check out the troubleshooting guide.
This codebase roughly describes the effort required to spin up Kubernetes from scratch on Azure through automation. It is not meant for production use.
If you'd like to deploy Kubernetes "bare-metal" style, check out Cluster API or any of the various Kubernetes "flavors", such as kops or kubeadm.
If you'd like to run Kubernetes on your local machine, try k3s or kind.
If you just want to use Kubernetes and not deal with any of this stuff, try a managed Kubernetes offering, like Azure Kubernetes Service or Google Kubernetes Engine.
The lab documentation from the original codebase have not been copied over here. You should have them open in a separate browser along with this reference. To see Azure-specific differences, check out the "deltas" here.
- Prerequisites
- Provisioning Compute Resources
- Provisioning a CA and Generating TLS Certificates
- Generating Kubernetes Configuration Files for Authentication
- Generating the Data Encryption Config and Key
- Bootstrapping the etcd cluster
- Bootstrapping the Kubernetes Control Plane
- Bootstrap Kubernetes Workers
- Provisioning Pod Network Routes
- Smoke Test
- Cleaning Up