---
title: Partners
bigheader: Kubernetes Partners
abstract: Growing the Kubernetes ecosystem.
class: gridPage
cid: partners
---

<section id="users">
    <main>
        <h5>Kubernetes works with partners to create a strong, vibrant codebase that supports a spectrum of complementary platforms.</h5>
        <div class="col-container">
          <div class="col-nav"><center><h5><b>Kubernetes Certified Service Providers</b></h5><br>Vetted service providers with deep experience helping enterprises successfully adopt Kubernetes.<br><br><br><button id="defaultIframe" class="button" onClick="updateSrc(this.id)">See KCSP Partners</button></center></div>
          <div class="col-nav"><center><h5><b>Certified Kubernetes Distributions, Hosted Platforms, and Installers</b></h5>Software conformance ensures that every vendor’s version of Kubernetes supports the required APIs.<br><br><br><button id="firstIframe" class="button" onClick="updateSrc(this.id)">See Conformance Partners</button></a></center></div>
          <div class="col-nav"><center><h5><b>Kubernetes Training Partners</b></h5><br>Vetted training providers who have deep experience in cloud native technology training.<br><br><br><br><button id="secondIframe" class="button" onClick="updateSrc(this.id)">See KTP Partners</button></center></div>
        </div>
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script type="text/javascript">

			var defaultLink = "https://landscape.cncf.io/grouping=landscape&landscape=kubernetes-certified-service-provider&embed=true";
			var firstLink = "https://landscape.cncf.io/grouping=landscape&landscape=certified-kubernetes-distribution,certified-kubernetes-hosted,certified-kubernetes-installer&embed=true";
      var secondLink = "https://landscape.cncf.io/grouping=landscape&landscape=kubernetes-training-partner&embed=true";

      function updateSrc(buttonId) {
      	if (buttonId == "defaultIframe") {
        		$("#landscape").attr("src",defaultLink);
        }
        if (buttonId == "firstIframe") {
         		$("#landscape").attr("src",firstLink);
        }
        if (buttonId == "secondIframe") {
        		$("#landscape").attr("src",secondLink);
        }
      }
</script>
</head>
<body>
    <div id="frameHolder">
      <iframe id="landscape" frameBorder="0" scrolling="no" style="width: 1px; min-width: 100%" src="https://landscape.cncf.io/grouping=landscape&landscape=kubernetes-certified-service-provider&embed=true"></iframe>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/3.6.0/iframeResizer.js"></script>
      <script>
        iFrameResize({
          log:true,
          messageCallback         : function(messageData){ // Callback fn when message is received
            if (messageData.message.type === 'showModal') {
              document.querySelector('body').style.overflow = 'hidden';
            }
            if (messageData.message.type === 'hideModal') {
              document.querySelector('body').style.overflow = 'auto';
            }
          },
        }, '#landscape');
      </script>
    </div>
</body>
    </main>
</section>

<style>
    {{< include "partner-style.css" >}}
</style>

<script>
    {{< include "partner-script.js" >}}
</script>
