{"id":1961,"date":"2024-03-07T05:35:57","date_gmt":"2024-03-07T05:35:57","guid":{"rendered":"https:\/\/imesh.ai\/blog\/?p=1961"},"modified":"2024-03-07T05:35:59","modified_gmt":"2024-03-07T05:35:59","slug":"multicluster-gateways-kubernetes-gateway-api","status":"publish","type":"post","link":"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/","title":{"rendered":"Multicluster Gateways with Kubernetes Gateway API"},"content":{"rendered":"\n<p>We have seen <a href=\"https:\/\/imesh.ai\/blog\/kubernetes-gateway-api-implementation\/\">how to implement K8s Gateway API<\/a> and access the services that are in the same cloud network, using the <em>Gateway<\/em> and <em>HTTPRoute<\/em> resources.<\/p>\n\n\n\n<p>Now, what if a service is in a different cloud environment and you have to access it from the Gateway i.e., multicluster, multicloud scenario? I\u2019ll walk you through a demo here and show you how to set up a multicluster, multicloud Gateway with <a href=\"https:\/\/imesh.ai\/blog\/kubernetes-gateway-api\/\">Kubernetes Gateway API<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Multicluster Kubernetes Gateway demo overview<\/h2>\n\n\n\n<p>We have two clusters: one in EKS (primary) and the other in GKE (remote). I have deployed Istio in both the clusters and the setup is <a href=\"https:\/\/imesh.ai\/blog\/how-to-implement-istio-in-multicloud-and-multicluster\/\">primary-remote Istio installation<\/a>. Istio is used as the controller to implement the Gateway API resources.&nbsp;<\/p>\n\n\n\n<p>Here\u2019s what I\u2019m going to do:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the primary cluster\/EKS, deploy the<em> helloworld-v1 <\/em>deployment, <em>helloworld<\/em> service, and <em>echoserver <\/em>service.<\/li>\n\n\n\n<li>In the remote cluster\/GKE, deploy <em>helloworld-v2 <\/em>deployment, <em>helloworld <\/em>service, <em>echoserver <\/em>deployment, and <em>echoserver <\/em>service.<\/li>\n\n\n\n<li>Deploy the Kubernetes Gateway API resources \u2014 <em>Gateway <\/em>and<em> HTTPRoutes <\/em>\u2014 in the primary cluster.<\/li>\n\n\n\n<li>After the deployments, we will verify that the Gateway<em> <\/em>in the primary cluster\/EKS can access the services in the remote cluster\/GKE, as shown in the image below:<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"960\" height=\"540\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/multicluster-multicloud-gateway-with-gateway-api-demo-setup.png\" alt=\"multicluster, multicloud gateway with gateway api demo setup\" class=\"wp-image-1962\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/multicluster-multicloud-gateway-with-gateway-api-demo-setup.png 960w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/multicluster-multicloud-gateway-with-gateway-api-demo-setup-300x169.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/multicluster-multicloud-gateway-with-gateway-api-demo-setup-768x432.png 768w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/multicluster-multicloud-gateway-with-gateway-api-demo-setup-400x225.png 400w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/multicluster-multicloud-gateway-with-gateway-api-demo-setup-800x450.png 800w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>Multicluster, multicloud Gateway with K8s Gateway API demo setup<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Deploy the applications and services in clusters<\/h2>\n\n\n\n<p>Deploying <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Getting%20started%20with%20Gateway%20API%20in%20multicluster%20Istio%20on%20EKS%20and%20GKE\/helloworld-service.yaml\"><em>helloworld-service<\/em><\/a><em> <\/em>in both the primary and remote clusters:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl -f apply helloworld-service.yaml --context=eks-cluster\r\nkubectl -f apply helloworld-service.yaml --context=gke-cluster<\/code><\/pre>\n\n\n\n<p>Deploying <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Getting%20started%20with%20Gateway%20API%20in%20multicluster%20Istio%20on%20EKS%20and%20GKE\/helloworld-deployment-v1.yaml\"><em>helloworld-deployment-v1<\/em><\/a><em> <\/em>to the primary cluster\/EKS and <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Getting%20started%20with%20Gateway%20API%20in%20multicluster%20Istio%20on%20EKS%20and%20GKE\/helloworld-deployment-v2.yaml\"><em>helloworld-deployment-v2<\/em><\/a><em> <\/em>to the remote cluster\/GKE:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl -f apply helloworld-deployment-v1.yaml --context=eks-cluster\nkubectl -f apply helloworld-deployment-v2.yaml --context=gke-cluster<\/code><\/pre>\n\n\n\n<p>Deploying <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Getting%20started%20with%20Gateway%20API%20in%20multicluster%20Istio%20on%20EKS%20and%20GKE\/echoserver-service.yaml\"><em>echoserver-service<\/em><\/a><em> <\/em>in both the clusters and <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Getting%20started%20with%20Gateway%20API%20in%20multicluster%20Istio%20on%20EKS%20and%20GKE\/echoserver-deployment.yaml\"><em>echoserver-deployment<\/em><\/a> only in the remote cluster:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl -f apply echoserver-service.yaml --context=eks-cluster\nkubectl -f apply echoserver-service.yaml --context=gke-cluster\nkubectl -f apply echoserver-deployment.yaml --context=gke-cluster<\/code><\/pre>\n\n\n\n<p>Note that service resources need to be deployed in both clusters for this to work. That is why I deployed the <em>echoserver-service<\/em> in the primary cluster\/EKS although the deployment is only in the remote cluster\/GKE.<\/p>\n\n\n\n<p>Now, let us verify the deployments in both the primary and secondary clusters:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl get svc -n demo --context=eks-cluster\nkubectl get pods -n demo --context=eks-cluster\nkubectl get svc -n demo --context=gke-cluster\nkubectl get pods -n demo --context=gke-cluster<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"238\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-the-deployments-in-both-the-primary-and-secondary-clusters-1024x238.png\" alt=\"verifying the deployments in both the primary and secondary clusters\" class=\"wp-image-1963\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-the-deployments-in-both-the-primary-and-secondary-clusters-1024x238.png 1024w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-the-deployments-in-both-the-primary-and-secondary-clusters-300x70.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-the-deployments-in-both-the-primary-and-secondary-clusters-768x178.png 768w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-the-deployments-in-both-the-primary-and-secondary-clusters-400x93.png 400w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-the-deployments-in-both-the-primary-and-secondary-clusters-800x186.png 800w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-the-deployments-in-both-the-primary-and-secondary-clusters.png 1063w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>The primary cluster has the <em>helloworld-v1 <\/em>pod running, while the remote cluster has both <em>helloworld-v2<\/em> and <em>echoserver <\/em>pods running successfully:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"960\" height=\"540\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/applications-deployed-in-the-primary-and-remote-clusters.png\" alt=\"applications deployed in the primary and remote clusters\" class=\"wp-image-1964\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/applications-deployed-in-the-primary-and-remote-clusters.png 960w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/applications-deployed-in-the-primary-and-remote-clusters-300x169.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/applications-deployed-in-the-primary-and-remote-clusters-768x432.png 768w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/applications-deployed-in-the-primary-and-remote-clusters-400x225.png 400w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/applications-deployed-in-the-primary-and-remote-clusters-800x450.png 800w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Deploy K8s Gateway API resources and verify multicluster communication<\/h2>\n\n\n\n<p>Applying the <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Getting%20started%20with%20Gateway%20API%20in%20multicluster%20Istio%20on%20EKS%20and%20GKE\/gateway-api-gateway.yaml\"><em>gateway<\/em><\/a><em> <\/em>resource in the primary\/EKS cluster:<\/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 gateway-api-gateway.yaml --context=eks-cluster<\/code><\/pre>\n\n\n\n<p>The Gateway uses Istio as the controller and is deployed in the <em>istio-ingress <\/em>namespace.<\/p>\n\n\n\n<p>Deploying <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Getting%20started%20with%20Gateway%20API%20in%20multicluster%20Istio%20on%20EKS%20and%20GKE\/helloworld-httproute.yaml\"><em>HTTPRoute<\/em><\/a><em> <\/em>in the primary cluster for <em>helloworld<\/em> application, which listens on path <em>\/hello<\/em>:<\/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-httproute.yaml --context=eks-cluster<\/code><\/pre>\n\n\n\n<p>Now, let us verify multicluster communication by curling <em>helloworld <\/em>application, but first, we need to get the <em>Gateway <\/em>IP:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>kubectl get svc -n istio-ingress --context=eks-cluster<\/code><\/pre>\n\n\n\n<p>Verifying multicluster communication:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>curl your_gateway_external_ip\/hello<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"177\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-multicluster-communication-in-k8s-gateway-API-1024x177.png\" alt=\"verifying multicluster communication in k8s gateway API\" class=\"wp-image-1965\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-multicluster-communication-in-k8s-gateway-API-1024x177.png 1024w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-multicluster-communication-in-k8s-gateway-API-300x52.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-multicluster-communication-in-k8s-gateway-API-768x133.png 768w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-multicluster-communication-in-k8s-gateway-API-400x69.png 400w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-multicluster-communication-in-k8s-gateway-API-800x139.png 800w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-multicluster-communication-in-k8s-gateway-API-1160x201.png 1160w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/verifying-multicluster-communication-in-k8s-gateway-API.png 1356w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>You can see that the request is served by both the <em>helloworld-v1 <\/em>and <em>helloworld-v2 <\/em>that are deployed in the primary and secondary clusters, respectively.<\/p>\n\n\n\n<p>Now, let us deploy the <a href=\"https:\/\/github.com\/imesh-ai\/webinar\/blob\/main\/Getting%20started%20with%20Gateway%20API%20in%20multicluster%20Istio%20on%20EKS%20and%20GKE\/echoserver-httproute.yaml\"><em>HTTPRoute<\/em> for <em>echoserver<\/em><\/a><em> <\/em>in the primary cluster, which listens on <em>\/ <\/em>:<\/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 echoserver-httproute.yaml --context=eks-cluster<\/code><\/pre>\n\n\n\n<p>Verifying if the Gateway is able to access <em>echoserver<\/em> deployed in the remote cluster:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>curl your_gateway_external_ip<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"460\" src=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/application-in-the-remote-cluster-serving-the-request-from-the-gateway-in-primary-cluster-1024x460.png\" alt=\"application in the remote cluster serving the request from the gateway in primary cluster\" class=\"wp-image-1966\" srcset=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/application-in-the-remote-cluster-serving-the-request-from-the-gateway-in-primary-cluster-1024x460.png 1024w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/application-in-the-remote-cluster-serving-the-request-from-the-gateway-in-primary-cluster-300x135.png 300w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/application-in-the-remote-cluster-serving-the-request-from-the-gateway-in-primary-cluster-768x345.png 768w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/application-in-the-remote-cluster-serving-the-request-from-the-gateway-in-primary-cluster-400x180.png 400w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/application-in-the-remote-cluster-serving-the-request-from-the-gateway-in-primary-cluster-800x359.png 800w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/application-in-the-remote-cluster-serving-the-request-from-the-gateway-in-primary-cluster-1160x521.png 1160w, https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/application-in-the-remote-cluster-serving-the-request-from-the-gateway-in-primary-cluster.png 1427w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>The Gateway is able to get response from <em>echoserver<\/em> deployed in the remote cluster successfully. And that is the end of the demo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Securing traffic in Gateway API<\/h2>\n\n\n\n<p>Check out the blog, <a href=\"https:\/\/imesh.ai\/blog\/secure-tls-kubernetes-gateway-api\/\">TLS with Kubernetes Gateway API<\/a>, to see a demo on securing traffic in Gateway API. It shows how to set up 2 listeners (HTTP &amp; HTTPS) at the Gateway and attach <em>HTTPRoutes<\/em> to them to enable TLS.<br>If you need help with configuring multicluster or multicloud communication with Gateway API, feel free to <a href=\"mailto:contact@imesh.ai\">reach out to us<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We have seen how to implement K8s Gateway API and access the<span class=\"excerpt-more\"><\/span><\/p>\n","protected":false},"author":7,"featured_media":1969,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[121],"tags":[120],"class_list":["post-1961","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kubernetes-gateway-api","tag-kubernetes-gateway-api"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Multicluster Gateways with Kubernetes Gateway API<\/title>\n<meta name=\"description\" content=\"See a tutorial on how to configure multicluster, multicloud (EKS &amp; GKE) Gateways with Kubernetes Gateway API and Istio as the implementor.\" \/>\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\/multicluster-gateways-kubernetes-gateway-api\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Multicluster Gateways with Kubernetes Gateway API\" \/>\n<meta property=\"og:description\" content=\"See a tutorial on how to configure multicluster, multicloud (EKS &amp; GKE) Gateways with Kubernetes Gateway API and Istio as the implementor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/\" \/>\n<meta property=\"og:site_name\" content=\"IMESH\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-07T05:35:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-07T05:35:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multicluster-Gateways-with-Kubernetes-Gateway-API.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=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/\"},\"author\":{\"name\":\"Ravi Verma\",\"@id\":\"https:\/\/imesh.ai\/blog\/#\/schema\/person\/de71147e8308a9de3e6e329890ba3fb8\"},\"headline\":\"Multicluster Gateways with Kubernetes Gateway API\",\"datePublished\":\"2024-03-07T05:35:57+00:00\",\"dateModified\":\"2024-03-07T05:35:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/\"},\"wordCount\":540,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/imesh.ai\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multicluster-Gateways-with-Kubernetes-Gateway-API.png\",\"keywords\":[\"Kubernetes Gateway API\"],\"articleSection\":[\"Kubernetes Gateway API\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/\",\"url\":\"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/\",\"name\":\"Multicluster Gateways with Kubernetes Gateway API\",\"isPartOf\":{\"@id\":\"https:\/\/imesh.ai\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multicluster-Gateways-with-Kubernetes-Gateway-API.png\",\"datePublished\":\"2024-03-07T05:35:57+00:00\",\"dateModified\":\"2024-03-07T05:35:59+00:00\",\"description\":\"See a tutorial on how to configure multicluster, multicloud (EKS & GKE) Gateways with Kubernetes Gateway API and Istio as the implementor.\",\"breadcrumb\":{\"@id\":\"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#primaryimage\",\"url\":\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multicluster-Gateways-with-Kubernetes-Gateway-API.png\",\"contentUrl\":\"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multicluster-Gateways-with-Kubernetes-Gateway-API.png\",\"width\":1024,\"height\":576,\"caption\":\"Multicluster Gateways with Kubernetes Gateway API\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/imesh.ai\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Multicluster Gateways with Kubernetes Gateway API\"}]},{\"@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":"Multicluster Gateways with Kubernetes Gateway API","description":"See a tutorial on how to configure multicluster, multicloud (EKS & GKE) Gateways with Kubernetes Gateway API and Istio as the implementor.","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\/multicluster-gateways-kubernetes-gateway-api\/","og_locale":"en_US","og_type":"article","og_title":"Multicluster Gateways with Kubernetes Gateway API","og_description":"See a tutorial on how to configure multicluster, multicloud (EKS & GKE) Gateways with Kubernetes Gateway API and Istio as the implementor.","og_url":"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/","og_site_name":"IMESH","article_published_time":"2024-03-07T05:35:57+00:00","article_modified_time":"2024-03-07T05:35:59+00:00","og_image":[{"width":1024,"height":576,"url":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multicluster-Gateways-with-Kubernetes-Gateway-API.png","type":"image\/png"}],"author":"Ravi Verma","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ravi Verma","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#article","isPartOf":{"@id":"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/"},"author":{"name":"Ravi Verma","@id":"https:\/\/imesh.ai\/blog\/#\/schema\/person\/de71147e8308a9de3e6e329890ba3fb8"},"headline":"Multicluster Gateways with Kubernetes Gateway API","datePublished":"2024-03-07T05:35:57+00:00","dateModified":"2024-03-07T05:35:59+00:00","mainEntityOfPage":{"@id":"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/"},"wordCount":540,"commentCount":0,"publisher":{"@id":"https:\/\/imesh.ai\/blog\/#organization"},"image":{"@id":"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#primaryimage"},"thumbnailUrl":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multicluster-Gateways-with-Kubernetes-Gateway-API.png","keywords":["Kubernetes Gateway API"],"articleSection":["Kubernetes Gateway API"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/","url":"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/","name":"Multicluster Gateways with Kubernetes Gateway API","isPartOf":{"@id":"https:\/\/imesh.ai\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#primaryimage"},"image":{"@id":"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#primaryimage"},"thumbnailUrl":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multicluster-Gateways-with-Kubernetes-Gateway-API.png","datePublished":"2024-03-07T05:35:57+00:00","dateModified":"2024-03-07T05:35:59+00:00","description":"See a tutorial on how to configure multicluster, multicloud (EKS & GKE) Gateways with Kubernetes Gateway API and Istio as the implementor.","breadcrumb":{"@id":"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#primaryimage","url":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multicluster-Gateways-with-Kubernetes-Gateway-API.png","contentUrl":"https:\/\/imesh.ai\/blog\/wp-content\/uploads\/2024\/03\/Multicluster-Gateways-with-Kubernetes-Gateway-API.png","width":1024,"height":576,"caption":"Multicluster Gateways with Kubernetes Gateway API"},{"@type":"BreadcrumbList","@id":"https:\/\/imesh.ai\/blog\/multicluster-gateways-kubernetes-gateway-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/imesh.ai\/blog\/"},{"@type":"ListItem","position":2,"name":"Multicluster Gateways with Kubernetes Gateway API"}]},{"@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\/Multicluster-Gateways-with-Kubernetes-Gateway-API.png","_links":{"self":[{"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/posts\/1961","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=1961"}],"version-history":[{"count":2,"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/posts\/1961\/revisions"}],"predecessor-version":[{"id":1968,"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/posts\/1961\/revisions\/1968"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/media\/1969"}],"wp:attachment":[{"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/media?parent=1961"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/categories?post=1961"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imesh.ai\/blog\/wp-json\/wp\/v2\/tags?post=1961"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}