Chapter 9. Multicluster Networking
As organizations grow, they often move beyond a single Kubernetes cluster. This jump from one to multiple environments presents a challenge for network security and observability.
Cilium’s features are normally confined to the context of a single cluster. Identity is not represented across multiple clusters, so a policy to allow a pod in another cluster by its labels will not function, nor will observability features (see Chapter 15).
One solution is to treat the clusters as truly independent, exposing services using load balancer services, Ingress, or Gateway API (see Chapters 6 and 7) and treating the remote cluster as no different from any other external endpoint. If only a few well-defined services are shared between clusters this can work well, but as the environment grows more complex it becomes unsustainable, requiring encoding specific CIDR ranges for services in the remote cluster across policies using toCIDRSet (see Chapter 12), using Egress Gateway (see Chapter 11), or incorporating additional tools for observability.
Cilium Cluster Mesh exists to solve these problems. Meshed clusters share networking and identity information and avoid the need to expose services beyond the cluster altogether. In this chapter we will explore the use cases for Cluster Mesh and walk through how to configure and administrate meshed clusters. You can find all the YAML manifests you will need in the chapter09 directory of the book’s GitHub repository.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access