Install K3s Tanpa Traefik Dan Servielb
Posted on
Sekilas tentang K3S yang ku kutip dari dokumentasi k3s:
K3s is a fully compliant Kubernetes distribution with the following enhancements:
- Packaged as a single binary.
- Lightweight storage backend based on sqlite3 as the default storage mechanism. etcd3, MySQL, Postgres also still available.
- Wrapped in simple launcher that handles a lot of the complexity of TLS and options.
- Secure by default with reasonable defaults for lightweight environments.
- Simple but powerful “batteries-included” features have been added, such as: a local storage provider, a service load balancer, a Helm controller, and the Traefik ingress controller.
- Operation of all Kubernetes control plane components is encapsulated in a single binary and process. This allows K3s to automate and manage complex cluster operations like distributing certificates.
- External dependencies have been minimized (just a modern kernel and cgroup mounts needed). K3s packages required dependencies, including:
- containerd
- Flannel
- CoreDNS
- CNI
- Host utilities (iptables, socat, etc)
- Ingress controller (traefik)
- Embedded service loadbalancer
- Embedded network policy controller
Jadi yang aku tangkap ya k3s ini versi mini k8s, banyak komponen k8s yang di strip. Waktu pertama kali nyobain k3s, dia langsung bawa ServiceLB buat assign IP addr ke service bertype LoadBalancer. Dan bawa traefik untuk ingress controller. Tapi kita bisa tinggalin dua itu kalau mau pakai yang lain, misalnya mau pakai Metallb sebagai pengganti Servicelb, dan pakai nginx sebagai pengganti Traefik. Caranya adalah sebagai berikut:
bash $ export K3S_KUBECONFIG_MODE="644" $ export INSTALL_K3S_EXEC=" --no-deploy servicelb --no-deploy traefik" $ curl -sfL https://get.k3s.io | sh -
Dengan begitu traefik dan servicelb gak akan ikut diinstall. Selanjutnya tinggal install metallb dan nginx ingress controller dengan cara mengikuti dokumentasi masing-masing.
cool~