Difference between revisions of "Kubernetes"

From Freephile Wiki
Jump to navigation Jump to search
(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 19: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.

Container evolution

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.

Kubernetes Components


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.