- KinD
- k3sup
- raspberry pis (rancher / k3s)
- EKS/GKE/digital ocean
- bare metal - install ingress controller (traefik) and load balancer (metallb)
kubectl can be a pain to work with. Make your life better by using:
- zsh auto-complete plugins
- k9s github
Start by deploying apps at the command line. Easiest way to get up and running, but confusing to know what actually happens under the hood. Access your apps by using port-forwarding (easy), LoadBalancer (intermediate), or ingress controllers (advanced). These are some docker images that I have found to be the most helpful:
Now deploy those apps again using yaml files instead of kubectl commands
learn how to use dockerfiles, publish your containers to a container registry
- we want our service committed as code - duh!
- we want our infrastructure (yaml) committed as code in a separate repo
- we want any new containers (latest?) to be automatically built but not necessarily deployed
- check out Argo
- add an app
- sync it
- ArgoCD constantly wants to match state with what's found in git. IaC == current state
- rips and replaces every time. That's not great.
- canary / blue-green deployments