K8s fault tolerance

1/24/2020

I was going through the differences between Swarm vs K8s one of the cons of Swarm is that it has limited fault tolerance functionality. How does K8s achieve fault tolerance, is it via K8s multi-master. Please share your inputs

-- Zaks
fault-tolerance
kubernetes

2 Answers

1/24/2020

Yes, all kubernetes control plane components are either clustered (etcd), run a leader election (controllers), or flat (apiserver). Traditionally you run three control plane nodes but you can do 5 in some complex topologies.

-- coderanger
Source: StackOverflow

1/24/2020

Yes! In order to achieve Kubernetes fault-tolerance is recommended to have multiples Control Planes (master) nodes and if you are running in cloud providers multiples availability zones are recommended.

The Control Plane’s components make global decisions about the cluster (for example, scheduling), as well as detecting and responding to cluster events (for example, starting up a new pod when a deployment’s replicas field is unsatisfied).

Basically, the control plane is composed by theses components:

kube-apiserver - Exposes the Kubernetes API. Is the front for Kubernetes control plane

etcd - Key/Value Kubernetes' backing store for cluster data

kube-scheduler - Responsible for watches for newly created pods with no assigned node, and selects a node for them to run on

kube-controller-manager - One of controller responsibility is maintain the correct number of pods for every replication controller, populate endpoints objects and responding when nodes go down.

cloud-controller-manager - Interact with the underlying cloud providers,

Every cluster need 1 worker nodes at least, the work nodes is responsible to run your workloads.

Here’s the diagram of a Kubernetes cluster with all the components tied together:

enter image description here

For more info see here

-- KoopaKiller
Source: StackOverflow