One of the most popular tutorial to bootstrap kubernetes components is Kelsey Hightower’s “Kubernetes The Hard Way“. It is really helpful to understand the complicated component structure of kubernetes.
I saw some people asking if there is any equivalent tutorial which is not using GCP(e.g. on-prem, AWS). Because Kubernetes The Hard Way is using GCP as its backend, it’s no wonder they think the tutorial is specific to GCP. But in fact, only a small bit of part is specific to GCP(maybe LoadBalancer, Swap configuration only), and most of the part is still applicable to any infrastructure.
Below is the component diagram of the each step of the instruction(I use only 2 nodes each for controller and worker for simplicity of the images):
[.At the end of the tutorial, your diagram would look like ] … Note only LoadBalancer is very specific to GCP, which can be replaced with dedicated nginx server or equivalent loadbalancer fairly easily.
[.At the end, your component would communicates ]
[ 02-client-tools ]
[ 03-compute-resources ]
[ 04-certificate-authority ]
[ 05-kubernetes-configuration-files ]
[ 06-data-encryption ]
[ 07-bootstrapping-etcd ]
[ 08-bootstrapping-kubernetes-controller ]
[ 09-bootstrapping-kubernetes-workers ]
[ 10-configuring-kubectl ]
[ 11-pod-network-routes ]
Another thing to note about Kubernetes The Hard Way is, it is based on the shortest path to deploy each component of the kubernetes. In other words, it is structured so that the readers can configure the component as small steps as possible. It is like 0 and 1, you may not find out what you are doing until the end of the tutorial(precisely smoke test). It is good to make your deployment faster, but it’s not the best for first time deployment. From the next post, I will re-invent the Kubernetes The Hard Way to deploy component by component so that you can see and try what you deployed in each steps.