{"id":1936,"date":"2024-03-04T09:13:25","date_gmt":"2024-03-04T09:13:25","guid":{"rendered":"https:\/\/imesh.ai\/blog\/?p=1936"},"modified":"2024-03-07T05:07:01","modified_gmt":"2024-03-07T05:07:01","slug":"istio-multi-primary-installation-eks-and-aks","status":"publish","type":"post","link":"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/","title":{"rendered":"How to setup multi-primary Istio in EKS and AKS for production"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p>Many large enterprises like retail and banks are adopting open-source Istio service mesh to abstract and better manage the security and network of microservices. To either tackle cost, achieve HA\/DR, or improve latency, they apply multicloud and multi-cluster strategies in their production system.<\/p>\n\n\n\n<p>Implementing Istio in multicloud environment can be tricky, and architects often take time for experimentation. In this blog, we will discuss various ways to achieve multicloud and multicluster configuration for Istio implementation and also guide you through the steps to set up primary-primary multicluster Istio in EKS and AKS<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Multicluster Istio deployment models<\/h2>\n\n\n\n<p>Istio can be configured by deploying it into single or multiple clusters, same or different networks, single or multiple control planes, or single or multiple meshes. To achieve HA\/DR or improve latency, Istio is deployed into multiple clusters. There are four popular deployment models for deploying Istio to attain HA\/DR and make seamless service discoverability in your production systems.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Istio Deployment models<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Primary-remote<\/strong> <strong>on the same network<\/strong>: One Istio control plane is deployed in one or more cluster(s) (or called Primary) and serves as a master. All other clusters (referred to as Remote) can be brought under the control of master Istio.<\/li>\n\n\n\n<li><strong>Primary-remote on different networks<\/strong>: Primary-Remote setup with clusters in a different network, i.e., different zone or multicloud.<\/li>\n\n\n\n<li><strong>Multi-primary on the same network<\/strong>: Each cluster in the production system will have one Istio control plane, but they will all be connected and aware of each other. Note that there can be multiple remote clusters for each primary cluster. Refer to Fig A.<\/li>\n\n\n\n<li><strong>Multi-primary<\/strong> <strong>on different networks<\/strong>: Multi-primary setup for clusters in different zones\/regions or multicloud clusters.&nbsp;<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"657\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Istio-configured-in-both-Primary-primary-and-Primary-remote-style-1024x657.png\" alt=\"Istio configured in both Primary-primary and Primary-remote style\" class=\"wp-image-1939\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Istio-configured-in-both-Primary-primary-and-Primary-remote-style-1024x657.png 1024w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Istio-configured-in-both-Primary-primary-and-Primary-remote-style-300x193.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Istio-configured-in-both-Primary-primary-and-Primary-remote-style-768x493.png 768w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Istio-configured-in-both-Primary-primary-and-Primary-remote-style-400x257.png 400w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Istio-configured-in-both-Primary-primary-and-Primary-remote-style-800x514.png 800w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Istio-configured-in-both-Primary-primary-and-Primary-remote-style.png 1036w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><strong>Fig A: Depiction of Istio configured in both Primary-primary and Primary-remote style.&nbsp;<\/strong><\/p>\n\n\n\n<p>We had discussed <a href=\"https:\/\/imesh.ai\/blog\/how-to-implement-istio-in-multicloud-and-multicluster\/\">setting up Istio in the Primary-remote cluster in GKE and AKS<\/a> earlier. In this blog, we will focus on the Multi-Primary Istio setup.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Architecture to set up Multi-primary Istio in multicluster landscape<\/h3>\n\n\n\n<p>The way to achieve multi-primary Istio setup is to install Istio control planes in each cluster (as shown in Fig B) and then have these clusters access to the API server of each other. Thus, there will be a single service mesh (although different Istio control planes), and the service discovery will be seamless in the mesh. The Istio control planes don\u2019t interfere with each other, so the failure of one Istio control plane will not affect other primary clusters.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"951\" height=\"542\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multi-primary-Istio-set-up-in-AKS-and-EKS-1.png\" alt=\"\" class=\"wp-image-1943\" style=\"aspect-ratio:1.7777777777777777;width:788px;height:auto\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multi-primary-Istio-set-up-in-AKS-and-EKS-1.png 951w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multi-primary-Istio-set-up-in-AKS-and-EKS-1-300x171.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multi-primary-Istio-set-up-in-AKS-and-EKS-1-768x438.png 768w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multi-primary-Istio-set-up-in-AKS-and-EKS-1-400x228.png 400w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multi-primary-Istio-set-up-in-AKS-and-EKS-1-800x456.png 800w\" sizes=\"(max-width: 951px) 100vw, 951px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><strong>Fig B: Multi-primary Istio set up in AKS and EKS.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Benefits of Multi-primary Istio<\/h3>\n\n\n\n<p>Key benefits of setting up multi-primary Istio are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Improved availability: If a control plane fails, the damage will be limited to workloads or data plane managed by that control plane.<\/li>\n\n\n\n<li>Configuration isolation: Configuration can be made to one cluster, zone, or region without impacting others.<\/li>\n\n\n\n<li>Canary or blue\/green deployment: You have more fine-grained control over configuration rollout, such as canary or blue\/green, by deploying them into a sub-section of the mesh only.<\/li>\n\n\n\n<li>Controlled visibility and access with RBAC: Since all the services in multiple clusters can brought under one mesh with a multi-primary setup, you can implement fine-grained authorization for the developer and DevOps team worldwide. You can define the least privilege for access to a particular cluster or service in the whole mesh from a central point. Note that you have to create and deploy authorization policies in each primary cluster, which will be applied by the master control plane.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Steps to configure multi-primary Istio in EKS and AKS<\/h2>\n\n\n\n<p>We will discuss a step-by-step guide to configure multi-primary Istio in this section. If you are interested, you can watch the complete video:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Getting Started with Istio Multi-primary Multicluster | EKS | AKS | Multicloud | Demo\" width=\"1130\" height=\"636\" src=\"https:\/\/www.youtube.com\/embed\/2_YLMSAWHaA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Pre-requisite<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Use certificates issued by the same Root CA- an essential step to establish trust between the two clusters. Since Istio generates its certificates, two Istiod in respective clusters will have their version of the certificate, and clusters cannot trust and communicate with each other.&nbsp; For enterprise usage, it is recommended to keep the Root certificate secured and safe, say in Vault.<\/li>\n\n\n\n<li>Have two separate clusters in different networks. We have considered EKS and EKS clusters for the multi-primary setup.&nbsp;<\/li>\n<\/ol>\n\n\n\n<p>You can access all the <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/tree\/main\/Multi-primary%20Multicluster%20Istio\">Git multi-primary Istio yaml files<\/a>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Step1: Create the root certificate and cluster certificate<\/h4>\n\n\n\n<p>Step 1.1: You can run the following command to generate the common root certificate. We have used Istio tools.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>make -f istio-1.20.3\/tools\/certs\/Makefile.selfsigned.mk root.ca<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"512\" height=\"107\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/create-the-root-certificate-and-cluster-certificate.png\" alt=\"Create the root certificate and cluster certificate\" class=\"wp-image-1945\" style=\"aspect-ratio:4.8;width:822px;height:auto\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/create-the-root-certificate-and-cluster-certificate.png 512w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/create-the-root-certificate-and-cluster-certificate-300x63.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/create-the-root-certificate-and-cluster-certificate-400x84.png 400w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/figure>\n<\/div>\n\n\n<p>Step 1.2: Now you can create cluster certificates by running the following command. We have named our certificate as <strong>webinar-cluster<\/strong> and <strong>eks-cluster<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>make -f istio-1.20.3\/tools\/certs\/Makefile.selfsigned.mk webinar-cluster-cacerts<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>make -f istio-1.20.3\/tools\/certs\/Makefile.selfsigned.mk eks-cluster-cacerts<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"512\" height=\"294\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/create-cluster-certificates.png\" alt=\"create cluster certificates\" class=\"wp-image-1946\" style=\"aspect-ratio:1.7414965986394557;width:648px;height:auto\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/create-cluster-certificates.png 512w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/create-cluster-certificates-300x172.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/create-cluster-certificates-400x230.png 400w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/figure>\n<\/div>\n\n\n<h4 class=\"wp-block-heading\">Step 2: Create namespace in each cluster and create secrets from the certificates<\/h4>\n\n\n\n<p>Step 2.1: We have created a namespace called <strong><em>istio-system<\/em><\/strong> in AKS and EKS clusters. We have used <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Multi-primary%20Multicluster%20Istio\/aks-primay-namespace-prep.yaml\">aks-primary-namespace-prep.yaml<\/a>, and <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Multi-primary%20Multicluster%20Istio\/eks-primay-namespace-prep.yaml\">eks-primary-namespace-prep.yaml<\/a> to create them.&nbsp;<\/p>\n\n\n\n<p>Command:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl create -f aks-primary-namespace-prep.yaml \u2013context=$AKS\nkubectl create -f eks-primary-namespace-prep.yaml \u2013context=$EKS<\/code><\/pre>\n\n\n\n<p>Step 2.2: We will create secrets for <strong><em>istio-system <\/em><\/strong>namespace in each cluster by running the command:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl create secret generic cacerts -n istio-system \u2013context=$AKS\\\n\u2013from-file=certs\/webinar-cluster\/ca-cert.pem\\\n\u2013from-file=certs\/webinar-cluster\/ca-key.prem\\\n\u2013from-file=certs\/webinar-cluster\/root-cert.pem\\\n\u2013from-file=certs\/webinar-cluster\/cert-chain.pem\n\nkubectl create secret generic cacerts -n istio-system \u2013context=$EKS\\\n\u2013from-file=certs\/eks-cluster\/ca-cert.pem\\\n\u2013from-file=certs\/eks-cluster\/ca-key.prem\\\n\u2013from-file=certs\/eks-cluster\/root-cert.pem\\\n\u2013from-file=certs\/webinar-cluster\/cert-chain.pem<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"512\" height=\"211\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/create-secrets-for-istio-system.png\" alt=\"create secrets for istio-system\" class=\"wp-image-1947\" style=\"aspect-ratio:2.4265402843601898;width:578px;height:auto\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/create-secrets-for-istio-system.png 512w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/create-secrets-for-istio-system-300x124.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/create-secrets-for-istio-system-400x165.png 400w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/figure>\n<\/div>\n\n\n<h4 class=\"wp-block-heading\">Step 3: Install Istio using HELM<\/h4>\n\n\n\n<p>Step 3.1: Add the HELM repo by executing the following commands.<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>helm repo add istio https:\/\/istio-release.storage.googleapis.com\/charts\n\nhelm repo update<\/code><\/pre>\n\n\n\n<p>Once helm repo is updated, we will install Istio, using HELM, in each cluster, in 3 sequential steps- first install <strong>Istio-base<\/strong>, then <strong>Istiod, <\/strong>and finally <strong>east-west gateway<\/strong>.&nbsp;<\/p>\n\n\n\n<p>Step 3.2: Please follow the below commands to install istio-base to <strong><em>istio-system <\/em><\/strong>namespace of each cluster. We will install first in AKS and then in EKS ( but you can choose to run the commands parallelly as well).&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>helm install istio-base istio\/base -n istio-system \u2013kube-context=$AKS<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"512\" height=\"177\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/install-istio-base-to-istio-system-namespace.png\" alt=\"\" class=\"wp-image-1948\" style=\"aspect-ratio:2.8926553672316384;width:671px;height:auto\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/install-istio-base-to-istio-system-namespace.png 512w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/install-istio-base-to-istio-system-namespace-300x104.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/install-istio-base-to-istio-system-namespace-400x138.png 400w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/figure>\n<\/div>\n\n\n<p>You can now install istio-base in EKS cluster by running the following sets of commands.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>helm install istio-base istio\/base -n istio-system \u2013kube-context=$AKS<\/code><\/pre>\n\n\n\n<p>Now, you can install <strong>istiod <\/strong>by running the following commands.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>helm install istiod istio\/istiod -n istio-system \u2013set global.meshID=mesh1 \u2013set global.multiCluster.ClusterName=webinar-cluster \u2013set global.network=network1 \u2013kube-context=$AKS<\/code><\/pre>\n\n\n\n<p>You should see an output like below.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"311\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/stio-base-in-EKS-cluster-1024x311.png\" alt=\"install istio-base in EKS cluster\" class=\"wp-image-1950\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/stio-base-in-EKS-cluster-1024x311.png 1024w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/stio-base-in-EKS-cluster-300x91.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/stio-base-in-EKS-cluster-768x233.png 768w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/stio-base-in-EKS-cluster-400x121.png 400w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/stio-base-in-EKS-cluster-800x243.png 800w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/stio-base-in-EKS-cluster-1160x352.png 1160w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/stio-base-in-EKS-cluster.png 1275w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Now, we need to install east-west gateway using the following command:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>helm install istio-eastwestgateway istio\/gateway -n istio-system \u2013set networkGateway=network1 \u2013set labels.``topology\\.istio\\.io\/network\u201d=network1 \u2013kube-context=$AKS\n<\/code><\/pre>\n\n\n\n<p>You should see an output like this:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"205\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/install-east-west-gateway-1024x205.png\" alt=\"install east-west gateway\" class=\"wp-image-1951\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/install-east-west-gateway-1024x205.png 1024w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/install-east-west-gateway-300x60.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/install-east-west-gateway-768x154.png 768w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/install-east-west-gateway-400x80.png 400w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/install-east-west-gateway-800x160.png 800w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/install-east-west-gateway-1160x233.png 1160w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/install-east-west-gateway.png 1302w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>Run the below commands to install Istio-base, istiod, and east-west gateway in EKS.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>helm install istio-base istio\/base -n istio-system \u2013kube-context=$EKS<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>helm install istiod istio\/istiod -n istio-system \u2013set global.meshID=mesh1 \u2013set global.multiCluster.ClusterName=eks-cluster \u2013set global.network=network2 \u2013kube-context=$EKS<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>helm install istio-eastwestgateway istio\/gateway -n istio-system \u2013set networkGateway=network2 \u2013set labels.``topology\\.istio\\.io\/network\u201d=network2 \u2013kube-context=$EKS<\/code><\/pre>\n\n\n\n<p>You can verify if the installations are proper and check the pods in <strong><em>istio-system <\/em><\/strong>namespace in each cluster.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"670\" height=\"168\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/istio-system-namespace.png\" alt=\"\" class=\"wp-image-1952\" style=\"aspect-ratio:3.988095238095238;width:834px;height:auto\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/istio-system-namespace.png 670w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/istio-system-namespace-300x75.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/istio-system-namespace-400x100.png 400w\" sizes=\"(max-width: 670px) 100vw, 670px\" \/><\/figure>\n<\/div>\n\n\n<h4 class=\"wp-block-heading\">Step 4: Established the trust between two primary clusters- EKS and AKS<\/h4>\n\n\n\n<p>Step 4.1: In this step, we will create a gateway resource in each cluster so that communication can happen between them via eastwest gateway. Refer the <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Multi-primary%20Multicluster%20Istio\/expose-services.yaml\">expose-services.yaml<\/a>.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>apiVersion: networking.istio.io\/v1alpha3\nkind: Gateway\nmetadata:\n  name: cross-network-gateway\n  namespace: istio-system\nspec:\n  selector:\n    istio: eastwestgateway\n  servers:\n    - port:\n        number: 15443\n        name: tls\n        protocol: TLS\n      tls:\n        mode: AUTO_PASSTHROUGH\n      hosts:\n        - \"*.local\"<\/code><\/pre>\n\n\n\n<p>You run the following command to create eastwest gateway resource:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl apply -f expose-services.yaml \u2013context=$AKS\nkubectl apply -f expose-services.yaml \u2013context=$EKS<\/code><\/pre>\n\n\n\n<p>Step 4.2: To start the secure communication, we need to create a secret and access the API server of each cluster to the other.&nbsp;<\/p>\n\n\n\n<p>We can execute the following command to create a secret in AKS and apply it in the EKS.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>istioctl create-remote-secret \u2013name=webinar-cluster \u2013context=$AKS &gt; aks-api-server.yaml\n\nistioctl create-remote-secret \u2013name=eks-cluster \u2013context=$EKS &gt; eks-api-server.yaml<\/code><\/pre>\n\n\n\n<p>We can now apply the secrets in respective clusters by executing the following commands:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl apply -f aks-api-server.yaml \u2013context=$EKS\nkubectl apply -f eks-api-server.yaml \u2013context=$AKS<\/code><\/pre>\n\n\n\n<p>By now, we have established the trust between the two cluster and communication now happen using Istio eastwest gateway. We will verify the communication by installing a few services in the next step.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Step 5: Verify and validate the multicluster communication in multi-primary Istio setup<\/h4>\n\n\n\n<p>We will create a new namespace (say <strong><em>test<\/em><\/strong>) in each cluster and make it Istio-enbaled. We will deploy services in <strong><em>test <\/em><\/strong>namespace in each cluster and initiate communication.&nbsp;<\/p>\n\n\n\n<p>Step 5.1: We will create a new namespace in each cluster.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl create ns test \u2013context=$EKS\nkubectl create ns test \u2013context=$AKS<\/code><\/pre>\n\n\n\n<p>Then we will lable the <strong><em>test <\/em><\/strong>namespace in each cluster as Istio-enbaled.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl label ns test istio-injection=enabled \u2013context=$AKS\nkubectl label ns test istio-injection=enabled \u2013context=$EKS<\/code><\/pre>\n\n\n\n<p>Step 5.2: We will deploy the <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Multi-primary%20Multicluster%20Istio\/helloworld-deployment-v1.yaml\">helloworld-deployment-v1 yaml<\/a> in AKS, <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Multi-primary%20Multicluster%20Istio\/helloworld-deployment-v2.yaml\">helloworld-deployment-v2 yaml<\/a> in EKS, and&nbsp; <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Multi-primary%20Multicluster%20Istio\/helloworld-service.yaml\">hello-world service<\/a> in both clusters, respectively. We will also deploy <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Multi-primary%20Multicluster%20Istio\/sleep.yaml\">sleep.yaml<\/a> to curl the application and test the communication.&nbsp;<\/p>\n\n\n\n<p>Execute the command to deploy the helloworld and sleep services in AKS and EKS, respectively.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl apply -f helloworld-service.yaml -n test \u2013context=$AKS\nkubectl apply -f helloworld-deployment-v1.yaml -n test \u2013context=$AKS\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl apply -f helloworld-service.yaml -n test \u2013context=$EKS\nkubectl apply -f helloworld-deployment-v2.yaml -n test \u2013context=$EKS\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl apply -f sleep.yaml -n test \u2013context=$AKS\nkubectl apply -f sleep.yaml -n test \u2013context=$EKS\n<\/code><\/pre>\n\n\n\n<p>Verify if all the pods and services are created, and your output should look something below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"831\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/output-for-pods-and-services-1024x831.png\" alt=\"output for pods and services\" class=\"wp-image-1953\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/output-for-pods-and-services-1024x831.png 1024w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/output-for-pods-and-services-300x244.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/output-for-pods-and-services-768x624.png 768w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/output-for-pods-and-services-400x325.png 400w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/output-for-pods-and-services-800x650.png 800w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/output-for-pods-and-services-1160x942.png 1160w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/output-for-pods-and-services.png 1388w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Step 5.3: We will verify the communication by sending curl request from one of the sleep pods in AKS. You can run the following command to get into one of the sleep pods in AKS.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl exec it &lt;&lt;sleep pod name in AKS&gt;&gt; -n test \u2013context=$AKS<\/code><\/pre>\n\n\n\n<p>To curl helloworld in AKS and EKS clusters from sleep pod in AKS, we need to execute the below commands:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>curl helloworld:5000\/hello<\/code><\/pre>\n\n\n\n<p>You should get a response from the Helloworld service in the AKS and EKS cluster as well. Here is the output. Helloworld service responds from V1 and V2 deployments in AKS and EKS clusters.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"453\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Helloworld-service-in-the-AKS-and-EKS-cluster.png\" alt=\"Helloworld service in the AKS and EKS cluster\" class=\"wp-image-1954\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Helloworld-service-in-the-AKS-and-EKS-cluster.png 680w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Helloworld-service-in-the-AKS-and-EKS-cluster-300x200.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Helloworld-service-in-the-AKS-and-EKS-cluster-400x266.png 400w\" sizes=\"(max-width: 680px) 100vw, 680px\" \/><\/figure>\n\n\n\n<p>Step 5.4: Similarly, if you try to get into a sleep pod in the test namespace in EKS cluster and try to curl helloworld service, then you would get a response from the hello-deployment V1 and V2 deployed in AKS and EKS cluster.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Common questions wrt Istio Multi-primary implementation&nbsp;<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>How is multi-primary different from implementing Istio into individual clusters?<\/strong><\/li>\n<\/ol>\n\n\n\n<p>If Istio control plane is implemented individually, they will communicate with each wrt load balancing or traffic handling. In each of these scenarios independent Ingress will be responsible for executing the task. Additionally, we will require an external load balancer to distribute the traffic.&nbsp;<\/p>\n\n\n\n<p>Another problem is service discovery will not happen. Services in cluster-1 (or say mesh-1) will not be aware of the Services running in cluster-2 (say, mesh2). In that case, developers must right separate logic to handle the communication.&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li><strong>Can we not handle the HA case of Multi-primary using Primary-remote?<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Yes, you can handle but the risk of the primary-remote is that if the control plane fails in the primary cluster, then all the network and security policies implemented in the data plane in the cluster-2 (remote cluster) will stop working<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Next step<\/h2>\n\n\n\n<p>If you want to implement Istio in large enterprises with numerous microservices across public or private cloud or VMs, then IMESH can help you. IMESH provides hassle-free Istio enterprise support to help large and medium organizations adopt Istio in production.&nbsp;<br><a href=\"https:\/\/imesh.ai\/contact-us.html\">Contact us<\/a> for enterprise Istio support today. Check out our <a href=\"https:\/\/imesh.ai\/pricing.html\">pricing<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Many large enterprises like retail and banks are adopting open-source Istio<span class=\"excerpt-more\"><\/span><\/p>\n","protected":false},"author":7,"featured_media":1956,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[32],"tags":[53],"class_list":["post-1936","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-istio-service-mesh","tag-istio"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to setup multi-primary Istio in EKS and AKS for production<\/title>\n<meta name=\"description\" content=\"Architects can learn about multi-primary Istio installation in EKS and AKS Kubernetes clusters to achieve High Availability in the production cluster.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to setup multi-primary Istio in EKS and AKS for production\" \/>\n<meta property=\"og:description\" content=\"Architects can learn about multi-primary Istio installation in EKS and AKS Kubernetes clusters to achieve High Availability in the production cluster.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/\" \/>\n<meta property=\"og:site_name\" content=\"IMESH\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-04T09:13:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-07T05:07:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/How-to-setup-multi-primary-Istio-in-EKS-and-AKS-for-production.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"576\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ravi Verma\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ravi Verma\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/\"},\"author\":{\"name\":\"Ravi Verma\",\"@id\":\"https:\/\/imesh.ai\/blog\/#\/schema\/person\/de71147e8308a9de3e6e329890ba3fb8\"},\"headline\":\"How to setup multi-primary Istio in EKS and AKS for production\",\"datePublished\":\"2024-03-04T09:13:25+00:00\",\"dateModified\":\"2024-03-07T05:07:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/\"},\"wordCount\":1603,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/imesh.ai\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/How-to-setup-multi-primary-Istio-in-EKS-and-AKS-for-production.png\",\"keywords\":[\"istio\"],\"articleSection\":[\"Istio service mesh\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/\",\"url\":\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/\",\"name\":\"How to setup multi-primary Istio in EKS and AKS for production\",\"isPartOf\":{\"@id\":\"https:\/\/imesh.ai\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/How-to-setup-multi-primary-Istio-in-EKS-and-AKS-for-production.png\",\"datePublished\":\"2024-03-04T09:13:25+00:00\",\"dateModified\":\"2024-03-07T05:07:01+00:00\",\"description\":\"Architects can learn about multi-primary Istio installation in EKS and AKS Kubernetes clusters to achieve High Availability in the production cluster.\",\"breadcrumb\":{\"@id\":\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#primaryimage\",\"url\":\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/How-to-setup-multi-primary-Istio-in-EKS-and-AKS-for-production.png\",\"contentUrl\":\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/How-to-setup-multi-primary-Istio-in-EKS-and-AKS-for-production.png\",\"width\":1024,\"height\":576,\"caption\":\"How to setup multi-primary Istio in EKS and AKS for production\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/imesh.ai\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to setup multi-primary Istio in EKS and AKS for production\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/imesh.ai\/blog\/#website\",\"url\":\"https:\/\/imesh.ai\/blog\/\",\"name\":\"IMESH Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/imesh.ai\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/imesh.ai\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/imesh.ai\/blog\/#organization\",\"name\":\"IMESH\",\"url\":\"https:\/\/imesh.ai\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/imesh.ai\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2023\/03\/IMESH-LOGO-scaled.jpg\",\"contentUrl\":\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2023\/03\/IMESH-LOGO-scaled.jpg\",\"width\":2560,\"height\":1665,\"caption\":\"IMESH\"},\"image\":{\"@id\":\"https:\/\/imesh.ai\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/imeshai\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/imesh.ai\/blog\/#\/schema\/person\/de71147e8308a9de3e6e329890ba3fb8\",\"name\":\"Ravi Verma\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/imesh.ai\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2023\/03\/Ravi-Color-e1679567181569-142x150.jpg\",\"contentUrl\":\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2023\/03\/Ravi-Color-e1679567181569-142x150.jpg\",\"caption\":\"Ravi Verma\"},\"description\":\"Ravi is the CTO of IMESH. Ravi, a technology visionary, brings 12+ years of experience in software development and cloud architecture in enterprise software. He has led R&amp;D divisions at Samsung and GE Healthcare and architected high-performance, secure and scalable systems for Baxter and Aricent. \u200bHis passion and interest lie in network and security. Ravi frequently discusses open-source technologies such as Kubernetes, Istio, and Envoy Proxy from the CNCF landscape.\",\"sameAs\":[\"https:\/\/imesh.ai\"],\"url\":\"https:\/\/imesh.ai\/blog\/author\/raviimesh-ai\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to setup multi-primary Istio in EKS and AKS for production","description":"Architects can learn about multi-primary Istio installation in EKS and AKS Kubernetes clusters to achieve High Availability in the production cluster.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/","og_locale":"en_US","og_type":"article","og_title":"How to setup multi-primary Istio in EKS and AKS for production","og_description":"Architects can learn about multi-primary Istio installation in EKS and AKS Kubernetes clusters to achieve High Availability in the production cluster.","og_url":"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/","og_site_name":"IMESH","article_published_time":"2024-03-04T09:13:25+00:00","article_modified_time":"2024-03-07T05:07:01+00:00","og_image":[{"width":1024,"height":576,"url":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/How-to-setup-multi-primary-Istio-in-EKS-and-AKS-for-production.png","type":"image\/png"}],"author":"Ravi Verma","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ravi Verma","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#article","isPartOf":{"@id":"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/"},"author":{"name":"Ravi Verma","@id":"https:\/\/imesh.ai\/blog\/#\/schema\/person\/de71147e8308a9de3e6e329890ba3fb8"},"headline":"How to setup multi-primary Istio in EKS and AKS for production","datePublished":"2024-03-04T09:13:25+00:00","dateModified":"2024-03-07T05:07:01+00:00","mainEntityOfPage":{"@id":"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/"},"wordCount":1603,"commentCount":2,"publisher":{"@id":"https:\/\/imesh.ai\/blog\/#organization"},"image":{"@id":"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#primaryimage"},"thumbnailUrl":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/How-to-setup-multi-primary-Istio-in-EKS-and-AKS-for-production.png","keywords":["istio"],"articleSection":["Istio service mesh"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/","url":"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/","name":"How to setup multi-primary Istio in EKS and AKS for production","isPartOf":{"@id":"https:\/\/imesh.ai\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#primaryimage"},"image":{"@id":"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#primaryimage"},"thumbnailUrl":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/How-to-setup-multi-primary-Istio-in-EKS-and-AKS-for-production.png","datePublished":"2024-03-04T09:13:25+00:00","dateModified":"2024-03-07T05:07:01+00:00","description":"Architects can learn about multi-primary Istio installation in EKS and AKS Kubernetes clusters to achieve High Availability in the production cluster.","breadcrumb":{"@id":"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#primaryimage","url":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/How-to-setup-multi-primary-Istio-in-EKS-and-AKS-for-production.png","contentUrl":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/How-to-setup-multi-primary-Istio-in-EKS-and-AKS-for-production.png","width":1024,"height":576,"caption":"How to setup multi-primary Istio in EKS and AKS for production"},{"@type":"BreadcrumbList","@id":"https:\/\/imesh.ai\/blog\/istio-multi-primary-installation-eks-and-aks\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/imesh.ai\/blog\/"},{"@type":"ListItem","position":2,"name":"How to setup multi-primary Istio in EKS and AKS for production"}]},{"@type":"WebSite","@id":"https:\/\/imesh.ai\/blog\/#website","url":"https:\/\/imesh.ai\/blog\/","name":"IMESH Blog","description":"","publisher":{"@id":"https:\/\/imesh.ai\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/imesh.ai\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/imesh.ai\/blog\/#organization","name":"IMESH","url":"https:\/\/imesh.ai\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imesh.ai\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2023\/03\/IMESH-LOGO-scaled.jpg","contentUrl":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2023\/03\/IMESH-LOGO-scaled.jpg","width":2560,"height":1665,"caption":"IMESH"},"image":{"@id":"https:\/\/imesh.ai\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/imeshai"]},{"@type":"Person","@id":"https:\/\/imesh.ai\/blog\/#\/schema\/person\/de71147e8308a9de3e6e329890ba3fb8","name":"Ravi Verma","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imesh.ai\/blog\/#\/schema\/person\/image\/","url":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2023\/03\/Ravi-Color-e1679567181569-142x150.jpg","contentUrl":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2023\/03\/Ravi-Color-e1679567181569-142x150.jpg","caption":"Ravi Verma"},"description":"Ravi is the CTO of IMESH. Ravi, a technology visionary, brings 12+ years of experience in software development and cloud architecture in enterprise software. He has led R&amp;D divisions at Samsung and GE Healthcare and architected high-performance, secure and scalable systems for Baxter and Aricent. \u200bHis passion and interest lie in network and security. Ravi frequently discusses open-source technologies such as Kubernetes, Istio, and Envoy Proxy from the CNCF landscape.","sameAs":["https:\/\/imesh.ai"],"url":"https:\/\/imesh.ai\/blog\/author\/raviimesh-ai\/"}]}},"jetpack_featured_media_url":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/How-to-setup-multi-primary-Istio-in-EKS-and-AKS-for-production.png","_links":{"self":[{"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/posts\/1936","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/comments?post=1936"}],"version-history":[{"count":3,"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/posts\/1936\/revisions"}],"predecessor-version":[{"id":1958,"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/posts\/1936\/revisions\/1958"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/media\/1956"}],"wp:attachment":[{"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/media?parent=1936"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/categories?post=1936"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/tags?post=1936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}