Kubernetes multi-cluster implementation in under 10 minutes

<blockquote> <p>You should not mix the Cilium CLI&nbsp;<strong>helm mode</strong>&nbsp;to enable ClusterMesh&nbsp;<strong>or</strong>&nbsp;connect clusters configured by the Cilium CLI &mdash; they are operating in&nbsp;<strong>classic mode&nbsp;</strong>&mdash; as the two modes are&nbsp;<strong>not</strong>&nbsp;compatible with each other.</p> <p>We are not going to use Cilium CLI to install Cilium, but&nbsp;<strong>Helm</strong>&nbsp;instead. Cilium CLI would come handy afterwards, when we&rsquo;d need to run some connectivity tests.</p> </blockquote> <h1>What is Cilium ClusterMesh?</h1> <p><strong>ClusterMesh&nbsp;</strong>is<strong>&nbsp;</strong>Cilium&rsquo;s multi-cluster implementation. It extends the networking datapath across multiple Kubernetes clusters. It allows endpoints that live in different connected clusters to communicate and on the same time it provides full policy enforcement. ClusterMesh provides (excerpt taken from the official article &ldquo;<a href="https://cilium.io/blog/2019/03/12/clustermesh/" rel="noopener ugc nofollow" target="_blank">Deep Dive into Cilium Multi-cluster</a>&rdquo;):</p> <ul> <li><strong>Pod IP routing</strong>&nbsp;across multiple Kubernetes clusters at native performance&nbsp;<em>via tunneling or direct-routing without requiring any gateways or proxies</em>.</li> <li><strong>Transparent service discovery</strong>&nbsp;with standard Kubernetes services and&nbsp;<code>coredns/kube-dns</code>.</li> <li><strong>Network policy enforcement</strong>&nbsp;spanning multiple clusters. Policies can be specified as Kubernetes&nbsp;<code>NetworkPolicy</code>&nbsp;resource or the extended&nbsp;<code>CiliumNetworkPolicy</code>&nbsp;CRD.</li> <li><strong>Transparent encryption</strong>&nbsp;for all communication between nodes in the local cluster as well as across cluster boundaries.</li> </ul> <p><a href="https://akyriako.medium.com/kubernetes-multi-cluster-implementation-in-under-10-minutes-2927952fb84c"><strong>Read More</strong></a></p>