Image for post
Image for post
Kubernetes — Conceptual Architecture

Kubernetes High Availability

Kubernetes Architecture

Image for post
Image for post
Figure 1. Master & Worker

Single Master Configuration

Image for post
Image for post
Figure 2. Single Master Configuration

Multiple Master Configuration

Image for post
Image for post
Figure 3. Multiple Master Configuration

Kubernetes Leader vs Follower

Image for post
Image for post
Figure 4. Redundant Deployment of Master Components In Depth

Leader Election

Image for post
Image for post
Figure 5. Master Component Leader Election Process
'Try acquire lease' is successful if and only if
- the Leader Lease does not exist or
- the Leader Lease is timed out
'Try renew lease' is successful if and only if
- the Leader Lease exists and
- the Leader Lease is not timed out and
- the Leader Lease holderIdentity is 'self'

Keeping Track of Leaders

$kubectl get endpoints -n kube-systemNAME                      ENDPOINTS                   AGE
kube-scheduler <none> 30m
kube-controller-manager <none> 30m
$ kubectl describe endpoints kube-scheduler -n kube-systemName:         kube-scheduler
Annotations: control-plane.alpha.kubernetes.io/leader=
{
"holderIdentity": "scheduler-2",
"leaseDurationSeconds": 15,
"acquireTime": "2018-01-01T08:00:00Z"
"renewTime": "2018-01-01T08:00:30Z"
}

Conclusion

About this post

Principal Engineer at Cisco, Office of the CTO

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store