k3s and k3d
https://www.youtube.com/watch?v=9Jbxi_lz5tM
k3s
- Usecases : edge, IoT, CI, dev, tests.
- Binary 50Mb, 512 Mb RAM
- SqlLite3 by default (etcd with HA)
- Out of the box: Containerd, core dns, Flannel
Basic install on a couple of hosts : https://mickael-baron.fr/blog/2023/06/02/running-coder-k3s-dluster-self-hosted
k3os
https://k3os.io/
https://github.com/rancher/k3os
k3OS is a Linux distribution designed to remove as much OS maintenance as possible in a Kubernetes cluster. It is specifically designed to only have what is needed to run k3s. Additionally the OS is designed to be managed by kubectl once a cluster is bootstrapped. Nodes only need to join a cluster and then all aspects of the OS can be managed from Kubernetes. Both k3OS and k3s upgrades are handled by the k3OS operator.
k3d
k3d k3s in Docker (Docker desktop on Windows and Mac... which requires a license)
https://github.com/k3d-io/k3d/releases/latest
https://github.com/sebastienmoreno/k3s-demo/blob/master/demo-k3d.md
k3d cluster create --config k3d.yaml
k3d yaml file example
https://k3d.io/v5.4.9/usage/configfile/#all-options-example
apiVersion: k3d.io/v1alpha4 kind: Simple metadata: name: mycluster image: rancher/k3s:v1.20.4-k3s1 # same as `--image rancher/k3s:v1.20.4-k3s1` ports: - port: 80:80 # same as `--port '80:80@loadbalancer'` nodeFilters: - loadbalancer
k3sup
k3sup is a light-weight utility to get from zero to KUBECONFIG with k3s on any local or remote VM.
https://github.com/alexellis/k3sup
Usage example: https://github.com/sebastienmoreno/k3s-demo/blob/master/demo-k3s.md