Kubernetes: Difference between revisions

From Freephile Wiki
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]

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]

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]

Consistent and highly-available key value store. Used for backing store for all cluster data. https://etcd.io/docs/

Kube-controller-manager[edit]

Kubeadm[edit]

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]

Kube-proxy[edit]

Kube-scheduler[edit]

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.