4 ms·
K3s for example is more lightweight than upstream kubeadm because it compiles all the required components into a single binary. That also leads to considerably
by lifty 5y ago
K3s for example is more lightweight than upstream kubeadm because it compiles all the required components into a single binary. That also leads to considerably less operational complexity.
- moondev 5y agokubeadm dosen't include ANY components such as kube-apiserver, kube-controller-manager, kube-scheduler, kube-proxy or etcd. These components are all containerized already from upstream. Pulled and cached when you run "kubeadm init" via static pod manifests. It seems trying to bundle these inside a non-upstream bootstrapper and running them out-of-band from kubernetes is what would add complexity and bloat.
- gizdan 5y agoI think you might be missing the point. You are correct, kubeadm doesn't include any components in that sense and runs them in containers. The issue with this is that there's a lot of overheads for each service that Kubernetes runs, causing Kubernetes as a whole to have a bigger memory footprint. K3s on the other hand combines all the necessary services and runs them in a single binary, which allows for a reduced memory footprint with very little lost in functionality. I don't know what all was involved when this was done but that is the gist of it.