High availability is a characteristic of a system which aims to ensure an agreed level of operational performance, usually uptime, for a higher than normal period, according to Wikipedia.
Creating a highly available cluster means considering:
- Separating the control plane from the worker nodes.
- Replicating the control plane components on multiple nodes.
- Load balancing traffic to the cluster’s API server.
- Having enough worker nodes available, or able to quickly become available, as changing workloads warrant it.
More stuff:
- Options for highly available topology — https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/ha-topology/
- Creating highly available clusters with kubeadm — https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/
- Highly available Kubernetes clusters — https://kubernetes.io/blog/2017/02/highly-available-kubernetes-clusters/
- High availability Kubernetes cluster pattern — https://docs.microsoft.com/en-us/hybrid/app-solutions/pattern-highly-available-kubernetes
- HA Kubernetes cluster with MicroK8s — https://microk8s.io/high-availability
- Building a highly available Kubernetes Cluster — https://www.suse.com/c/rancher_blog/building-a-highly-available-kubernetes-cluster/
- Understanding high availability and disaster recovery for IBM Cloud Kubernetes Service — https://cloud.ibm.com/docs/containers?topic=containers-ha
- High availability in Kubernetes — https://docs.mirantis.com/mcp/q4-18/mcp-ref-arch/kubernetes-cluster-plan/kubernetes-ha.html
- Mastering Kubernetes > High availability best practices — https://www.oreilly.com/library/view/mastering-kubernetes/9781786461001/ch04s02.html