3 ms·
K8s itself is divided in multiple parts, where you can customize to your own liking, and you can swap parts if you'd like as long as the APIs are similar. It's
by m00x 5y ago
K8s itself is divided in multiple parts, where you can customize to your own liking, and you can swap parts if you'd like as long as the APIs are similar.
It's very much built the UNIX way.
- still_grokking 5y agoWhere can I find those alternative elements that can be swapped? If this is true there should be a lot of them, right?
- narism 5y agoIf your complaint about Kubernetes is that it doesn’t provide you enough choice/extensibility, you’re probably not looking hard enough. Runtimes (CRI) - Docker shim (deprecated), containerd, CRI-O, kata Networking (CNI) - Flannel, Calico, Cilium, cloud specific ones, many more Storage (CSI) - way too many device plugins - GPU, TPU, RDMA/SRIOV NICs Data store - etcd, dqlite in microk8s, SQLite/postgresql/mysql in k3s DNS - kube-dns (somewhat deprecated), CoreDNS Ingress - NGINX (multiple), HAProxy, Envoy (many), etc Kubelet -https://github.com/virtual-kubelet/virtual-kubelet https://github.com/virtual-kubelet/virtual-kubelet Kube-proxy - Cilium can act as a replacement Cloud-controller-manager for each cloud provider kube-scheduler - https://kubernetes.io/docs/tasks/extend-kubernetes/configure-multiple-schedulers/ https://kubernetes.io/docs/tasks/extend-kubernetes/configure... kube-apiserver and kube-controller-manager are two parts where I’m not aware of any other implementations but a) they are kind of the heart of k8s and b) can be easily extended with CRDs/operators.