External ETCD Cluster for Kubernetes - Why | Understanding | Configuring

networknutsdotnet Video 1 years ago

Description

Stacked etcd refers to running etcd instances on the same nodes as the Kubernetes control plane components (API server, scheduler, controller manager).

External etcd means running etcd on separate, dedicated nodes, independent of the control plane.

Features of stacked etcd:

Simplicity - Easier to set up and manage, especially for smaller clusters, as it requires less infrastructure.
Lower Cost - Reduced hardware requirements translate to lower initial costs.
Tight Coupling - Control plane and etcd are reliant on the same nodes. A failure of a control plane node also impacts the etcd instance on that node, and vice-versa.
Scaling Limitations - May not be ideal for large or heavily utilized clusters, as etcd resources are shared with the control plane.

Features of External Etcd:

High Availability - Dedicated etcd nodes provide better fault isolation. If a control plane node fails, the etcd cluster can still function.
Flexibility - Allows for independent scaling and resource allocation for etcd, enabling better performance and resource utilization.
Increased Complexity - Requires more infrastructure (nodes and networking) and more complex setup.
Dedicated Resources - etcd instances are not competing with control plane components for resources.
Separate Backup and Restore - Easier to manage backups and restores for etcd data independently.

Stacked etcd is a good choice for smaller, less critical clusters where simplicity is prioritized. External etcd is preferred for production environments, large clusters.

Timeline:

00:00-00:20 - Introduction to etcd
00:21-06:10 - Stacked vs External etcd
06:11-07:44 - etcd as systemd service vs pod
07:45-14:02 - Installing etcd cluster
14:03-16:44 - Checking status of etcd cluster
16:45-26:00 - Feeding data and checking cluster status

Read more - https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/

Git Repo - https://github.com/networknuts/kubernetes

Need Training - https://www.networknuts.net/