If you want to go from machine to cluster in no time, use the following:
- kubeadm (read the logs)
- k0s
- k3s
If you want to understand everything though, the way I started was:
- read the kubernetes documentation front to back
- go through setting up a cluster the hard way (look up the kubernetes the hard way guide)
- set up ingress on that cluster (nginx ingress), and make sure you understand the interplay between kube-proxy, ingress, services, and your deployment. The actual flow is more like kube-proxy->iptables/lvs->containerd but you want to be able to “think in k8s” (i.e know where to look and have an idea what to check when something goes wrong).
- install cert manager for free https certs
- tear that cluster down, and set a cluster up with kubeadm
(This will be much easier, and you’ll know what it’s doing because the logs are great and you’ve done it before)
- tear that down and make a cluster with k0s/k3s
I want to point out that it really depends on what your goals are. Kubernetes is useful to me because it’s a one stop shop for a wide range of possibilities.
If you just need to get an app up as fast as possible, install caprover/dokku on a DO droplet and git push to deploy.
- kubeadm (read the logs)
- k0s
- k3s
If you want to understand everything though, the way I started was:
- read the kubernetes documentation front to back
- go through setting up a cluster the hard way (look up the kubernetes the hard way guide)
- set up ingress on that cluster (nginx ingress), and make sure you understand the interplay between kube-proxy, ingress, services, and your deployment. The actual flow is more like kube-proxy->iptables/lvs->containerd but you want to be able to “think in k8s” (i.e know where to look and have an idea what to check when something goes wrong).
- install cert manager for free https certs
- tear that cluster down, and set a cluster up with kubeadm (This will be much easier, and you’ll know what it’s doing because the logs are great and you’ve done it before)
- tear that down and make a cluster with k0s/k3s
I want to point out that it really depends on what your goals are. Kubernetes is useful to me because it’s a one stop shop for a wide range of possibilities.
If you just need to get an app up as fast as possible, install caprover/dokku on a DO droplet and git push to deploy.