Difference between revisions of "Kubernetes"
(draft) |
(draft) |
||
Line 8: | Line 8: | ||
=== Kube-apiserver === | === Kube-apiserver === | ||
+ | The API server is the front end for the Kubernetes control plane. | ||
+ | |||
+ | The main implementation of a Kubernetes API server is [https://kubernetes.io/docs/reference/generated/kube-apiserver/ kube-apiserver]. kube-apiserver is designed to scale horizontally—that is, it scales by deploying more instances. You can run several instances of kube-apiserver and balance traffic between those instances. | ||
+ | |||
+ | === etcd === | ||
+ | Consistent and highly-available key value store. Used for backing store for all cluster data. https://etcd.io/docs/ | ||
=== Kube-controller-manager === | === Kube-controller-manager === | ||
Line 20: | Line 26: | ||
=== Kube-scheduler === | === Kube-scheduler === | ||
+ | Control plane component that watches for newly created Pods with no assigned node , and selects a node for them to run on. | ||
+ | |||
+ | Factors taken into account for scheduling decisions include: individual and collective resource requirements, hardware/software/policy constraints, affinity and anti-affinity specifications, data locality, inter-workload interference, and deadlines. | ||
[[Category:Virtualization]] | [[Category:Virtualization]] |
Revision as of 18:07, 4 August 2020
Kubernetes is an open source system for managing containerized applications across multiple hosts. It provides basic mechanisms for deployment, maintenance, and scaling of applications.
Contents
Kubernetes Components[edit | edit source]
When you deploy Kubernetes, you get a cluster. The cluster is composed of many components. Here are brief details on some of them.
Kube-apiserver[edit | edit source]
The API server is the front end for the Kubernetes control plane.
The main implementation of a Kubernetes API server is kube-apiserver. kube-apiserver is designed to scale horizontally—that is, it scales by deploying more instances. You can run several instances of kube-apiserver and balance traffic between those instances.
etcd[edit | edit source]
Consistent and highly-available key value store. Used for backing store for all cluster data. https://etcd.io/docs/
Kube-controller-manager[edit | edit source]
Kubeadm[edit | edit source]
Kubeadm is a component of Kubernetes.
- Kubeadm is a tool built to provide best-practice "fast paths" for creating Kubernetes clusters. It performs the actions necessary to get a minimum viable, secure cluster up and running in a user friendly way. Kubeadm's scope is limited to the local node filesystem and the Kubernetes API, and it is intended to be a composable building block of higher level tools.
Kubectl[edit | edit source]
Kube-proxy[edit | edit source]
Kube-scheduler[edit | edit source]
Control plane component that watches for newly created Pods with no assigned node , and selects a node for them to run on.
Factors taken into account for scheduling decisions include: individual and collective resource requirements, hardware/software/policy constraints, affinity and anti-affinity specifications, data locality, inter-workload interference, and deadlines.