CINXE.COM
Kong Mesh | Kong Docs
<!DOCTYPE html> <html lang="en-US" itemscope itemtype="http://schema.org/Article"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- OneTrust Cookies Consent Notice start for konghq.com --> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="2c4de954-6bec-4e93-8086-64cb113f151a"> </script> <script type="text/javascript"> function OptanonWrapper() { } </script> <!-- OneTrust Cookies Consent Notice end for konghq.com --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer', 'GTM-NL48VKT');</script> <!-- End Google Tag Manager --> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Kong Mesh | Kong Docs</title> <meta name="description" content="Documentation for Kong, the Cloud Connectivity Company for APIs and Microservices."> <meta name="author" content="KongHQ"> <meta property="og:title" content="Kong Mesh | Kong Docs"> <meta property="og:site_name" content="Kong Docs"> <!-- use share link for facebook --> <meta property="og:url" content="https://docs.konghq.com"> <meta property="og:description" content="Documentation for Kong, the Cloud Connectivity Company for APIs and Microservices."> <meta property="og:type" content="website"> <meta property="og:locale" content="en_US"> <meta property="og:image" content="https://docs.konghq.com/assets/images/share.png"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@thekonginc"> <meta name="twitter:creator" content="@thekonginc"> <meta name="twitter:url" content="https://docs.konghq.com"> <meta name="twitter:description" content="Documentation for Kong, the Cloud Connectivity Company for APIs and Microservices."> <meta name="twitter:image" content="https://docs.konghq.com/assets/images/share.png"> <meta property="fb:admins" content="227304446"> <meta property="fb:admins" content="576641408"> <meta name="google-site-verification" content="CrU3zp02dNKTe8NSAipL4NCPkrIjDXG8fViTZ-MIzP4"> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "name": "KongHQ", "url": "https://docs.konghq.com", "logo": "https://docs.konghq.com/assets/images/logo.png", "sameAs": [ "https://www.facebook.com/konginc", "https://twitter.com/thekonginc", "https://plus.google.com/+mashape" ] } </script> <!-- Preload assets --> <link rel="dns-prefetch" href="https://cloud.typography.com"> <link rel="dns-prefetch" href="https://dev.visualwebsiteoptimizer.com"> <link rel="dns-prefetch" href="https://cdn.segment.com"> <link rel="icon" type="image/x-icon" href="/assets/images/favicon.ico"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@docsearch/css@3"> <link rel="canonical" href="https://docs.konghq.com/mesh/latest/"> <link rel="alternate" hreflang="x-default" href="https://docs.konghq.com/mesh/latest/"> <link rel="alternate" hreflang="ja" href="https://docs.jp.konghq.com/mesh/latest/"> <meta name="robots" content="follow,index"> <!-- FontAwesome icon font --> <script src="https://kit.fontawesome.com/1332a92967.js" crossorigin="anonymous"> </script> <script src="/vite/assets/application-BwnN4xAL.js" crossorigin="anonymous" type="module"></script> <link href="/vite/assets/_commonjsHelpers-Cpj98o6Y.js" rel="modulepreload" as="script" crossorigin="anonymous"> <link rel="stylesheet" href="/vite/assets/application-9w6VHfwH.css" media="screen"> </head> <body id="" data-spy="scroll" data-target="#scroll-sidebar" data-offset="350"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NL48VKT" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <header class="navbar-v2 closed"> <a class="skip-main" href="#main">Skip to content</a> <!-- uncomment the promo-banner div when adding a new promo banner--> <!--also uncomment the promo banner sections in app/assets/stylesheets/header.less and application.js--> <!-- <div id="promo-banner"> <div class="container"> <div class="closebanner"></div> <strong>2024 API Summit Hackathon: Experiment with API Innovation & AI. Submit by Sept 11 —<a href="https://konghq.com/conferences/kong-summit/hackathon?utm_medium=website&utm_source=docs-konghq-com&utm_campaign=docs-banner">Enter Now →</a> </strong> </div> </div> --> <div class="navbar-content"> <a href="https://konghq.com" class="navbar-brand col col-xl-auto" target="_blank" rel="noopener noreferrer"> <img src="/assets/images/logos/konglogo-dark-theme.svg" alt="Kong Logo" id="kong-logo"> </a> <span class="logo-divider">|</span> <a href="/" class="navbar-brand col col-xl-auto"> <img src="/assets/images/logos/docslogo-dark-theme.svg" alt="Kong Docs Logo" id="kong-docs-logo"> </a> <div class="separator mobile"></div> <div class="search-input-wrapper" id="getkong-algolia-search-input"> </div> <div class="search-results-wrapper"></div> <div class="navbar-items" role="navigation" aria-label="Main menu"> <ul class="navbar-items" role="menubar"> <li id="top-module-list" aria-haspopup="true" role="menuitem" aria-expanded="false" class="navbar-item main-menu-item with-submenu active"> <span tabindex="0" id="docs-link" class="main-menu-item-title">Docs</span> <span class="caret"></span> <ul class="navbar-item-submenu" role="menu"> <div class="submenu-section"> <li role="menuitem" class="docs-dropdown-li"> <a href="/api/" class="docs-dropdown-li__link" tabindex="-1"> <div class="docs-dropdown-li__card"> <span class="heading">Explore the API Specs</span> <div class="docs-dropdown-li__card-link"> <img src="/assets/images/landing-page/view-all-api-specs.png" alt="View all API Specs"> <span class="docs-dropdown-li__card-image"> View all API Specs <img src="/assets/images/landing-page/arrow-right.svg" alt="View all API Specs arrow image"> </span> </div> </div> </a> </li> <li role="menuitem" class="docs-dropdown-li" tabindex="-1"> <div class="docs-dropdown-li__section"> <div class="docs-dropdown-li__section-title"> <span class="heading">Documentation</span> </div> <div class="docs-dropdown-li__section-items"> <a class="item item-all" href="/api/" tabindex="-1"> <div class="item__description"> <div class="item__description-title">API Specs</div> </div> </a> <a class="item" href="/gateway/latest/" tabindex="-1"> <div class="item__description"> <div class="item__description-title">Kong Gateway</div> <div class="item__description-desc">Lightweight, fast, and flexible cloud-native API gateway</div> </div> </a> <a class="item" href="/konnect/" tabindex="-1"> <div class="item__description"> <div class="item__description-title">Kong Konnect</div> <div class="item__description-desc">Single platform for SaaS end-to-end connectivity</div> </div> </a> <a class="item" href="/gateway/latest/ai-gateway/" tabindex="-1"> <div class="item__description"> <div class="item__description-title">Kong AI Gateway</div> <div class="item__description-desc">Multi-LLM AI Gateway for GenAI infrastructure</div> </div> </a> <a class="item" href="/mesh/latest/" tabindex="-1"> <div class="item__description"> <div class="item__description-title">Kong Mesh</div> <div class="item__description-desc">Enterprise service mesh based on Kuma and Envoy</div> </div> </a> <a class="item" href="/deck/latest/" tabindex="-1"> <div class="item__description"> <div class="item__description-title">decK</div> <div class="item__description-desc">Helps manage Kong’s configuration in a declarative fashion</div> </div> </a> <a class="item" href="/kubernetes-ingress-controller/latest/" tabindex="-1"> <div class="item__description"> <div class="item__description-title">Kong Ingress Controller</div> <div class="item__description-desc">Works inside a Kubernetes cluster and configures Kong to proxy traffic</div> </div> </a> <a class="item" href="/gateway-operator/latest/" tabindex="-1"> <div class="item__description"> <div class="item__description-title">Kong Gateway Operator</div> <div class="item__description-desc">Manage your Kong deployments on Kubernetes using YAML Manifests</div> </div> </a> <a class="item" href="https://docs.insomnia.rest/" tabindex="-1" target="_blank" rel="noopener nofollow noreferrer "> <div class="item__description"> <div class="item__description-title">Insomnia</div> <div class="item__description-desc">Collaborative API development platform</div> </div> </a> </div> </div> </li> </div> </ul> </li> <li role="menuitem" aria-haspopup="true" aria-expanded="false" class="navbar-item main-menu-item with-submenu navbar-item-hub"> <span id="plugin-link" class="main-menu-item-title" tabindex="0">Plugin Hub</span> <span class="caret"></span> <ul class="navbar-item-submenu" role="menu"> <div class="submenu-section"> <li role="menuitem" class="docs-dropdown-li"> <a href="/hub/" class="docs-dropdown-li__link" tabindex="-1"> <div class="docs-dropdown-li__card"> <span class="heading">Explore the Plugin Hub</span> <div class="docs-dropdown-li__card-link"> <img src="/assets/images/landing-page/view-all-plugins.svg" alt="View all plugins"> <span class="docs-dropdown-li__card-image"> View all plugins <img src="/assets/images/landing-page/arrow-right.svg" alt="View all plugins arrow image"> </span> </div> </div> </a> </li> <li role="menuitem" class="docs-dropdown-li"> <div class="docs-dropdown-li__section"> <div class="docs-dropdown-li__section-title"> <span class="heading">Functionality</span> <a href="/hub/" class="view-all" tabindex="-1"> View all <img src="/assets/images/landing-page/arrow-right.svg" alt="View all arrow image"> </a> </div> <div class="docs-dropdown-li__section-items"> <a class="item item-all" href="/hub/" tabindex="-1"> <div class="item__description"> <div class="item__description-title">View all plugins</div> </div> </a> <a class="item" href="/hub/?category=ai" tabindex="-1"> <div> <img src="/assets/images/nav/hub/ai.svg" alt="AI's icon"> </div> <div class="item__description"> <div class="item__description-title">AI</div> <div class="item__description-desc">Govern, secure, and control AI traffic with multi-LLM AI Gateway plugins</div> </div> </a> <a class="item" href="/hub/?category=authentication" tabindex="-1"> <div> <img src="/assets/images/nav/hub/lock_person.svg" alt="Authentication's icon"> </div> <div class="item__description"> <div class="item__description-title">Authentication</div> <div class="item__description-desc">Protect your services with an authentication layer</div> </div> </a> <a class="item" href="/hub/?category=security" tabindex="-1"> <div> <img src="/assets/images/nav/hub/shield.svg" alt="Security's icon"> </div> <div class="item__description"> <div class="item__description-title">Security</div> <div class="item__description-desc">Protect your services with additional security layer</div> </div> </a> <a class="item" href="/hub/?category=traffic-control" tabindex="-1"> <div> <img src="/assets/images/nav/hub/route.svg" alt="Traffic Control's icon"> </div> <div class="item__description"> <div class="item__description-title">Traffic Control</div> <div class="item__description-desc">Manage, throttle and restrict inbound and outbound API traffic</div> </div> </a> <a class="item" href="/hub/?category=serverless" tabindex="-1"> <div> <img src="/assets/images/nav/hub/serverless.svg" alt="Serverless's icon"> </div> <div class="item__description"> <div class="item__description-title">Serverless</div> <div class="item__description-desc">Invoke serverless functions in combination with other plugins</div> </div> </a> <a class="item" href="/hub/?category=analytics-monitoring" tabindex="-1"> <div> <img src="/assets/images/nav/hub/bar_chart.svg" alt="Analytics & Monitoring's icon"> </div> <div class="item__description"> <div class="item__description-title">Analytics & Monitoring</div> <div class="item__description-desc">Visualize, inspect and monitor APIs and microservices traffic</div> </div> </a> <a class="item" href="/hub/?category=transformations" tabindex="-1"> <div> <img src="/assets/images/nav/hub/swap_horiz.svg" alt="Transformations's icon"> </div> <div class="item__description"> <div class="item__description-title">Transformations</div> <div class="item__description-desc">Transform request and responses on the fly on Kong</div> </div> </a> <a class="item" href="/hub/?category=logging" tabindex="-1"> <div> <img src="/assets/images/nav/hub/list_alt.svg" alt="Logging's icon"> </div> <div class="item__description"> <div class="item__description-title">Logging</div> <div class="item__description-desc">Log request and response data using the best transport for your infrastructure</div> </div> </a> </div> </div> </li> </div> </ul> </li> <li role="menuitem" class="main-menu-item"> <a href="https://support.konghq.com/" class="navbar-item" target="_blank" rel="noopener nofollow noreferrer ">Support</a> </li> <li role="menuitem" class="main-menu-item"> <a href="https://konghq.com/community/" class="navbar-item" target="_blank" rel="noopener noreferrer">Community</a> </li> <li role="menuitem" class="main-menu-item"> <a href="https://education.konghq.com" class="navbar-item" target="_blank" rel="noopener nofollow noreferrer ">Kong Academy</a> </li> </ul> <a id="top-cta" href="https://konghq.com/contact-sales?utm_source=docs.konghq.com" class="navbar-button" target="_blank" rel="noopener nofollow noreferrer "> Get a Demo </a> <a id="konnect-cta" href="https://konghq.com/products/kong-konnect/register?utm_medium=referral&utm_source=docs&utm_campaign=gateway-konnect&utm_content=top-nav" class="navbar-button" target="_blank" rel="noopener nofollow noreferrer "> Start Free Trial </a> </div> <div id="navbar-menu-toggle-button" class="small-screen-button" aria-label="Toggle navigation"> <div></div> <div></div> <div></div> </div> </div> </header> <div class="page v2 " data-url="/mesh/latest/"> <div class="page--header-background page--header-background-doc"></div> <div class="container"> <header class="page-header page-header-doc"> <div class="page-header-product-version"> <div class="edition"> Kong Mesh </div> <div class="version"> 2.9.x <span>(latest)</span> </div> </div> <div class="page-header--nav"> <i class="sidebar-toggle"></i> <ul class="breadcrumbs"> <li class="breadcrumb-item"> <a href="/"> <img src="/assets/images/icons/hub-layout/icn-breadcrumbs.svg" alt="Home icon"> </a> </li> <li class="breadcrumb-item"> <a href="/mesh/latest/">Kong Mesh</a> </li> <li class="breadcrumb-item"> <a href="/mesh/latest/">Kong Mesh</a> </li> </ul> <div class="github-links"> <div class="github-links--edit"> <a href="https://github.com/Kong/docs.konghq.com/edit/main/app/_src/mesh/index.md" target="_blank" rel="noopener nofollow noreferrer "> <img src="/assets/images/icons/third-party/logo-github-white.svg" alt="github-edit-page">Edit this page </a> </div> <div class="github-links--issues"> <a href="https://github.com/Kong/docs.konghq.com/issues/" target="_blank" rel="noopener nofollow noreferrer "> <img src="/assets/images/icons/documentation/icn-monitoring-white.svg" alt="report-issue">Report an issue</a> </div> </div> </div> </header> <aside class="docs-sidebar"> <i class="fa fa-times close-sidebar"></i> <div class="sidebar-title-container"> <div class="docsets-dropdown dropdown"> <button class="dropdown-button" id="module-dropdown" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" tabindex="0"> <span> Kong Mesh </span> <span class="caret"></span> </button> <ul class="dropdown-menu dropdown-menu-right with-submenu" id="module-list" role="menu" aria-labelledby="module-dropdown" aria-hidden="true"> <li role="menuitem" tabindex="-1"> <a href="/gateway/latest/">Kong Gateway</a> </li> <li role="menuitem" tabindex="-1"> <a href="/konnect/">Kong Konnect</a> </li> <li role="menuitem" tabindex="-1" class="active"> <a href="/mesh/latest/" class="active">Kong Mesh</a> </li> <li role="menuitem" tabindex="-1"> <a href="/hub/?category=ai">Kong AI Gateway</a> </li> <li role="menuitem" tabindex="-1"> <a href="/hub/">Plugin Hub</a> </li> <li role="menuitem" tabindex="-1"> <a href="/deck/latest/">decK</a> </li> <li role="menuitem" tabindex="-1"> <a href="/kubernetes-ingress-controller/latest/">Kong Ingress Controller</a> </li> <li role="menuitem" tabindex="-1"> <a href="/gateway-operator/latest/">Kong Gateway Operator</a> </li> <li> <a href="https://docs.insomnia.rest/" target="_blank" rel="noopener nofollow noreferrer ">Insomnia</a> </li> <li role="menuitem" tabindex="-1"> <a href="https://kuma.io/docs/" target="_blank" rel="noopener nofollow noreferrer ">Kuma</a> </li> <hr> <li role="menuitem" tabindex="-1"> <a href="/contributing/">Docs contribution guidelines</a> </li> </ul> </div> <div class="versions-dropdown dropdown"> <button class="dropdown-button" id="version-dropdown" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" tabindex="0"> <span> Version 2.9.x <span>(latest)</span> </span> <span class="caret"></span> </button> <ul class="dropdown-menu dropdown-menu-right" id="version-list" role="menu" aria-labelledby="version-dropdown" aria-hidden="true"> <li role="menuitem" tabindex="-1"> <a href="/mesh/dev/" data-version-id="2.10.x"> <em>dev</em> </a> </li> <li class="active" role="menuitem" tabindex="-1"> <a href="/mesh/2.9.x/" class="active" data-version-id="2.9.x"> 2.9.x <em>(latest)</em> </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/2.8.x/" data-version-id="2.8.x"> 2.8.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/2.7.x/" data-version-id="2.7.x"> 2.7.x (LTS) </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/2.6.x/" data-version-id="2.6.x"> 2.6.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/2.5.x/" data-version-id="2.5.x"> 2.5.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/2.4.x/" data-version-id="2.4.x"> 2.4.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/2.3.x/" data-version-id="2.3.x"> 2.3.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/2.2.x/" data-version-id="2.2.x"> 2.2.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/2.1.x/" data-version-id="2.1.x"> 2.1.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/2.0.x/" data-version-id="2.0.x"> 2.0.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/1.9.x/" data-version-id="1.9.x"> 1.9.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/1.8.x/" data-version-id="1.8.x"> 1.8.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/1.7.x/" data-version-id="1.7.x"> 1.7.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/1.6.x/" data-version-id="1.6.x"> 1.6.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/1.5.x/" data-version-id="1.5.x"> 1.5.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/1.4.x/" data-version-id="1.4.x"> 1.4.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/1.3.x/" data-version-id="1.3.x"> 1.3.x </a> </li> <li role="menuitem" tabindex="-1"> <a href="/mesh/1.2.x/" data-version-id="1.2.x"> 1.2.x </a> </li> </ul> </div> </div> <ul class="sidebar-container" role="tree" aria-label="Documentation"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-1-introduction-subtree"> <img src="/assets/images/icons/documentation/icn-flag.svg" alt=""> Introduction <button class="sidebar-tree-toggle" aria-label="toggle Introduction subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-1-introduction-subtree" role="group" aria-label="Introduction"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/introduction/about-service-meshes/"> About service meshes </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/"> Overview of Kong Mesh </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/introduction/how-kong-mesh-works/"> How Kong Mesh works </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/introduction/architecture/"> Architecture </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/introduction/install-kuma/"> Install Kuma </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/introduction/concepts/"> Concepts </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/availability-stages/"> Stages of software availability </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/support-policy/"> Version support policy </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/vulnerability-patching-process/"> Vulnerability patching process </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/introduction/kuma-requirements/"> Mesh requirements </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/changelog/"> Release notes </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-2-quickstart-subtree"> <img src="/assets/images/icons/documentation/icn-quickstart-color.svg" alt=""> Quickstart <button class="sidebar-tree-toggle" aria-label="toggle Quickstart subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-2-quickstart-subtree" role="group" aria-label="Quickstart"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/quickstart/kubernetes-demo/"> Deploy Kong Mesh on Kubernetes </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/quickstart/universal-demo/"> Deploy Kuma on Universal </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-3-kong-mesh-in-production-subtree"> <img src="/assets/images/icons/documentation/icn-deployment-color.svg" alt=""> Kong Mesh in Production <button class="sidebar-tree-toggle" aria-label="toggle Kong Mesh in Production subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-3-kong-mesh-in-production-subtree" role="group" aria-label="Kong Mesh in Production"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/"> Overview </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-3-2-deployment-topologies-subtree"> Deployment topologies <button class="sidebar-tree-toggle" aria-label="toggle Deployment topologies subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-3-2-deployment-topologies-subtree" role="group" aria-label="Deployment topologies"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/deployment/"> Overview </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/deployment/single-zone/"> Single-zone deployment </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/deployment/multi-zone/"> Multi-zone deployment </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/use-mesh/"> Use Kong Mesh </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-3-4-control-plane-deployment-subtree"> Control plane deployment <button class="sidebar-tree-toggle" aria-label="toggle Control plane deployment subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-3-4-control-plane-deployment-subtree" role="group" aria-label="Control plane deployment"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/cp-deployment/license/"> Kong Mesh license </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/cp-deployment/single-zone/"> Deploy a single-zone control plane </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/cp-deployment/multi-zone/"> Deploy a multi-zone global control plane </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/cp-deployment/zone-ingress/"> Zone Ingress </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/cp-deployment/zoneegress/"> Zone Egress </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/cp-deployment/zoneproxy-auth/"> Configure zone proxy authentication </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/reference/kuma-cp/"> Control plane configuration reference </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/cp-deployment/systemd/"> Systemd </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/cp-deployment/kubernetes/"> Kubernetes </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/explore/cli/"> kumactl </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/cp-deployment/production-usage-values/"> Deploy Kong Mesh in Production with Helm </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/mesh/"> Configuring your Mesh and multi-tenancy </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-3-6-data-plane-configuration-subtree"> Data plane configuration <button class="sidebar-tree-toggle" aria-label="toggle Data plane configuration subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-3-6-data-plane-configuration-subtree" role="group" aria-label="Data plane configuration"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/dp-config/dpp/"> Data plane proxy </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/dp-config/dpp-on-kubernetes/"> Configure the data plane on Kubernetes </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/dp-config/dpp-on-universal/"> Configure the data plane on Universal </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/dp-config/cni/"> Configure the Kong Mesh CNI </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/dp-config/transparent-proxying/"> Configure transparent proxying </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/dp-config/ipv6/"> IPv6 support </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-3-7-secure-your-deployment-subtree"> Secure your deployment <button class="sidebar-tree-toggle" aria-label="toggle Secure your deployment subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-3-7-secure-your-deployment-subtree" role="group" aria-label="Secure your deployment"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/secure-deployment/secrets/"> Manage secrets </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/secure-deployment/api-server-auth/"> Authentication with the API server </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/secure-deployment/dp-auth/"> Authentication with the data plane proxy </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/secure-deployment/dp-membership/"> Configure data plane proxy membership </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/secure-deployment/certificates/"> Secure access accross services </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/rbac/"> Kong Mesh RBAC </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/fips-support/"> FIPS support </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/gui/"> Kong Mesh user interface </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-3-9-inspect-api-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/explore/inspect-api/"> Inspect API </a> <button class="sidebar-tree-toggle" aria-label="toggle Inspect API subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-3-9-inspect-api-subtree" role="group" aria-label="Inspect API"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/explore/inspect-api/#matched-policies"> Matched policies </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/explore/inspect-api/#affected-data-plane-proxies"> Affected data plane proxies </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/explore/inspect-api/#envoy-proxy-configuration"> Envoy proxy configuration </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-3-10-upgrades-and-tuning-subtree"> Upgrades and tuning <button class="sidebar-tree-toggle" aria-label="toggle Upgrades and tuning subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-3-10-upgrades-and-tuning-subtree" role="group" aria-label="Upgrades and tuning"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/upgrades-tuning/upgrades/"> Upgrade Kong Mesh </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/upgrades-tuning/fine-tuning/"> Performance fine-tuning </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/production/upgrades-tuning/upgrade-notes/"> Version specific upgrade notes </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-3-11-control-plane-configuration-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/documentation/configuration/"> Control Plane Configuration </a> <button class="sidebar-tree-toggle" aria-label="toggle Control Plane Configuration subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-3-11-control-plane-configuration-subtree" role="group" aria-label="Control Plane Configuration"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/documentation/configuration/#modifying-the-configuration"> Modifying the configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/documentation/configuration/#inspecting-the-configuration"> Inspecting the configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/documentation/configuration/#store"> Store </a> </span> </li> </ul> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-4-using-kong-mesh-subtree"> <img src="/assets/images/icons/documentation/icn-overview-color.svg" alt=""> Using Kong Mesh <button class="sidebar-tree-toggle" aria-label="toggle Using Kong Mesh subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-4-using-kong-mesh-subtree" role="group" aria-label="Using Kong Mesh"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-4-1-zero-trust-application-security-subtree"> Zero Trust & Application Security <button class="sidebar-tree-toggle" aria-label="toggle Zero Trust & Application Security subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-4-1-zero-trust-application-security-subtree" role="group" aria-label="Zero Trust & Application Security"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/mutual-tls/"> Mutual TLS </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/external-services/"> External Service </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-4-2-resiliency-failover-subtree"> Resiliency & Failover <button class="sidebar-tree-toggle" aria-label="toggle Resiliency & Failover subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-4-2-resiliency-failover-subtree" role="group" aria-label="Resiliency & Failover"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/documentation/health/"> Dataplane Health </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/service-health-probes/"> Service Health Probes </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-4-3-managing-incoming-traffic-with-gateways-subtree"> Managing incoming traffic with gateways <button class="sidebar-tree-toggle" aria-label="toggle Managing incoming traffic with gateways subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-4-3-managing-incoming-traffic-with-gateways-subtree" role="group" aria-label="Managing incoming traffic with gateways"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/using-mesh/managing-ingress-traffic/overview/"> How ingress works in Kuma </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/using-mesh/managing-ingress-traffic/delegated/"> Delegated gateways </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/using-mesh/managing-ingress-traffic/builtin/"> Built-in gateways </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/using-mesh/managing-ingress-traffic/builtin-k8s/"> Running built-in gateway pods on Kubernetes </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/using-mesh/managing-ingress-traffic/builtin-listeners/"> Configuring built-in listeners </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/using-mesh/managing-ingress-traffic/builtin-routes/"> Configuring built-in routes </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/using-mesh/managing-ingress-traffic/gateway-api/"> Using the Kubernetes Gateway API </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-4-4-observability-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/explore/observability/"> Observability </a> <button class="sidebar-tree-toggle" aria-label="toggle Observability subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-4-4-observability-subtree" role="group" aria-label="Observability"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/explore/observability/#demo-setup"> Demo setup </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/explore/observability/#control-plane-observability"> Control plane metrics </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/explore/observability/#configuring-prometheus"> Configuring Prometheus </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/explore/observability/#configuring-grafana"> Configuring Grafana </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/explore/observability/#configuring-datadog"> Configuring Datadog </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/explore/observability/#observability-in-multi-zone"> Observability in multi-zone </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-4-5-route-traffic-shaping-subtree"> Route & Traffic shaping <button class="sidebar-tree-toggle" aria-label="toggle Route & Traffic shaping subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-4-5-route-traffic-shaping-subtree" role="group" aria-label="Route & Traffic shaping"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/protocol-support-in-kong-mesh/"> Protocol support in Kong Mesh </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-4-6-service-discovery-networking-subtree"> Service Discovery & Networking <button class="sidebar-tree-toggle" aria-label="toggle Service Discovery & Networking subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-4-6-service-discovery-networking-subtree" role="group" aria-label="Service Discovery & Networking"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/networking/service-discovery/"> Service Discovery </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/networking/meshservice/"> MeshService </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/networking/meshmultizoneservice/"> MeshMultiZoneService </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/networking/hostnamegenerator/"> HostnameGenerator </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/networking/dns/"> DNS </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/networking/non-mesh-traffic/"> Non-mesh traffic </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/networking/meshexternalservice/"> MeshExternalService </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/networking/transparent-proxying/"> Transparent Proxying </a> </span> </li> </ul> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-policies-subtree"> <img src="/assets/images/icons/documentation/icn-documentation-small.svg" alt=""> Policies <button class="sidebar-tree-toggle" aria-label="toggle Policies subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-policies-subtree" role="group" aria-label="Policies"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-1-introduction-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/introduction/"> Introduction </a> <button class="sidebar-tree-toggle" aria-label="toggle Introduction subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-1-introduction-subtree" role="group" aria-label="Introduction"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/introduction/#what-is-a-policy"> What is a policy? </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/introduction/#what-do-policies-look-like"> What do policies look like? </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/introduction/#writing-a-targetref"> Writing a targetRef </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/introduction/#merging-configuration"> Merging configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/introduction/#using-policies-with-meshservice-meshmultizoneservice-and-meshexternalservice"> Using policies with MeshService </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/introduction/#examples"> Examples </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/introduction/#applying-policies-in-shadow-mode"> Applying policies in shadow mode </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-2-meshaccesslog-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshaccesslog/"> MeshAccessLog </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshAccessLog subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-2-meshaccesslog-subtree" role="group" aria-label="MeshAccessLog"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshaccesslog/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshaccesslog/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshaccesslog/#examples"> Examples </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-3-meshcircuitbreaker-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshcircuitbreaker/"> MeshCircuitBreaker </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshCircuitBreaker subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-3-meshcircuitbreaker-subtree" role="group" aria-label="MeshCircuitBreaker"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshcircuitbreaker/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshcircuitbreaker/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshcircuitbreaker/#examples"> Examples </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-4-meshfaultinjection-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshfaultinjection/"> MeshFaultInjection </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshFaultInjection subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-4-meshfaultinjection-subtree" role="group" aria-label="MeshFaultInjection"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshfaultinjection/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshfaultinjection/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshfaultinjection/#examples"> Examples </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-5-meshhealthcheck-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshhealthcheck/"> MeshHealthCheck </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshHealthCheck subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-5-meshhealthcheck-subtree" role="group" aria-label="MeshHealthCheck"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshhealthcheck/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshhealthcheck/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshhealthcheck/#examples"> Examples </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-6-meshhttproute-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshhttproute/"> MeshHTTPRoute </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshHTTPRoute subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-6-meshhttproute-subtree" role="group" aria-label="MeshHTTPRoute"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshhttproute/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshhttproute/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshhttproute/#examples"> Examples </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshhttproute/#merging"> Merging </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-7-meshloadbalancingstrategy-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshloadbalancingstrategy/"> MeshLoadBalancingStrategy </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshLoadBalancingStrategy subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-7-meshloadbalancingstrategy-subtree" role="group" aria-label="MeshLoadBalancingStrategy"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshloadbalancingstrategy/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshloadbalancingstrategy/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshloadbalancingstrategy/#examples"> Examples </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-8-meshmetric-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshmetric/"> MeshMetric </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshMetric subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-8-meshmetric-subtree" role="group" aria-label="MeshMetric"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshmetric/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshmetric/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshmetric/#prometheus"> Prometheus </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshmetric/#opentelemetry"> OpenTelemetry </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshmetric/#examples"> Examples </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-9-meshpassthrough-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshpassthrough/"> MeshPassthrough </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshPassthrough subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-9-meshpassthrough-subtree" role="group" aria-label="MeshPassthrough"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshpassthrough/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshpassthrough/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshpassthrough/#examples"> Examples </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-10-meshproxypatch-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshproxypatch/"> MeshProxyPatch </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshProxyPatch subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-10-meshproxypatch-subtree" role="group" aria-label="MeshProxyPatch"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshproxypatch/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshproxypatch/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshproxypatch/#examples"> Examples </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshproxypatch/#merging"> Merging </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-11-meshratelimit-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshratelimit/"> MeshRateLimit </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshRateLimit subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-11-meshratelimit-subtree" role="group" aria-label="MeshRateLimit"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshratelimit/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshratelimit/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshratelimit/#examples"> Examples </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-12-meshretry-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshretry/"> MeshRetry </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshRetry subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-12-meshretry-subtree" role="group" aria-label="MeshRetry"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshretry/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshretry/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshretry/#examples"> Examples </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-13-meshtcproute-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtcproute/"> MeshTCPRoute </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshTCPRoute subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-13-meshtcproute-subtree" role="group" aria-label="MeshTCPRoute"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtcproute/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtcproute/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtcproute/#examples"> Examples </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtcproute/#route-policies-with-different-types-targeting-the-same-destination"> Route policies with different types targeting the same destination </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-14-meshtimeout-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtimeout/"> MeshTimeout </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshTimeout subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-14-meshtimeout-subtree" role="group" aria-label="MeshTimeout"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtimeout/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtimeout/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtimeout/#examples"> Examples </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-15-meshtls-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtls/"> MeshTLS </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshTLS subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-15-meshtls-subtree" role="group" aria-label="MeshTLS"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtls/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtls/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtls/#examples"> Examples </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-16-meshtrace-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtrace/"> MeshTrace </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshTrace subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-16-meshtrace-subtree" role="group" aria-label="MeshTrace"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtrace/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtrace/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtrace/#examples"> Examples </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-17-meshtrafficpermission-subtree"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtrafficpermission/"> MeshTrafficPermission </a> <button class="sidebar-tree-toggle" aria-label="toggle MeshTrafficPermission subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-17-meshtrafficpermission-subtree" role="group" aria-label="MeshTrafficPermission"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtrafficpermission/#targetref-support-matrix"> TargetRef support matrix </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtrafficpermission/#configuration"> Configuration </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshtrafficpermission/#examples"> Examples </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/meshopa/"> MeshOPA </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/meshglobalratelimit/"> MeshGlobalRateLimit (beta) </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-5-20-previous-policies-subtree"> Previous Policies <button class="sidebar-tree-toggle" aria-label="toggle Previous Policies subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-5-20-previous-policies-subtree" role="group" aria-label="Previous Policies"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/general-notes-about-kong-mesh-policies/"> General notes about Kong Mesh policies </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/how-kong-mesh-chooses-the-right-policy-to-apply/"> How Kong Mesh chooses the right policy to apply </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/traffic-permissions/"> Traffic Permissions </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/traffic-route/"> Traffic Route </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/traffic-metrics/"> Traffic Metrics </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/traffic-trace/"> Traffic Trace </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/traffic-log/"> Traffic Log </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/locality-aware/"> Locality-aware Load Balancing </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/fault-injection/"> Fault Injection </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/health-check/"> Health Check </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/circuit-breaker/"> Circuit Breaker </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/retry/"> Retry </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/timeout/"> Timeout </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/rate-limit/"> Rate Limit </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/virtual-outbound/"> Virtual Outbound </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/policies/meshgatewayroute/"> MeshGatewayRoute </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/opa/"> OPA policy </a> </span> </li> </ul> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-6-guides-subtree"> <img src="/assets/images/icons/documentation/icn-learning.svg" alt=""> Guides <button class="sidebar-tree-toggle" aria-label="toggle Guides subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-6-guides-subtree" role="group" aria-label="Guides"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/guides/federate/"> Federate zone control plane </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/guides/gateway-builtin/"> Add a builtin Gateway </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/guides/gateway-delegated/"> Add Kong as a delegated Gateway </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/guides/gateway-api/"> Kubernetes Gateway API </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/guides/otel-metrics/"> Collect Metrics with OpenTelemetry </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/guides/migration-to-the-new-policies/"> Migration to the new policies </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/guides/progressively-rolling-in-strict-mtls/"> Progressively rolling in strict MTLS </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/guides/consumer-producer-policies/"> Producer and consumer policies </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-7-enterprise-features-subtree"> <img src="/assets/images/icons/documentation/icn-enterprise-blue.svg" alt=""> Enterprise Features <button class="sidebar-tree-toggle" aria-label="toggle Enterprise Features subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-7-enterprise-features-subtree" role="group" aria-label="Enterprise Features"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/"> Overview </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/vault/"> HashiCorp Vault CA </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/acmpca/"> Amazon ACM Private CA </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/cert-manager/"> cert-manager Private CA </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/opa/"> OPA policy support </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/meshopa/"> MeshOPA (beta) </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/kds-auth/"> Multi-zone authentication </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/fips-support/"> FIPS support </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/ca-rotation/"> Certificate Authority rotation </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/rbac/"> Role-Based Access Control </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-7-11-red-hat-subtree"> Red Hat <button class="sidebar-tree-toggle" aria-label="toggle Red Hat subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-7-11-red-hat-subtree" role="group" aria-label="Red Hat"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/ubi-images/"> UBI Images </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/openshift-quickstart/"> Red Hat OpenShift Quickstart </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/windows/"> Windows Support </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/installation/ecs/"> ECS Support </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/access-audit/"> Auditing </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/features/meshglobalratelimit/"> MeshGlobalRateLimit (beta) </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-8-reference-subtree"> <img src="/assets/images/icons/documentation/icn-references-color.svg" alt=""> Reference <button class="sidebar-tree-toggle" aria-label="toggle Reference subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-8-reference-subtree" role="group" aria-label="Reference"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/reference/http-api/"> HTTP API </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/reference/kubernetes-annotations/"> Kubernetes annotations and labels </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/reference/data-collection/"> Kuma data collection </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/reference/kuma-cp/"> Control plane configuration reference </a> </span> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="/mesh/latest/reference/proxy-template/"> Envoy proxy template </a> </span> </li> </ul> </li> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label" aria-expanded="false" aria-owns="id-9-community-subtree"> <img src="/assets/images/icons/documentation/icn-references-color.svg" alt=""> Community <button class="sidebar-tree-toggle" aria-label="toggle Community subtree" tabindex="-1"> <i class="fa fa-chevron-down"></i> </button> </span> <ul class="items" id="id-9-community-subtree" role="group" aria-label="Community"> <li class="sidebar-item" role="none"> <span role="treeitem" class="sidebar-label"> <a class="sidebar-link" tabindex="-1" href="https://kuma.io/community/" target="_blank" rel="noopener nofollow noreferrer "> Contribute to Kuma </a> </span> </li> </ul> </li> </ul> </aside> <aside class="docs-toc"> <i class="fa fa-times close-sidebar"></i> <i class="fa fa-chevron-right collapse-toc"></i> <i class="far fa-list-alt expand-toc"></i> <div id="oss-ee-toggle" data-current="Enterprise" style="display: none"> <span class="oss-ee-toggle-inner"> <img src="/assets/images/icons/icn-enterprise-black.svg" alt="enterprise-switcher-icon"> <span>Switch to <span id="switch-to-version">OSS</span></span> </span> </div> <div class="docs-toc-title"> <img src="/assets/images/icons/hub-layout/icn-on-this-page.svg" alt="On this page"><a href="#">On this page</a> </div> <ul> <li><a href="#why-kong-mesh" class="active scroll-to">Why Kong Mesh?</a></li> <li><a href="#support-policy" class="scroll-to">Support policy</a></li> <li><a href="#contribute" class="scroll-to">Contribute</a></li> </ul> </aside> <div class="page-content-container page-content-container-doc v2 " id="documentation"> <div class="toggles "> <i class="far fa-list-alt toc-sidebar-toggle"></i> </div> <div class="page-content"> <div class="content show-anchor-links"> <h1 tabindex="-1" id="main" class="page-content-title">Kong Mesh </h1> <h2 class="page-content-subtitle">A modern control plane built on top of Envoy and focused on simplicity, security, and scalability</h2> <blockquote class="note"> <p><strong>Demo</strong>: To see Kong Mesh in action, you can <a href="https://konghq.com/request-demo-kong-mesh/" target="_blank" rel="noopener nofollow noreferrer ">request a demo</a> and we will get in touch with you.</p> </blockquote> <p>Welcome to the official documentation for Kong Mesh!</p> <p>Kong Mesh is an enterprise-grade service mesh that runs on both Kubernetes and VMs on any cloud. Built on top of CNCF’s <a href="https://kuma.io" target="_blank" rel="noopener nofollow noreferrer ">Kuma</a> and Envoy and focused on simplicity, Kong Mesh enables the microservices transformation with:</p> <ul> <li>Out-of-the-box service connectivity and discovery</li> <li>Zero-trust security</li> <li>Traffic reliability</li> <li>Global observability across all traffic, including cross-cluster deployments</li> </ul> <p>Kong Mesh extends Kuma and Envoy with enterprise features and support, while providing native integration with <a href="https://konghq.com/products/api-gateway-platform" target="_blank" rel="noopener nofollow noreferrer ">Kong Gateway Enterprise</a> for a full-stack connectivity platform for all of your services and APIs, across every cloud and environment.</p> <blockquote class="note"> <p>Kuma itself was originally created by Kong and donated to CNCF to provide the first neutral Envoy-based service mesh to the industry. Kong still maintains and develops Kuma, which is the foundation for Kong Mesh.</p> </blockquote> <center> <i>Kong Mesh extends CNCF's Kuma and Envoy to provide an enterprise-grade service mesh with unique features in the service mesh landscape, while still relying on a neutral foundation.</i> <table class="features-table"> <thead> <tr> <th></th> <th class="product-name"> <span class="mobile-label">Kuma</span> <img src="/assets/images/logos/kuma.png" alt="Kuma"> <a class="feature-cta" href="https://kuma.io/" target="_blank" rel="noopener nofollow noreferrer ">Start Free</a> </th> <th class="product-name"> <span class="mobile-label">Kong Mesh</span> <img src="/assets/images/logos/kong-mesh.png" alt="Kong Mesh"> <a class="feature-cta" href="http://konghq.com/contact-sales" target="_blank" rel="noopener nofollow noreferrer ">Contact Sales</a> </th> </tr> </thead> <tbody> <tr> <td class="header-row"> <span>Core Service Mesh Capabilities</span> </td> <td class="no-mobile"></td> <td class="no-mobile"></td> </tr> <tr> <td> All Kuma Policies </td> <td> <i class="fa fa-check"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> All Traffic Management Policies </td> <td> <i class="fa fa-check"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> All Observability Policies </td> <td> <i class="fa fa-check"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Multi-Zone & Multi-Cluster </td> <td> <i class="fa fa-check"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Multi-Zone Security <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">Allows you to secure multi-zone deployments with a JWT-based authentication that ensures only approved zones can join the cluster.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Multi-Mesh support </td> <td> <i class="fa fa-check"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td class="header-row"> <span>Zero-Trust and mTLS</span> </td> <td class="no-mobile"></td> <td class="no-mobile"></td> </tr> <tr> <td> Built-in CA </td> <td> <i class="fa fa-check"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Provided CA </td> <td> <i class="fa fa-check"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> HashiCorp Vault CA <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">Allows you to enable HashiCorp Vault as an additional third-party backend for mTLS CAs that are used to setup zero-trust security, without storing the CAs in Kong Mesh proper.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> AWS Certificate Manager CA <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">Allows you to enable AWS Certificate Manager as an additional third-party backend for the mTLS CAs that are used to setup zero-trust security, without storing the CAs in Kong Mesh proper.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Kubernetes cert-manager CA <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">Allows you to enable Kubernetes cert-manager as an additional third-party backend for the mTLS CAs that are used to setup zero-trust security, without storing the CAs in Kong Mesh proper.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> GUI Dashboard for TLS and CA <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">Provides you with additional visual reports that display the rotation status of the data plane proxy certificates and the rotation of the CAs themselves, in a zero-trust service mesh.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Data Plane Certificate Rotation </td> <td> <i class="fa fa-check"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> CA Automatic Rotation <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">Provides automatic rotation across different CAs with no downtime in addition to providing automatic rotation and certificate lifecycle management to the data plane proxy mTLS certificates. This feature combined with the GUI Dashboard for TLS and CA provides a complete solution for managing the entire lifecycle of zero-trust service meshes.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td class="header-row"> <span>Enterprise Application Security</span> </td> <td class="no-mobile"></td> <td class="no-mobile"></td> </tr> <tr> <td> FIPS-140 Encryption <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">By default, FIPS-140 compliant encryption is automatically enabled in Kong Mesh on the Envoy-based data plane proxies. This doesn't require any additional steps other than running Kong Mesh itself.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Embedded OPA Agent <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">Kong Mesh ships with an embedded OPA agent in the data plane proxy sidecars, without requiring the user to run an additional dedicated sidecar for the OPA agent. This simplifies the roll out of OPA across the entire organization and lowers operational costs.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Native OPA Policy <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">This exposes a native OPA policy resource that can be used to store and automatically propagate OPA policies across a multi-zone deployment natively with Kong Mesh. We also support the ability to connect to a third-party OPA store like Styra.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td class="header-row"> <span>Enterprise Security and Governance</span> </td> <td class="no-mobile"></td> <td class="no-mobile"></td> </tr> <tr> <td> Roles and permissions (RBAC) <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">Allows you to manage complex RBAC rules to allow or deny access to Kong Mesh policies and functions in a sophisticated and fine grained way. This works across multi-zone and multi-mesh natively.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Audit Logs <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">Allows you to store and fetch auditing logs for operations that were performed on the cluster. When used with RBAC, it allows us to have full visibility into how the system is being governed and configured by the users.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Signed Images <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">Kong Mesh container images are signed and verifiable in accordance with SLSA guidelines.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Build Provenance <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">Kong Mesh container images and binaries generate build level provenance and are verifiable in accordance with SLSA guidelines.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td class="header-row"> <span>Universal Platform Distributions</span> </td> <td class="no-mobile"></td> <td class="no-mobile"></td> </tr> <tr> <td> Containers, Kubernetes & OpenShift </td> <td> <i class="fa fa-check"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Virtual Machine Support </td> <td> <i class="fa fa-check"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Virtual Machine Transparent Proxying </td> <td> <i class="fa fa-check"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Native AWS ECS Controller <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">Allows you to natively support AWS ECS workloads with a built-in controller that automatically integrates ECS workloads within one or more service meshes powered by Kong Mesh. This simplifies the expansion of service mesh in the cloud.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> UBI Federal Distributions <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">Provides officially supported distributions based on the Red Hat Universal Base Images (UBI).</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td class="header-row"> <span>Support and Customer Success</span> </td> <td class="no-mobile"></td> <td class="no-mobile"></td> </tr> <tr> <td> Enterprise Support and SLA <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">With Kong Mesh, we provide 24/7/365 enterprise support with different SLAs, powered by Kong's global customer success and technical support team across all world regions. This also provides access to a vast network of partners for local language support as well. This is recommended for enterprise mission-critical deployments.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Customer Success Packages <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">With Kong Mesh, we provide access to our implementation and training programs to accelerate the roll out of a service mesh across every team, and to properly train and educate the organization on how to effectively drive business outcomes with the product.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> <tr> <td> Envoy Support <span class="badge" style="vertical-align: revert; margin-left: 3px;"> <i class="fa fa-question-circle"></i> <div class="tooltip"><span class="tooltiptext" style="width: 300px;">With Kong Mesh, we provide access to the Envoy contributors at Kong to further expand the capabilities of the underlying data plane proxy technology (Envoy) with features that are not currently available in upstream Envoy. This can be used to remove road blocks and cater to unique enterprise requirements and use-cases.</span></div> </span> </td> <td> <i class="fa fa-times"></i> </td> <td> <i class="fa fa-check"></i> </td> </tr> </tbody> </table> </center> <p><br> Kong Mesh provides a unique combination of strengths and features in the service mesh ecosystem, specifically designed for the enterprise architect, including:</p> <ul> <li> <strong>Universal</strong> support for both Kubernetes and VM-based services.</li> <li> <strong>Single and Multi Zone</strong> deployments to support multi-cloud and multi-cluster environments with global/remote control plane modes, automatic Ingress connectivity, and service discovery.</li> <li> <strong>Multi-Mesh</strong> to create as many service meshes as we need, using one cluster with low operational costs.</li> <li> <strong>Easy to install and use</strong> and turnkey, by abstracting away all the complexity of running a service mesh with easy-to-use policies for managing services and traffic.</li> <li> <strong>Full-Stack Connectivity</strong> by natively integrating with Kong and Kong Gateway Enterprise for end-to-end connectivity that goes from the API gateway to the service mesh.</li> <li> <strong>Powered by Kuma and Envoy</strong> to provide a modern and reliable CNCF open source foundation for an enterprise service mesh.</li> </ul> <p>When used in combination with Kong Gateway Enterprise, Kong Mesh provides a full stack connectivity platform for all of our L4-L7 connectivity, for both edge and internal API traffic.</p> <center> <img src="/assets/images/docs/mesh/gw_mesh.png" width="600px" alt="Diagram showing how Kong Gateway and Kong Mesh work together to run two products on two data centers. Kong Gateway is used to manage communication between the client and the products in each data center, but also between two different products. Kong Mesh is used to allow different services within a product to communicate with one another."> <br> <i>Two different applications - "Banking" and "Trading" - run in their own meshes "A" and "B" across different data centers. In this example, Kong Gateway is being used both for edge communication and for internal communication between meshes.</i> </center> <h2 id="why-kong-mesh">Why Kong Mesh?</h2> <p>Organizations are transitioning to distributed software architectures to support and accelerate innovation, gain digital revenue, and reduce costs. A successful transition to microservices requires many pieces to fall into place: that services are connected reliably with minimal latency, that they are protected with end-to-end security, that they are discoverable and fully observable. However, this presents challenges due to the need to write custom code for security and identity, a lack of granular telemetry, and insufficient traffic management capabilities, especially as the number of services grows.</p> <p>Leading organizations are looking to service meshes to address these challenges in a scalable and standardized way. With a service mesh, you can:</p> <ul> <li> <strong>Ensure service connectivity, discovery, and traffic reliability</strong>: Apply out-of-box traffic management to intelligently route traffic across any platform and any cloud to meet expectations and SLAs.</li> <li> <strong>Achieve Zero-Trust Security</strong>: Restrict access by default, encrypt all traffic, and only complete transactions when identity is verified.</li> <li> <strong>Gain Global Traffic Observability</strong>: Gain a detailed understanding of your service behavior to increase application reliability and the efficiency of your teams.</li> </ul> <p>Kong Mesh is the universal service mesh for enterprise organizations focused on simplicity and scalability with Kuma and Envoy. Kong’s service mesh is unique in that it allows you to:</p> <ul> <li> <strong>Start, secure, and scale with ease</strong>: <ul> <li>Deploy a turnkey service mesh with a single command.</li> <li>Group services by attributes to efficiently apply policies.</li> <li>Manage multiple service meshes as tenants of a single control plane to provide scale and reduce operational costs.</li> </ul> </li> <li> <strong>Run anywhere</strong>: <ul> <li>Deploy the service mesh across any environment, including multi-cluster, multi-cloud, and multi-platform.</li> <li>Manage service meshes natively in Kubernetes using CRDs, or start with a service mesh in a VM environment and migrate to Kubernetes at your own pace.</li> </ul> </li> <li> <strong>Connect services end-to-end</strong>: <ul> <li>Integrate into the Kong Gateway Enterprise platform for full stack connectivity, including Ingress and Egress traffic for your service mesh.</li> <li>Expose mesh services for internal or external consumption and manage the full lifecycle of APIs.</li> </ul> </li> </ul> <p>Thanks to the underlying Kuma runtime, with Kong Mesh, you can easily support multiple clusters, clouds, and architectures using the multi-zone capability that ships out of the box. This — combined with multi-mesh support — lets you create a service mesh powered by an Envoy proxy for the entire organization in just a few steps. You can do this for both simple and distributed deployments, including multi-cloud, multi-cluster, and hybrid Kubernetes/VMs:</p> <center> <img src="/assets/images/docs/mesh/multi-zone.jpg" width="600px" alt="Diagram showing a global control plane communicating with multiple zones. The global Kuma control plane manages three zones that each have their own control plane and contain four services. Each zone uses Kuma Ingress to communicate with the other zones."> <br> <i>Kong Mesh can support multiple zones (like a Kubernetes cluster, VPC, data center, etc.) together in the same distributed deployment. Then, you can create multiple isolated virtual meshes with the same control plane in order to support every team and application in the organization.</i> </center> <p><br> Learn more about the <a href="/mesh/2.9.x/production/deployment/">standalone and multi-zone deployment modes</a>.</p> <p>Example of a multi-zone deployment for multiple Kubernetes clusters, or a hybrid Kubernetes/VM cluster:</p> <center> <img src="/assets/images/diagrams/gslides/kuma_multizone.svg" alt="Diagram showing a deployment with two zones, East and West. Each zone has a Kuma control plane, a zone ingress and a zone egress to communicate with the other zone, and four services with data plane proxies." style="padding-top: 20px; padding-bottom: 10px;"> </center> <h2 id="support-policy">Support policy</h2> <p>Kong primarily follows a <a href="https://semver.org/" target="_blank" rel="noopener nofollow noreferrer ">semantic versioning</a> (SemVer) model for its products.</p> <p>For the latest version support information for Kong Mesh, see our <a href="/mesh/latest/support-policy/">version support policy</a>.</p> <h2 id="contribute">Contribute</h2> <p>You can contribute to the development of Kong Mesh by contributing to <a href="https://kuma.io/" target="_blank" rel="noopener nofollow noreferrer ">Kuma</a>. For more information, see the <a href="https://kuma.io/community" target="_blank" rel="noopener nofollow noreferrer ">contribution guide</a>.</p> <!-- links --> </div> </div> </div> <div id="scroll-to-top-button"> <i class="fas fa-chevron-up"></i> </div> <div class="feedback-widget-container"> <input id="feedback-widget-checkbox" type="checkbox"> <label for="feedback-widget-checkbox"> <img src="/assets/images/icons/feedback-widget.svg" alt="Feedback widget"> </label> <div class="feedback-container"> <div class="feedback-thankyou"> Thank you for your feedback. </div> <div class="feedback-comment"> <textarea id="feedback-comment-text" rows="3" placeholder="Please let us know what we can improve on this page..."></textarea> <div class="feedback-comment-buttons"> <button id="feedback-comment-button-back">Back</button> <button id="feedback-comment-button-submit" class="button-primary">Submit</button> </div> </div> <div class="feedback-options"> <div class="feedback-options-title">Was this page useful?</div> <div class="feedback-options-buttons"> <i data-feedback-result="yes" class="feedback-options-button far fa-thumbs-up"></i> <i data-feedback-result="no" class="feedback-options-button far fa-thumbs-down"></i> </div> </div> </div> </div> </div> <div id="image-modal" data-image-expand-disabled=""> <div class="image-modal-backdrop"></div> <div class="image-container"> <img src="" alt=""> <i class="fa fa-times"></i> </div> </div> <div class="modal closed" id="modal" role="dialog" aria-hidden="true" aria-labelledby="title" aria-describedby="description"> <div class="konnect-cta-card"> <div class="title"> Too much on your plate? <a href="#" class="cta-card-close modal-close" id="modal-close"> <img src="/assets/images/icons/documentation/close.svg" alt="close cta icon"> </a> </div> <div class="description"> More features, less infrastructure with Kong Konnect. 1M requests per month for free. </div> <a href="https://konghq.com/products/kong-konnect/register?utm_medium=referral&utm_source=docs&utm_campaign=gateway-konnect&utm_campaign=right-nav-card&utm_content=mesh" class="button" target="_blank" rel="noopener nofollow noreferrer "> Try it for Free </a> </div> </div> <div id="modal-open" class="modal-open"></div> <div class="modal-overlay closed" id="modal-overlay"></div> <footer class="marketing-footer--light-gray"> <section> <ul class="newsletter"> <li class="logo-wrapper"> <div class="logo"> <img src="/assets/images/logos/konglogo-light-theme-primary.svg" alt="Kong"> </div> <div class="footer-title">Powering the API world</div> <p> Increase developer productivity, security, and performance at scale with the unified platform for API management, service mesh, and ingress controller. </p> <div class="footer-form-container"> <form id="subscribe-form" method="POST" action="/assets/javascripts/subscribe.js"> <input required id="subscribe-input" type="email" name="email" placeholder="Email" aria-required="true" aria-invalid="false"> <input id="footer-form-button" type="submit" form="subscribe-form" value="Subscribe"> </form> <div id="form-response"></div> </div> </li> <li class="footer-columns"> <ul class="footer-columns-product-list"> <li> <nav> <div class="footer-category">Products</div> <ul> <li> <a href="https://konghq.com/products/kong-konnect" target="_blank" rel="noopener nofollow noreferrer ">Kong Konnect</a> </li> <li> <a href="https://konghq.com/products/kong-enterprise" target="_blank" rel="noopener nofollow noreferrer ">Kong Gateway Enterprise</a> </li> <li> <a href="https://konghq.com/products/kong-gateway" target="_blank" rel="noopener nofollow noreferrer ">Kong Gateway</a> </li> <li> <a href="https://konghq.com/products/kong-mesh" target="_blank" rel="noopener nofollow noreferrer ">Kong Mesh</a> </li> <li> <a href="https://konghq.com/products/kong-ingress-controller" target="_blank" rel="noopener nofollow noreferrer ">Kong Ingress Controller</a> </li> <li> <a href="https://insomnia.rest/" target="_blank" rel="noopener nofollow noreferrer noopener nofollow noreferrer">Kong Insomnia</a> </li> <li> <a href="https://konghq.com/product-updates" target="_blank" rel="noopener nofollow noreferrer ">Product Updates</a> </li> <li> <a href="https://konghq.com/contact-sales" target="_blank" rel="noopener nofollow noreferrer ">Get Started</a> </li> </ul> </nav> </li> <li> <nav> <div class="footer-category">Documentation</div> <ul> <li> <a href="/konnect/">Kong Konnect Docs</a> </li> <li> <a href="/gateway/latest/">Kong Gateway Docs</a> </li> <li> <a href="/gateway/latest/kong-enterprise/">Kong Gateway Enterprise Docs</a> </li> <li> <a href="/mesh/latest/">Kong Mesh Docs</a> </li> <li> <a href="https://docs.insomnia.rest/" target="_blank" rel="noopener nofollow noreferrer noopener nofollow noreferrer">Kong Insomnia Docs</a> </li> <li> <a href="/hub/">Kong Konnect Plugin Hub</a> </li> </ul> </nav> </li> <li> <nav> <div class="footer-category">Open Source</div> <ul> <li> <a href="https://konghq.com/install/#kong-community" target="_blank" rel="noopener nofollow noreferrer ">Kong Gateway</a> </li> <li> <a href="https://kuma.io/" target="_blank" rel="noopener nofollow noreferrer noopener nofollow noreferrer">Kuma</a> </li> <li> <a href="https://insomnia.rest/" target="_blank" rel="noopener nofollow noreferrer noopener nofollow noreferrer">Insomnia</a> </li> <li> <a href="https://konghq.com/community" target="_blank" rel="noopener nofollow noreferrer ">Kong Community</a> </li> </ul> </nav> </li> <li> <nav> <div class="footer-category">Company</div> <ul> <li> <a href="https://konghq.com/company/about-us" target="_blank" rel="noopener nofollow noreferrer ">About Kong</a> </li> <li> <a href="https://konghq.com/customers" target="_blank" rel="noopener nofollow noreferrer ">Customers</a> </li> <li> <a href="https://konghq.com/company/careers" target="_blank" rel="noopener nofollow noreferrer ">Careers</a> </li> <li> <a href="https://konghq.com/press-room" target="_blank" rel="noopener nofollow noreferrer ">Press</a> </li> <li> <a href="https://konghq.com/events" target="_blank" rel="noopener nofollow noreferrer ">Events</a> </li> <li> <a href="https://konghq.com/company/contact-us" target="_blank" rel="noopener nofollow noreferrer ">Contact</a> </li> </ul> </nav> </li> </ul> </li> </ul> </section> <section class="legal"> <div class="container d-flex"> <div class="social"> <div class="social-link"> <a href="https://www.facebook.com/konghq/" title="Facebook" target="_blank" rel="noopener nofollow noreferrer "><i aria-label="Facebook" class="fa fa-facebook-official" aria-hidden="true"></i></a> </div> <div class="social-link"> <a href="https://twitter.com/thekonginc" title="Twitter" target="_blank" rel="noopener nofollow noreferrer "><i aria-label="Twitter" class="fa fa-twitter" aria-hidden="true"></i></a> </div> <div class="social-link"> <a href="https://www.meetup.com/topics/kong/all/" title="Meetup" target="_blank" rel="noopener nofollow noreferrer "><i aria-label="Meetup" class="fa fa-meetup" aria-hidden="true"></i></a> </div> <div class="social-link"> <a href="https://linkedin.com/company/278819" title="LinkedIn" target="_blank" rel="noopener nofollow noreferrer "><i aria-label="GitHub" class="fa fa-linkedin" aria-hidden="true"></i></a> </div> <div class="social-link"> <a href="https://github.com/kong/kong" target="_blank" class="btn-gh" title="GitHub" rel="noopener nofollow noreferrer "> <i class="fa fa-github" aria-hidden="true" aria-label="GitHub"></i> </a> </div> </div> <ul> <li> <span class="mashape-footer-content"> <a href="https://konghq.com/legal/terms-of-use" target="_blank" rel="noopener nofollow noreferrer ">Terms</a><b>•</b> <a href="https://konghq.com/legal/privacy-policy" target="_blank" rel="noopener nofollow noreferrer ">Privacy</a><b>•</b> <a href="https://konghq.com/compliance" target="_blank" rel="noopener nofollow noreferrer ">Trust and Compliance</a> </span> </li> </ul> <div> <span>© Kong Inc. 2024 </span> </div> </div> </section> </footer> <script> var anchorForId = function (id) { var anchor = document.createElement("a"); anchor.className = "header-link"; anchor.href = "#" + id; anchor.innerHTML = "<i class=\"fa fa-link\"></i>"; anchor.title = `${id} Permalink`; return anchor; }; document.onreadystatechange = function () { if (this.readyState === "complete") { var className = ".show-anchor-links h1, .show-anchor-links h2, .show-anchor-links h3, " + ".show-anchor-links h4, .show-anchor-links h5, .show-anchor-links h6"; var headers = document.querySelectorAll(className); for (var i = 0; i < headers.length; i++) { var header = headers[i]; if (typeof header.id !== "undefined" && header.id !== "") { header.prepend(anchorForId(header.id)); } } } }; </script> <script> !function(){var i="analytics",analytics=window[i]=window[i]||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","screen","once","off","on","addSourceMiddleware","addIntegrationMiddleware","setAnonymousId","addDestinationMiddleware","register"];analytics.factory=function(e){return function(){if(window[i].initialized)return window[i][e].apply(window[i],arguments);var n=Array.prototype.slice.call(arguments);if(["track","screen","alias","group","page","identify"].indexOf(e)>-1){var c=document.querySelector("link[rel='canonical']");n.push({__t:"bpc",c:c&&c.getAttribute("href")||void 0,p:location.pathname,u:location.href,s:location.search,t:document.title,r:document.referrer})}n.unshift(e);analytics.push(n);return analytics}};for(var n=0;n<analytics.methods.length;n++){var key=analytics.methods[n];analytics[key]=analytics.factory(key)}analytics.load=function(key,n){var t=document.createElement("script");t.type="text/javascript";t.async=!0;t.setAttribute("data-global-segment-analytics-key",i);t.src="https://cdn.segment.com/analytics.js/v1/" + key + "/analytics.min.js";var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(t,r);analytics._loadOptions=n};analytics._writeKey="X7EZTdbdUKQ8M6x42SHHPWiEhjsfs1EQ";;analytics.SNIPPET_VERSION="5.2.0"; analytics.load("X7EZTdbdUKQ8M6x42SHHPWiEhjsfs1EQ"); analytics.page(); }}(); </script> <div id="fb-root"></div> <script id="github-bjs" src="https://buttons.github.io/buttons.js" async defer></script> <script type="text/javascript"> var _vwo_code = (function() { var account_id = 125292, settings_tolerance = 2000, library_tolerance = 2500, use_existing_jquery = true, // DO NOT EDIT BELOW THIS LINE f = false, d = document; return { use_existing_jquery: function() { return use_existing_jquery; }, library_tolerance: function() { return library_tolerance; }, finish: function() { if (!f) { f = true; var a = d.getElementById('_vis_opt_path_hides'); if (a) a.parentNode.removeChild(a); } }, finished: function() { return f; }, load: function(a) { var b = d.createElement('script'); b.src = a; b.type = 'text/javascript'; b.innerText; b.onerror = function() { _vwo_code.finish(); }; d.getElementsByTagName('head')[0].appendChild(b); }, init: function() { settings_timer = setTimeout( '_vwo_code.finish()', settings_tolerance ); this.load( '//dev.visualwebsiteoptimizer.com/j.php?a=' + account_id + '&u=' + encodeURIComponent(d.URL) + '&r=' + Math.random() ); var a = d.createElement('style'), b = '', h = d.getElementsByTagName('head')[0]; a.setAttribute('id', '_vis_opt_path_hides'); a.setAttribute('type', 'text/css'); if (a.styleSheet) a.styleSheet.cssText = b; else a.appendChild(d.createTextNode(b)); h.appendChild(a); return settings_timer; } }; })(); _vwo_settings_timer = _vwo_code.init(); </script> <script src="https://cdn.jsdelivr.net/npm/@docsearch/js@3"></script> <script type="text/javascript"> docsearch({ appId: '05Y6TLHNFZ', apiKey: '80483bfe28d9fd036a11a6f6a06454f8', indexName: 'konghq', container: '#getkong-algolia-search-input', disableUserPersonalization: true, placeholder: 'Search the docs...', // Override selected event to allow for local environment navigation transformItems(items) { return items.map((item) => { var modifiedUrl = window.location.protocol + '//' + window.location.host + item.url.split('docs.konghq.com')[1]; return { ...item, url: modifiedUrl }; }); }, translations: { button: { buttonText: 'Search the docs..', buttonAriaLabel: 'Search the docs...' } }, resultsFooterComponent({ state }) { var facetParameters = {}; facetParameters = {"version[0]":"latest","product[0]":"Kong Mesh"}; var queryParams = new URLSearchParams(facetParameters); queryParams.set('query', state.query); return { // The HTML `tag` type: 'a', ref: undefined, constructor: undefined, key: state.query, // Its props props: { href: `/search/?${queryParams.toString()}`, target: '_blank', // Raw text rendered in the HTML element children: 'See more >' }, __v: null, }; }, searchParameters: { optionalFilters: ['product:Kong Mesh<score=1>'], facetFilters: [ 'version:latest'] } }); </script> </div> </body> </html>