'Kubernetes components query
I want to know about kubernetes components I have been studying kubernetes for a while and I want to understand that.
Is kubernetes a deployment run inside container? or it's just control plane process? or
My question is, Is deployment runs separately inside container on worker node?
Solution 1:[1]
Is kubernetes a deployment run inside container? or it's just control plane process?
Usually not. But it could. K3s, is some sort of Kubernetes. That runs in a container. Rancher as well. And of course: Kind (Kubernetes-in-Docker).
I want to know about kubernetes components I have been studying kubernetes for a while and I want to understand that.
A good starting point could be Kubernetes Cluster Architecture docs.
Or, from a more practical point of view: looking into tools used deploying Kubernetes. Kubespray being a good example, as Ansible code is usually self-explainatory, even when you don't know about Ansible.
Kubespray is a good way to know which components are mandatory, while allowing you to pick and choose your container runtime, your SDN, your OS family, ... Code is clean, maintained by Kubernetes community, ...
Solution 2:[2]
Kubernetes is a container orchestrator. It consists of several components (e.g. several processes) that typically runs on several servers, a control plane part and workload nodes.
Solution 3:[3]
- Kubernetes is a container orchestrator, so it operates containers. You can tell Kubernetes what/how/how much are the containers to be deployed to implement your application service. We usually use YAML declaration to tell Kubernetes what to do, and Kubernetes figures out how to do it for us, so we don't need hundreds of shell scripts, which is especially a hard work when we are facing a big cluster.
- So, Kubernetes is a "system". The control plane is one part of the system, and is not only 1 process, but composed of many processes (the process can be also inside container), e.g., etcd database, scheduler, controller manager, and API-server, etc.
Solution 4:[4]
Eventually you need to run a code as process with a config , wherever it happens so it will excute desired function .
As any server components , you need a master process { process 1 , which is Systemd in most of unix OS } to control all needed services with a unit service.
(+) the power of docker images and package all dependencies , you can combine a unit service to run a k8s components as container , of course with a dependency on run time container .
as conclusion,
- you can run k8s master components as usual services, just execute init cmds.
- Also you can run them as containerized with container runtime dependency
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | |
| Solution 2 | Jonas |
| Solution 3 | |
| Solution 4 |
