CINXE.COM

Dynamic Admission Control | Kubernetes

<!doctype html> <html lang="en" class="no-js"> <head> <meta name="robots" content="noindex, nofollow"> <link rel="alternate" hreflang="zh-cn" href="https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/extensible-admission-controllers/"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="generator" content="Hugo 0.111.3"> <link rel="shortcut icon" type="image/png" href="/images/favicon.png"> <link rel="apple-touch-icon" href="/favicons/apple-touch-icon-180x180.png" sizes="180x180"> <link rel="manifest" href="/manifest.webmanifest"> <link rel="apple-touch-icon" href="/images/kubernetes-192x192.png"> <title>Dynamic Admission Control | Kubernetes</title><meta property="og:title" content="Dynamic Admission Control" /> <meta property="og:description" content="In addition to compiled-in admission plugins, admission plugins can be developed as extensions and run as webhooks configured at runtime. This page describes how to build, configure, use, and monitor admission webhooks. What are admission webhooks? Admission webhooks are HTTP callbacks that receive admission requests and do something with them. You can define two types of admission webhooks, validating admission webhook and mutating admission webhook. Mutating admission webhooks are invoked first, and can modify objects sent to the API server to enforce custom defaults." /> <meta property="og:type" content="article" /> <meta property="og:url" content="https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/" /><meta property="article:section" content="docs" /> <meta property="article:modified_time" content="2023-08-18T09:03:30+08:00" /><meta property="og:site_name" content="Kubernetes" /> <meta itemprop="name" content="Dynamic Admission Control"> <meta itemprop="description" content="In addition to compiled-in admission plugins, admission plugins can be developed as extensions and run as webhooks configured at runtime. This page describes how to build, configure, use, and monitor admission webhooks. What are admission webhooks? Admission webhooks are HTTP callbacks that receive admission requests and do something with them. You can define two types of admission webhooks, validating admission webhook and mutating admission webhook. Mutating admission webhooks are invoked first, and can modify objects sent to the API server to enforce custom defaults."> <meta itemprop="dateModified" content="2023-08-18T09:03:30+08:00" /> <meta itemprop="wordCount" content="6578"> <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> <meta name="twitter:title" content="Dynamic Admission Control"/> <meta name="twitter:description" content="In addition to compiled-in admission plugins, admission plugins can be developed as extensions and run as webhooks configured at runtime. This page describes how to build, configure, use, and monitor admission webhooks. What are admission webhooks? Admission webhooks are HTTP callbacks that receive admission requests and do something with them. You can define two types of admission webhooks, validating admission webhook and mutating admission webhook. Mutating admission webhooks are invoked first, and can modify objects sent to the API server to enforce custom defaults."/> <link href="/scss/main.css" rel="stylesheet"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Organization", "url": "https://kubernetes.io", "logo": "https://kubernetes.io/images/favicon.png", } </script> <meta name="theme-color" content="#326ce5"> <style> .gutter { background-color: #eee; background-repeat: no-repeat; background-position: 50%; } .gutter.gutter-horizontal { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg=='); cursor: col-resize; } #sidebarnav, #maindoc { max-width: 100%; } #maindoc { overflow-wrap: break-word; } @media (max-width: 768px) { #sidebarnav { padding-left: 15px; padding-right: 15px; } } </style> <link rel="stylesheet" href="/css/feature-states.css"> <meta name="description" content="In addition to compiled-in admission plugins, admission plugins can be developed as extensions and run as webhooks configured at runtime. This page describes how to build, configure, use, and monitor admission webhooks. What are admission webhooks? Admission webhooks are HTTP callbacks that receive admission requests and do something with them. You can define two types of admission webhooks, validating admission webhook and mutating admission webhook. Mutating admission webhooks are invoked first, and can modify objects sent to the API server to enforce custom defaults."> <meta property="og:description" content="In addition to compiled-in admission plugins, admission plugins can be developed as extensions and run as webhooks configured at runtime. This page describes how to build, configure, use, and monitor admission webhooks. What are admission webhooks? Admission webhooks are HTTP callbacks that receive admission requests and do something with them. You can define two types of admission webhooks, validating admission webhook and mutating admission webhook. Mutating admission webhooks are invoked first, and can modify objects sent to the API server to enforce custom defaults."> <meta name="twitter:description" content="In addition to compiled-in admission plugins, admission plugins can be developed as extensions and run as webhooks configured at runtime. This page describes how to build, configure, use, and monitor admission webhooks. What are admission webhooks? Admission webhooks are HTTP callbacks that receive admission requests and do something with them. You can define two types of admission webhooks, validating admission webhook and mutating admission webhook. Mutating admission webhooks are invoked first, and can modify objects sent to the API server to enforce custom defaults."> <meta property="og:url" content="https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/"> <meta property="og:title" content="Dynamic Admission Control"> <meta name="twitter:title" content="Dynamic Admission Control"> <meta name="twitter:image" content="https://kubernetes.io/images/favicon.png" /> <meta name="twitter:image:alt" content="Kubernetes"> <meta property="og:image" content="/images/kubernetes-horizontal-color.png"> <meta property="og:type" content="article"> <script src="/js/jquery-3.6.0.min.js" intregrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" crossorigin="anonymous"></script> <script src="/js/split-1.6.0.js" intregrity="sha384-0blL3GqHy6+9fw0cyY2Aoiwg4onHAtslAs4OkqZY7UQBrR65/K4gI+hxLdWDrjpz"></script> <title>Dynamic Admission Control | Kubernetes</title> </head> <body class="td-page td-documentation"> <header> <nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar" data-auto-burger="primary"> <a class="navbar-brand img-fluid" href="/"></a> <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> <ul class="navbar-nav mt-2 mt-lg-0"> <li class="nav-item mr-2 mb-lg-0"> <a class="nav-link active" href="/docs/" >Documentation</a> </li> <li class="nav-item mr-2 mb-lg-0"> <a class="nav-link" href="/blog/" >Kubernetes Blog</a> </li> <li class="nav-item mr-2 mb-lg-0"> <a class="nav-link" href="/training/" >Training</a> </li> <li class="nav-item mr-2 mb-lg-0"> <a class="nav-link" href="/partners/" >Partners</a> </li> <li class="nav-item mr-2 mb-lg-0"> <a class="nav-link" href="/community/" >Community</a> </li> <li class="nav-item mr-2 mb-lg-0"> <a class="nav-link" href="/case-studies/" >Case Studies</a> </li> <li class="nav-item mr-n3 mr-lg-0 dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Versions </a> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownMenuLink"> <a class="dropdown-item" href="/releases">Release Information</a> <a class="dropdown-item" href="https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/">v1.31</a> <a class="dropdown-item" href="https://v1-30.docs.kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/">v1.30</a> <a class="dropdown-item" href="https://v1-29.docs.kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/">v1.29</a> <a class="dropdown-item" href="https://v1-28.docs.kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/">v1.28</a> <a class="dropdown-item" href="https://v1-27.docs.kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/">v1.27</a> </div> </li> <li class="nav-item mr-n4 mr-lg-0 dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> English </a> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownMenuLink"> <a class="dropdown-item" href="/zh-cn/docs/reference/access-authn-authz/extensible-admission-controllers/">中文 (Chinese)</a> </div> </li> </ul> </div> <button id="hamburger" onclick="kub.toggleMenu()" data-auto-burger-exclude><div></div></button> </nav> <section class="header-hero filler"> </section> </header> <div class="container-fluid td-outer"> <div class="td-main"> <div class="row flex-column flex-md-row"> <div id="sidebarnav" class="split td-sidebar d-print-none"> <script> $(function() { $("#td-section-nav a").removeClass("active"); $("#td-section-nav #m-docs-reference-access-authn-authz-extensible-admission-controllers").addClass("active"); $("#td-section-nav #m-docs-reference-access-authn-authz-extensible-admission-controllers-li span").addClass("td-sidebar-nav-active-item"); $("#td-section-nav #m-docs-reference-access-authn-authz-extensible-admission-controllers").parents("li").addClass("active-path"); $("#td-section-nav li.active-path").addClass("show"); $("#td-section-nav li.active-path").children("input").prop('checked', true); $("#td-section-nav #m-docs-reference-access-authn-authz-extensible-admission-controllers-li").siblings("li").addClass("show"); $("#td-section-nav #m-docs-reference-access-authn-authz-extensible-admission-controllers-li").children("ul").children("li").addClass("show"); $("#td-sidebar-menu").toggleClass("d-none"); }); </script> <div id="td-sidebar-menu" class="td-sidebar__inner d-none"> <form class="td-sidebar__search d-flex align-items-center"> <input type="search" class="form-control td-search-input" name="q" placeholder="&#xf002 Search this site" aria-label="Search this site" autocomplete="off" > <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> </button> </form> <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> <ul class="td-sidebar-nav__section pr-md-3 ul-0"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-li"> <ul class="ul-1"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-home-li"> <input type="checkbox" id="m-docs-home-check"/> <label for="m-docs-home-check"><a href="/docs/home/" title="Kubernetes Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-home"><span class="">Documentation</span></a></label> <ul class="ul-2 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-home-supported-doc-versions-li"> <input type="checkbox" id="m-docs-home-supported-doc-versions-check"/> <label for="m-docs-home-supported-doc-versions-check"><a href="/docs/home/supported-doc-versions/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-home-supported-doc-versions"><span class="">Available Documentation Versions</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-setup-li"> <input type="checkbox" id="m-docs-setup-check"/> <label for="m-docs-setup-check"><a href="/docs/setup/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-setup"><span class="">Getting started</span></a></label> <ul class="ul-2 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-learning-environment-li"> <input type="checkbox" id="m-docs-setup-learning-environment-check"/> <label for="m-docs-setup-learning-environment-check"><a href="/docs/setup/learning-environment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-setup-learning-environment"><span class="">Learning environment</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-setup-production-environment-li"> <input type="checkbox" id="m-docs-setup-production-environment-check"/> <label for="m-docs-setup-production-environment-check"><a href="/docs/setup/production-environment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-setup-production-environment"><span class="">Production environment</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-production-environment-container-runtimes-li"> <input type="checkbox" id="m-docs-setup-production-environment-container-runtimes-check"/> <label for="m-docs-setup-production-environment-container-runtimes-check"><a href="/docs/setup/production-environment/container-runtimes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-production-environment-container-runtimes"><span class="">Container Runtimes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-setup-production-environment-tools-li"> <input type="checkbox" id="m-docs-setup-production-environment-tools-check"/> <label for="m-docs-setup-production-environment-tools-check"><a href="/docs/setup/production-environment/tools/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-setup-production-environment-tools"><span class="">Installing Kubernetes with deployment tools</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-setup-production-environment-tools-kubeadm-li"> <input type="checkbox" id="m-docs-setup-production-environment-tools-kubeadm-check"/> <label for="m-docs-setup-production-environment-tools-kubeadm-check"><a href="/docs/setup/production-environment/tools/kubeadm/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-setup-production-environment-tools-kubeadm"><span class="">Bootstrapping clusters with kubeadm</span></a></label> <ul class="ul-5 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-production-environment-tools-kubeadm-install-kubeadm-li"> <input type="checkbox" id="m-docs-setup-production-environment-tools-kubeadm-install-kubeadm-check"/> <label for="m-docs-setup-production-environment-tools-kubeadm-install-kubeadm-check"><a href="/docs/setup/production-environment/tools/kubeadm/install-kubeadm/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-production-environment-tools-kubeadm-install-kubeadm"><span class="">Installing kubeadm</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-production-environment-tools-kubeadm-troubleshooting-kubeadm-li"> <input type="checkbox" id="m-docs-setup-production-environment-tools-kubeadm-troubleshooting-kubeadm-check"/> <label for="m-docs-setup-production-environment-tools-kubeadm-troubleshooting-kubeadm-check"><a href="/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-production-environment-tools-kubeadm-troubleshooting-kubeadm"><span class="">Troubleshooting kubeadm</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-production-environment-tools-kubeadm-create-cluster-kubeadm-li"> <input type="checkbox" id="m-docs-setup-production-environment-tools-kubeadm-create-cluster-kubeadm-check"/> <label for="m-docs-setup-production-environment-tools-kubeadm-create-cluster-kubeadm-check"><a href="/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-production-environment-tools-kubeadm-create-cluster-kubeadm"><span class="">Creating a cluster with kubeadm</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-production-environment-tools-kubeadm-control-plane-flags-li"> <input type="checkbox" id="m-docs-setup-production-environment-tools-kubeadm-control-plane-flags-check"/> <label for="m-docs-setup-production-environment-tools-kubeadm-control-plane-flags-check"><a href="/docs/setup/production-environment/tools/kubeadm/control-plane-flags/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-production-environment-tools-kubeadm-control-plane-flags"><span class="">Customizing components with the kubeadm API</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-production-environment-tools-kubeadm-ha-topology-li"> <input type="checkbox" id="m-docs-setup-production-environment-tools-kubeadm-ha-topology-check"/> <label for="m-docs-setup-production-environment-tools-kubeadm-ha-topology-check"><a href="/docs/setup/production-environment/tools/kubeadm/ha-topology/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-production-environment-tools-kubeadm-ha-topology"><span class="">Options for Highly Available Topology</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-production-environment-tools-kubeadm-high-availability-li"> <input type="checkbox" id="m-docs-setup-production-environment-tools-kubeadm-high-availability-check"/> <label for="m-docs-setup-production-environment-tools-kubeadm-high-availability-check"><a href="/docs/setup/production-environment/tools/kubeadm/high-availability/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-production-environment-tools-kubeadm-high-availability"><span class="">Creating Highly Available Clusters with kubeadm</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-production-environment-tools-kubeadm-setup-ha-etcd-with-kubeadm-li"> <input type="checkbox" id="m-docs-setup-production-environment-tools-kubeadm-setup-ha-etcd-with-kubeadm-check"/> <label for="m-docs-setup-production-environment-tools-kubeadm-setup-ha-etcd-with-kubeadm-check"><a href="/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-production-environment-tools-kubeadm-setup-ha-etcd-with-kubeadm"><span class="">Set up a High Availability etcd Cluster with kubeadm</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-production-environment-tools-kubeadm-kubelet-integration-li"> <input type="checkbox" id="m-docs-setup-production-environment-tools-kubeadm-kubelet-integration-check"/> <label for="m-docs-setup-production-environment-tools-kubeadm-kubelet-integration-check"><a href="/docs/setup/production-environment/tools/kubeadm/kubelet-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-production-environment-tools-kubeadm-kubelet-integration"><span class="">Configuring each kubelet in your cluster using kubeadm</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-production-environment-tools-kubeadm-dual-stack-support-li"> <input type="checkbox" id="m-docs-setup-production-environment-tools-kubeadm-dual-stack-support-check"/> <label for="m-docs-setup-production-environment-tools-kubeadm-dual-stack-support-check"><a href="/docs/setup/production-environment/tools/kubeadm/dual-stack-support/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-production-environment-tools-kubeadm-dual-stack-support"><span class="">Dual-stack support with kubeadm</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-production-environment-tools-kops-li"> <input type="checkbox" id="m-docs-setup-production-environment-tools-kops-check"/> <label for="m-docs-setup-production-environment-tools-kops-check"><a href="/docs/setup/production-environment/tools/kops/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-production-environment-tools-kops"><span class="">Installing Kubernetes with kOps</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-production-environment-tools-kubespray-li"> <input type="checkbox" id="m-docs-setup-production-environment-tools-kubespray-check"/> <label for="m-docs-setup-production-environment-tools-kubespray-check"><a href="/docs/setup/production-environment/tools/kubespray/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-production-environment-tools-kubespray"><span class="">Installing Kubernetes with Kubespray</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-production-environment-turnkey-solutions-li"> <input type="checkbox" id="m-docs-setup-production-environment-turnkey-solutions-check"/> <label for="m-docs-setup-production-environment-turnkey-solutions-check"><a href="/docs/setup/production-environment/turnkey-solutions/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-production-environment-turnkey-solutions"><span class="">Turnkey Cloud Solutions</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-setup-best-practices-li"> <input type="checkbox" id="m-docs-setup-best-practices-check"/> <label for="m-docs-setup-best-practices-check"><a href="/docs/setup/best-practices/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-setup-best-practices"><span class="">Best practices</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-best-practices-cluster-large-li"> <input type="checkbox" id="m-docs-setup-best-practices-cluster-large-check"/> <label for="m-docs-setup-best-practices-cluster-large-check"><a href="/docs/setup/best-practices/cluster-large/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-best-practices-cluster-large"><span class="">Considerations for large clusters</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-best-practices-multiple-zones-li"> <input type="checkbox" id="m-docs-setup-best-practices-multiple-zones-check"/> <label for="m-docs-setup-best-practices-multiple-zones-check"><a href="/docs/setup/best-practices/multiple-zones/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-best-practices-multiple-zones"><span class="">Running in multiple zones</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-best-practices-node-conformance-li"> <input type="checkbox" id="m-docs-setup-best-practices-node-conformance-check"/> <label for="m-docs-setup-best-practices-node-conformance-check"><a href="/docs/setup/best-practices/node-conformance/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-best-practices-node-conformance"><span class="">Validate node setup</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-best-practices-enforcing-pod-security-standards-li"> <input type="checkbox" id="m-docs-setup-best-practices-enforcing-pod-security-standards-check"/> <label for="m-docs-setup-best-practices-enforcing-pod-security-standards-check"><a href="/docs/setup/best-practices/enforcing-pod-security-standards/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-best-practices-enforcing-pod-security-standards"><span class="">Enforcing Pod Security Standards</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-setup-best-practices-certificates-li"> <input type="checkbox" id="m-docs-setup-best-practices-certificates-check"/> <label for="m-docs-setup-best-practices-certificates-check"><a href="/docs/setup/best-practices/certificates/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-setup-best-practices-certificates"><span class="">PKI certificates and requirements</span></a></label> </li> </ul> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-li"> <input type="checkbox" id="m-docs-concepts-check"/> <label for="m-docs-concepts-check"><a href="/docs/concepts/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts"><span class="">Concepts</span></a></label> <ul class="ul-2 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-overview-li"> <input type="checkbox" id="m-docs-concepts-overview-check"/> <label for="m-docs-concepts-overview-check"><a href="/docs/concepts/overview/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-overview"><span class="">Overview</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-overview-working-with-objects-li"> <input type="checkbox" id="m-docs-concepts-overview-working-with-objects-check"/> <label for="m-docs-concepts-overview-working-with-objects-check"><a href="/docs/concepts/overview/working-with-objects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-overview-working-with-objects"><span class="">Objects In Kubernetes</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-overview-working-with-objects-object-management-li"> <input type="checkbox" id="m-docs-concepts-overview-working-with-objects-object-management-check"/> <label for="m-docs-concepts-overview-working-with-objects-object-management-check"><a href="/docs/concepts/overview/working-with-objects/object-management/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-overview-working-with-objects-object-management"><span class="">Kubernetes Object Management</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-overview-working-with-objects-names-li"> <input type="checkbox" id="m-docs-concepts-overview-working-with-objects-names-check"/> <label for="m-docs-concepts-overview-working-with-objects-names-check"><a href="/docs/concepts/overview/working-with-objects/names/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-overview-working-with-objects-names"><span class="">Object Names and IDs</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-overview-working-with-objects-labels-li"> <input type="checkbox" id="m-docs-concepts-overview-working-with-objects-labels-check"/> <label for="m-docs-concepts-overview-working-with-objects-labels-check"><a href="/docs/concepts/overview/working-with-objects/labels/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-overview-working-with-objects-labels"><span class="">Labels and Selectors</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-overview-working-with-objects-namespaces-li"> <input type="checkbox" id="m-docs-concepts-overview-working-with-objects-namespaces-check"/> <label for="m-docs-concepts-overview-working-with-objects-namespaces-check"><a href="/docs/concepts/overview/working-with-objects/namespaces/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-overview-working-with-objects-namespaces"><span class="">Namespaces</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-overview-working-with-objects-annotations-li"> <input type="checkbox" id="m-docs-concepts-overview-working-with-objects-annotations-check"/> <label for="m-docs-concepts-overview-working-with-objects-annotations-check"><a href="/docs/concepts/overview/working-with-objects/annotations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-overview-working-with-objects-annotations"><span class="">Annotations</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-overview-working-with-objects-field-selectors-li"> <input type="checkbox" id="m-docs-concepts-overview-working-with-objects-field-selectors-check"/> <label for="m-docs-concepts-overview-working-with-objects-field-selectors-check"><a href="/docs/concepts/overview/working-with-objects/field-selectors/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-overview-working-with-objects-field-selectors"><span class="">Field Selectors</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-overview-working-with-objects-finalizers-li"> <input type="checkbox" id="m-docs-concepts-overview-working-with-objects-finalizers-check"/> <label for="m-docs-concepts-overview-working-with-objects-finalizers-check"><a href="/docs/concepts/overview/working-with-objects/finalizers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-overview-working-with-objects-finalizers"><span class="">Finalizers</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-overview-working-with-objects-owners-dependents-li"> <input type="checkbox" id="m-docs-concepts-overview-working-with-objects-owners-dependents-check"/> <label for="m-docs-concepts-overview-working-with-objects-owners-dependents-check"><a href="/docs/concepts/overview/working-with-objects/owners-dependents/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-overview-working-with-objects-owners-dependents"><span class="">Owners and Dependents</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-overview-working-with-objects-common-labels-li"> <input type="checkbox" id="m-docs-concepts-overview-working-with-objects-common-labels-check"/> <label for="m-docs-concepts-overview-working-with-objects-common-labels-check"><a href="/docs/concepts/overview/working-with-objects/common-labels/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-overview-working-with-objects-common-labels"><span class="">Recommended Labels</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-overview-components-li"> <input type="checkbox" id="m-docs-concepts-overview-components-check"/> <label for="m-docs-concepts-overview-components-check"><a href="/docs/concepts/overview/components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-overview-components"><span class="">Kubernetes Components</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-overview-kubernetes-api-li"> <input type="checkbox" id="m-docs-concepts-overview-kubernetes-api-check"/> <label for="m-docs-concepts-overview-kubernetes-api-check"><a href="/docs/concepts/overview/kubernetes-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-overview-kubernetes-api"><span class="">The Kubernetes API</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-architecture-li"> <input type="checkbox" id="m-docs-concepts-architecture-check"/> <label for="m-docs-concepts-architecture-check"><a href="/docs/concepts/architecture/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-architecture"><span class="">Cluster Architecture</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-architecture-nodes-li"> <input type="checkbox" id="m-docs-concepts-architecture-nodes-check"/> <label for="m-docs-concepts-architecture-nodes-check"><a href="/docs/concepts/architecture/nodes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-architecture-nodes"><span class="">Nodes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-architecture-control-plane-node-communication-li"> <input type="checkbox" id="m-docs-concepts-architecture-control-plane-node-communication-check"/> <label for="m-docs-concepts-architecture-control-plane-node-communication-check"><a href="/docs/concepts/architecture/control-plane-node-communication/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-architecture-control-plane-node-communication"><span class="">Communication between Nodes and the Control Plane</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-architecture-controller-li"> <input type="checkbox" id="m-docs-concepts-architecture-controller-check"/> <label for="m-docs-concepts-architecture-controller-check"><a href="/docs/concepts/architecture/controller/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-architecture-controller"><span class="">Controllers</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-architecture-leases-li"> <input type="checkbox" id="m-docs-concepts-architecture-leases-check"/> <label for="m-docs-concepts-architecture-leases-check"><a href="/docs/concepts/architecture/leases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-architecture-leases"><span class="">Leases</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-architecture-cloud-controller-li"> <input type="checkbox" id="m-docs-concepts-architecture-cloud-controller-check"/> <label for="m-docs-concepts-architecture-cloud-controller-check"><a href="/docs/concepts/architecture/cloud-controller/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-architecture-cloud-controller"><span class="">Cloud Controller Manager</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-architecture-cgroups-li"> <input type="checkbox" id="m-docs-concepts-architecture-cgroups-check"/> <label for="m-docs-concepts-architecture-cgroups-check"><a href="/docs/concepts/architecture/cgroups/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-architecture-cgroups"><span class="">About cgroup v2</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-architecture-cri-li"> <input type="checkbox" id="m-docs-concepts-architecture-cri-check"/> <label for="m-docs-concepts-architecture-cri-check"><a href="/docs/concepts/architecture/cri/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-architecture-cri"><span class="">Container Runtime Interface (CRI)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-architecture-garbage-collection-li"> <input type="checkbox" id="m-docs-concepts-architecture-garbage-collection-check"/> <label for="m-docs-concepts-architecture-garbage-collection-check"><a href="/docs/concepts/architecture/garbage-collection/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-architecture-garbage-collection"><span class="">Garbage Collection</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-architecture-mixed-version-proxy-li"> <input type="checkbox" id="m-docs-concepts-architecture-mixed-version-proxy-check"/> <label for="m-docs-concepts-architecture-mixed-version-proxy-check"><a href="/docs/concepts/architecture/mixed-version-proxy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-architecture-mixed-version-proxy"><span class="">Mixed Version Proxy</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-containers-li"> <input type="checkbox" id="m-docs-concepts-containers-check"/> <label for="m-docs-concepts-containers-check"><a href="/docs/concepts/containers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-containers"><span class="">Containers</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-containers-images-li"> <input type="checkbox" id="m-docs-concepts-containers-images-check"/> <label for="m-docs-concepts-containers-images-check"><a href="/docs/concepts/containers/images/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-containers-images"><span class="">Images</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-containers-container-environment-li"> <input type="checkbox" id="m-docs-concepts-containers-container-environment-check"/> <label for="m-docs-concepts-containers-container-environment-check"><a href="/docs/concepts/containers/container-environment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-containers-container-environment"><span class="">Container Environment</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-containers-runtime-class-li"> <input type="checkbox" id="m-docs-concepts-containers-runtime-class-check"/> <label for="m-docs-concepts-containers-runtime-class-check"><a href="/docs/concepts/containers/runtime-class/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-containers-runtime-class"><span class="">Runtime Class</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-containers-container-lifecycle-hooks-li"> <input type="checkbox" id="m-docs-concepts-containers-container-lifecycle-hooks-check"/> <label for="m-docs-concepts-containers-container-lifecycle-hooks-check"><a href="/docs/concepts/containers/container-lifecycle-hooks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-containers-container-lifecycle-hooks"><span class="">Container Lifecycle Hooks</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-workloads-li"> <input type="checkbox" id="m-docs-concepts-workloads-check"/> <label for="m-docs-concepts-workloads-check"><a href="/docs/concepts/workloads/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-workloads"><span class="">Workloads</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-workloads-pods-li"> <input type="checkbox" id="m-docs-concepts-workloads-pods-check"/> <label for="m-docs-concepts-workloads-pods-check"><a href="/docs/concepts/workloads/pods/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-workloads-pods"><span class="">Pods</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-pods-pod-lifecycle-li"> <input type="checkbox" id="m-docs-concepts-workloads-pods-pod-lifecycle-check"/> <label for="m-docs-concepts-workloads-pods-pod-lifecycle-check"><a href="/docs/concepts/workloads/pods/pod-lifecycle/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-pods-pod-lifecycle"><span class="">Pod Lifecycle</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-pods-init-containers-li"> <input type="checkbox" id="m-docs-concepts-workloads-pods-init-containers-check"/> <label for="m-docs-concepts-workloads-pods-init-containers-check"><a href="/docs/concepts/workloads/pods/init-containers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-pods-init-containers"><span class="">Init Containers</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-pods-sidecar-containers-li"> <input type="checkbox" id="m-docs-concepts-workloads-pods-sidecar-containers-check"/> <label for="m-docs-concepts-workloads-pods-sidecar-containers-check"><a href="/docs/concepts/workloads/pods/sidecar-containers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-pods-sidecar-containers"><span class="">Sidecar Containers</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-pods-disruptions-li"> <input type="checkbox" id="m-docs-concepts-workloads-pods-disruptions-check"/> <label for="m-docs-concepts-workloads-pods-disruptions-check"><a href="/docs/concepts/workloads/pods/disruptions/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-pods-disruptions"><span class="">Disruptions</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-pods-ephemeral-containers-li"> <input type="checkbox" id="m-docs-concepts-workloads-pods-ephemeral-containers-check"/> <label for="m-docs-concepts-workloads-pods-ephemeral-containers-check"><a href="/docs/concepts/workloads/pods/ephemeral-containers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-pods-ephemeral-containers"><span class="">Ephemeral Containers</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-pods-pod-qos-li"> <input type="checkbox" id="m-docs-concepts-workloads-pods-pod-qos-check"/> <label for="m-docs-concepts-workloads-pods-pod-qos-check"><a href="/docs/concepts/workloads/pods/pod-qos/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-pods-pod-qos"><span class="">Pod Quality of Service Classes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-pods-user-namespaces-li"> <input type="checkbox" id="m-docs-concepts-workloads-pods-user-namespaces-check"/> <label for="m-docs-concepts-workloads-pods-user-namespaces-check"><a href="/docs/concepts/workloads/pods/user-namespaces/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-pods-user-namespaces"><span class="">User Namespaces</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-pods-downward-api-li"> <input type="checkbox" id="m-docs-concepts-workloads-pods-downward-api-check"/> <label for="m-docs-concepts-workloads-pods-downward-api-check"><a href="/docs/concepts/workloads/pods/downward-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-pods-downward-api"><span class="">Downward API</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-workloads-controllers-li"> <input type="checkbox" id="m-docs-concepts-workloads-controllers-check"/> <label for="m-docs-concepts-workloads-controllers-check"><a href="/docs/concepts/workloads/controllers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-workloads-controllers"><span class="">Workload Resources</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-controllers-deployment-li"> <input type="checkbox" id="m-docs-concepts-workloads-controllers-deployment-check"/> <label for="m-docs-concepts-workloads-controllers-deployment-check"><a href="/docs/concepts/workloads/controllers/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-controllers-deployment"><span class="">Deployments</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-controllers-replicaset-li"> <input type="checkbox" id="m-docs-concepts-workloads-controllers-replicaset-check"/> <label for="m-docs-concepts-workloads-controllers-replicaset-check"><a href="/docs/concepts/workloads/controllers/replicaset/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-controllers-replicaset"><span class="">ReplicaSet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-controllers-statefulset-li"> <input type="checkbox" id="m-docs-concepts-workloads-controllers-statefulset-check"/> <label for="m-docs-concepts-workloads-controllers-statefulset-check"><a href="/docs/concepts/workloads/controllers/statefulset/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-controllers-statefulset"><span class="">StatefulSets</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-controllers-daemonset-li"> <input type="checkbox" id="m-docs-concepts-workloads-controllers-daemonset-check"/> <label for="m-docs-concepts-workloads-controllers-daemonset-check"><a href="/docs/concepts/workloads/controllers/daemonset/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-controllers-daemonset"><span class="">DaemonSet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-controllers-job-li"> <input type="checkbox" id="m-docs-concepts-workloads-controllers-job-check"/> <label for="m-docs-concepts-workloads-controllers-job-check"><a href="/docs/concepts/workloads/controllers/job/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-controllers-job"><span class="">Jobs</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-controllers-ttlafterfinished-li"> <input type="checkbox" id="m-docs-concepts-workloads-controllers-ttlafterfinished-check"/> <label for="m-docs-concepts-workloads-controllers-ttlafterfinished-check"><a href="/docs/concepts/workloads/controllers/ttlafterfinished/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-controllers-ttlafterfinished"><span class="">Automatic Cleanup for Finished Jobs</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-controllers-cron-jobs-li"> <input type="checkbox" id="m-docs-concepts-workloads-controllers-cron-jobs-check"/> <label for="m-docs-concepts-workloads-controllers-cron-jobs-check"><a href="/docs/concepts/workloads/controllers/cron-jobs/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-controllers-cron-jobs"><span class="">CronJob</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-workloads-controllers-replicationcontroller-li"> <input type="checkbox" id="m-docs-concepts-workloads-controllers-replicationcontroller-check"/> <label for="m-docs-concepts-workloads-controllers-replicationcontroller-check"><a href="/docs/concepts/workloads/controllers/replicationcontroller/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-workloads-controllers-replicationcontroller"><span class="">ReplicationController</span></a></label> </li> </ul> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-services-networking-li"> <input type="checkbox" id="m-docs-concepts-services-networking-check"/> <label for="m-docs-concepts-services-networking-check"><a href="/docs/concepts/services-networking/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-services-networking"><span class="">Services, Load Balancing, and Networking</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-services-networking-service-li"> <input type="checkbox" id="m-docs-concepts-services-networking-service-check"/> <label for="m-docs-concepts-services-networking-service-check"><a href="/docs/concepts/services-networking/service/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-services-networking-service"><span class="">Service</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-services-networking-ingress-li"> <input type="checkbox" id="m-docs-concepts-services-networking-ingress-check"/> <label for="m-docs-concepts-services-networking-ingress-check"><a href="/docs/concepts/services-networking/ingress/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-services-networking-ingress"><span class="">Ingress</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-services-networking-ingress-controllers-li"> <input type="checkbox" id="m-docs-concepts-services-networking-ingress-controllers-check"/> <label for="m-docs-concepts-services-networking-ingress-controllers-check"><a href="/docs/concepts/services-networking/ingress-controllers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-services-networking-ingress-controllers"><span class="">Ingress Controllers</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-services-networking-gateway-li"> <input type="checkbox" id="m-docs-concepts-services-networking-gateway-check"/> <label for="m-docs-concepts-services-networking-gateway-check"><a href="/docs/concepts/services-networking/gateway/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-services-networking-gateway"><span class="">Gateway API</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-services-networking-endpoint-slices-li"> <input type="checkbox" id="m-docs-concepts-services-networking-endpoint-slices-check"/> <label for="m-docs-concepts-services-networking-endpoint-slices-check"><a href="/docs/concepts/services-networking/endpoint-slices/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-services-networking-endpoint-slices"><span class="">EndpointSlices</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-services-networking-network-policies-li"> <input type="checkbox" id="m-docs-concepts-services-networking-network-policies-check"/> <label for="m-docs-concepts-services-networking-network-policies-check"><a href="/docs/concepts/services-networking/network-policies/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-services-networking-network-policies"><span class="">Network Policies</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-services-networking-dns-pod-service-li"> <input type="checkbox" id="m-docs-concepts-services-networking-dns-pod-service-check"/> <label for="m-docs-concepts-services-networking-dns-pod-service-check"><a href="/docs/concepts/services-networking/dns-pod-service/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-services-networking-dns-pod-service"><span class="">DNS for Services and Pods</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-services-networking-dual-stack-li"> <input type="checkbox" id="m-docs-concepts-services-networking-dual-stack-check"/> <label for="m-docs-concepts-services-networking-dual-stack-check"><a href="/docs/concepts/services-networking/dual-stack/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-services-networking-dual-stack"><span class="">IPv4/IPv6 dual-stack</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-services-networking-topology-aware-routing-li"> <input type="checkbox" id="m-docs-concepts-services-networking-topology-aware-routing-check"/> <label for="m-docs-concepts-services-networking-topology-aware-routing-check"><a href="/docs/concepts/services-networking/topology-aware-routing/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-services-networking-topology-aware-routing"><span class="">Topology Aware Routing</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-services-networking-windows-networking-li"> <input type="checkbox" id="m-docs-concepts-services-networking-windows-networking-check"/> <label for="m-docs-concepts-services-networking-windows-networking-check"><a href="/docs/concepts/services-networking/windows-networking/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-services-networking-windows-networking"><span class="">Networking on Windows</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-services-networking-cluster-ip-allocation-li"> <input type="checkbox" id="m-docs-concepts-services-networking-cluster-ip-allocation-check"/> <label for="m-docs-concepts-services-networking-cluster-ip-allocation-check"><a href="/docs/concepts/services-networking/cluster-ip-allocation/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-services-networking-cluster-ip-allocation"><span class="">Service ClusterIP allocation</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-services-networking-service-traffic-policy-li"> <input type="checkbox" id="m-docs-concepts-services-networking-service-traffic-policy-check"/> <label for="m-docs-concepts-services-networking-service-traffic-policy-check"><a href="/docs/concepts/services-networking/service-traffic-policy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-services-networking-service-traffic-policy"><span class="">Service Internal Traffic Policy</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-storage-li"> <input type="checkbox" id="m-docs-concepts-storage-check"/> <label for="m-docs-concepts-storage-check"><a href="/docs/concepts/storage/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-storage"><span class="">Storage</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-storage-volumes-li"> <input type="checkbox" id="m-docs-concepts-storage-volumes-check"/> <label for="m-docs-concepts-storage-volumes-check"><a href="/docs/concepts/storage/volumes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-storage-volumes"><span class="">Volumes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-storage-persistent-volumes-li"> <input type="checkbox" id="m-docs-concepts-storage-persistent-volumes-check"/> <label for="m-docs-concepts-storage-persistent-volumes-check"><a href="/docs/concepts/storage/persistent-volumes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-storage-persistent-volumes"><span class="">Persistent Volumes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-storage-projected-volumes-li"> <input type="checkbox" id="m-docs-concepts-storage-projected-volumes-check"/> <label for="m-docs-concepts-storage-projected-volumes-check"><a href="/docs/concepts/storage/projected-volumes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-storage-projected-volumes"><span class="">Projected Volumes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-storage-ephemeral-volumes-li"> <input type="checkbox" id="m-docs-concepts-storage-ephemeral-volumes-check"/> <label for="m-docs-concepts-storage-ephemeral-volumes-check"><a href="/docs/concepts/storage/ephemeral-volumes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-storage-ephemeral-volumes"><span class="">Ephemeral Volumes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-storage-storage-classes-li"> <input type="checkbox" id="m-docs-concepts-storage-storage-classes-check"/> <label for="m-docs-concepts-storage-storage-classes-check"><a href="/docs/concepts/storage/storage-classes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-storage-storage-classes"><span class="">Storage Classes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-storage-dynamic-provisioning-li"> <input type="checkbox" id="m-docs-concepts-storage-dynamic-provisioning-check"/> <label for="m-docs-concepts-storage-dynamic-provisioning-check"><a href="/docs/concepts/storage/dynamic-provisioning/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-storage-dynamic-provisioning"><span class="">Dynamic Volume Provisioning</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-storage-volume-snapshots-li"> <input type="checkbox" id="m-docs-concepts-storage-volume-snapshots-check"/> <label for="m-docs-concepts-storage-volume-snapshots-check"><a href="/docs/concepts/storage/volume-snapshots/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-storage-volume-snapshots"><span class="">Volume Snapshots</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-storage-volume-snapshot-classes-li"> <input type="checkbox" id="m-docs-concepts-storage-volume-snapshot-classes-check"/> <label for="m-docs-concepts-storage-volume-snapshot-classes-check"><a href="/docs/concepts/storage/volume-snapshot-classes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-storage-volume-snapshot-classes"><span class="">Volume Snapshot Classes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-storage-volume-pvc-datasource-li"> <input type="checkbox" id="m-docs-concepts-storage-volume-pvc-datasource-check"/> <label for="m-docs-concepts-storage-volume-pvc-datasource-check"><a href="/docs/concepts/storage/volume-pvc-datasource/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-storage-volume-pvc-datasource"><span class="">CSI Volume Cloning</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-storage-storage-capacity-li"> <input type="checkbox" id="m-docs-concepts-storage-storage-capacity-check"/> <label for="m-docs-concepts-storage-storage-capacity-check"><a href="/docs/concepts/storage/storage-capacity/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-storage-storage-capacity"><span class="">Storage Capacity</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-storage-storage-limits-li"> <input type="checkbox" id="m-docs-concepts-storage-storage-limits-check"/> <label for="m-docs-concepts-storage-storage-limits-check"><a href="/docs/concepts/storage/storage-limits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-storage-storage-limits"><span class="">Node-specific Volume Limits</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-storage-volume-health-monitoring-li"> <input type="checkbox" id="m-docs-concepts-storage-volume-health-monitoring-check"/> <label for="m-docs-concepts-storage-volume-health-monitoring-check"><a href="/docs/concepts/storage/volume-health-monitoring/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-storage-volume-health-monitoring"><span class="">Volume Health Monitoring</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-storage-windows-storage-li"> <input type="checkbox" id="m-docs-concepts-storage-windows-storage-check"/> <label for="m-docs-concepts-storage-windows-storage-check"><a href="/docs/concepts/storage/windows-storage/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-storage-windows-storage"><span class="">Windows Storage</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-configuration-li"> <input type="checkbox" id="m-docs-concepts-configuration-check"/> <label for="m-docs-concepts-configuration-check"><a href="/docs/concepts/configuration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-configuration"><span class="">Configuration</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-configuration-overview-li"> <input type="checkbox" id="m-docs-concepts-configuration-overview-check"/> <label for="m-docs-concepts-configuration-overview-check"><a href="/docs/concepts/configuration/overview/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-configuration-overview"><span class="">Configuration Best Practices</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-configuration-configmap-li"> <input type="checkbox" id="m-docs-concepts-configuration-configmap-check"/> <label for="m-docs-concepts-configuration-configmap-check"><a href="/docs/concepts/configuration/configmap/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-configuration-configmap"><span class="">ConfigMaps</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-configuration-secret-li"> <input type="checkbox" id="m-docs-concepts-configuration-secret-check"/> <label for="m-docs-concepts-configuration-secret-check"><a href="/docs/concepts/configuration/secret/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-configuration-secret"><span class="">Secrets</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-configuration-manage-resources-containers-li"> <input type="checkbox" id="m-docs-concepts-configuration-manage-resources-containers-check"/> <label for="m-docs-concepts-configuration-manage-resources-containers-check"><a href="/docs/concepts/configuration/manage-resources-containers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-configuration-manage-resources-containers"><span class="">Resource Management for Pods and Containers</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-configuration-organize-cluster-access-kubeconfig-li"> <input type="checkbox" id="m-docs-concepts-configuration-organize-cluster-access-kubeconfig-check"/> <label for="m-docs-concepts-configuration-organize-cluster-access-kubeconfig-check"><a href="/docs/concepts/configuration/organize-cluster-access-kubeconfig/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-configuration-organize-cluster-access-kubeconfig"><span class="">Organizing Cluster Access Using kubeconfig Files</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-configuration-windows-resource-management-li"> <input type="checkbox" id="m-docs-concepts-configuration-windows-resource-management-check"/> <label for="m-docs-concepts-configuration-windows-resource-management-check"><a href="/docs/concepts/configuration/windows-resource-management/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-configuration-windows-resource-management"><span class="">Resource Management for Windows nodes</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-security-li"> <input type="checkbox" id="m-docs-concepts-security-check"/> <label for="m-docs-concepts-security-check"><a href="/docs/concepts/security/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-security"><span class="">Security</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-security-overview-li"> <input type="checkbox" id="m-docs-concepts-security-overview-check"/> <label for="m-docs-concepts-security-overview-check"><a href="/docs/concepts/security/overview/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-security-overview"><span class="">Overview of Cloud Native Security</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-security-pod-security-standards-li"> <input type="checkbox" id="m-docs-concepts-security-pod-security-standards-check"/> <label for="m-docs-concepts-security-pod-security-standards-check"><a href="/docs/concepts/security/pod-security-standards/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-security-pod-security-standards"><span class="">Pod Security Standards</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-security-service-accounts-li"> <input type="checkbox" id="m-docs-concepts-security-service-accounts-check"/> <label for="m-docs-concepts-security-service-accounts-check"><a href="/docs/concepts/security/service-accounts/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-security-service-accounts"><span class="">Service Accounts</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-security-pod-security-admission-li"> <input type="checkbox" id="m-docs-concepts-security-pod-security-admission-check"/> <label for="m-docs-concepts-security-pod-security-admission-check"><a href="/docs/concepts/security/pod-security-admission/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-security-pod-security-admission"><span class="">Pod Security Admission</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-security-pod-security-policy-li"> <input type="checkbox" id="m-docs-concepts-security-pod-security-policy-check"/> <label for="m-docs-concepts-security-pod-security-policy-check"><a href="/docs/concepts/security/pod-security-policy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-security-pod-security-policy"><span class="">Pod Security Policies</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-security-windows-security-li"> <input type="checkbox" id="m-docs-concepts-security-windows-security-check"/> <label for="m-docs-concepts-security-windows-security-check"><a href="/docs/concepts/security/windows-security/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-security-windows-security"><span class="">Security For Windows Nodes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-security-controlling-access-li"> <input type="checkbox" id="m-docs-concepts-security-controlling-access-check"/> <label for="m-docs-concepts-security-controlling-access-check"><a href="/docs/concepts/security/controlling-access/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-security-controlling-access"><span class="">Controlling Access to the Kubernetes API</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-security-rbac-good-practices-li"> <input type="checkbox" id="m-docs-concepts-security-rbac-good-practices-check"/> <label for="m-docs-concepts-security-rbac-good-practices-check"><a href="/docs/concepts/security/rbac-good-practices/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-security-rbac-good-practices"><span class="">Role Based Access Control Good Practices</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-security-secrets-good-practices-li"> <input type="checkbox" id="m-docs-concepts-security-secrets-good-practices-check"/> <label for="m-docs-concepts-security-secrets-good-practices-check"><a href="/docs/concepts/security/secrets-good-practices/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-security-secrets-good-practices"><span class="">Good practices for Kubernetes Secrets</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-security-multi-tenancy-li"> <input type="checkbox" id="m-docs-concepts-security-multi-tenancy-check"/> <label for="m-docs-concepts-security-multi-tenancy-check"><a href="/docs/concepts/security/multi-tenancy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-security-multi-tenancy"><span class="">Multi-tenancy</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-security-hardening-guide-authentication-mechanisms-li"> <input type="checkbox" id="m-docs-concepts-security-hardening-guide-authentication-mechanisms-check"/> <label for="m-docs-concepts-security-hardening-guide-authentication-mechanisms-check"><a href="/docs/concepts/security/hardening-guide/authentication-mechanisms/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-security-hardening-guide-authentication-mechanisms"><span class="">Hardening Guide - Authentication Mechanisms</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-security-api-server-bypass-risks-li"> <input type="checkbox" id="m-docs-concepts-security-api-server-bypass-risks-check"/> <label for="m-docs-concepts-security-api-server-bypass-risks-check"><a href="/docs/concepts/security/api-server-bypass-risks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-security-api-server-bypass-risks"><span class="">Kubernetes API Server Bypass Risks</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-security-security-checklist-li"> <input type="checkbox" id="m-docs-concepts-security-security-checklist-check"/> <label for="m-docs-concepts-security-security-checklist-check"><a href="/docs/concepts/security/security-checklist/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-security-security-checklist"><span class="">Security Checklist</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-policy-li"> <input type="checkbox" id="m-docs-concepts-policy-check"/> <label for="m-docs-concepts-policy-check"><a href="/docs/concepts/policy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-policy"><span class="">Policies</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-policy-limit-range-li"> <input type="checkbox" id="m-docs-concepts-policy-limit-range-check"/> <label for="m-docs-concepts-policy-limit-range-check"><a href="/docs/concepts/policy/limit-range/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-policy-limit-range"><span class="">Limit Ranges</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-policy-resource-quotas-li"> <input type="checkbox" id="m-docs-concepts-policy-resource-quotas-check"/> <label for="m-docs-concepts-policy-resource-quotas-check"><a href="/docs/concepts/policy/resource-quotas/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-policy-resource-quotas"><span class="">Resource Quotas</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-policy-pid-limiting-li"> <input type="checkbox" id="m-docs-concepts-policy-pid-limiting-check"/> <label for="m-docs-concepts-policy-pid-limiting-check"><a href="/docs/concepts/policy/pid-limiting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-policy-pid-limiting"><span class="">Process ID Limits And Reservations</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-policy-node-resource-managers-li"> <input type="checkbox" id="m-docs-concepts-policy-node-resource-managers-check"/> <label for="m-docs-concepts-policy-node-resource-managers-check"><a href="/docs/concepts/policy/node-resource-managers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-policy-node-resource-managers"><span class="">Node Resource Managers</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-scheduling-eviction-li"> <input type="checkbox" id="m-docs-concepts-scheduling-eviction-check"/> <label for="m-docs-concepts-scheduling-eviction-check"><a href="/docs/concepts/scheduling-eviction/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-scheduling-eviction"><span class="">Scheduling, Preemption and Eviction</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-scheduling-eviction-kube-scheduler-li"> <input type="checkbox" id="m-docs-concepts-scheduling-eviction-kube-scheduler-check"/> <label for="m-docs-concepts-scheduling-eviction-kube-scheduler-check"><a href="/docs/concepts/scheduling-eviction/kube-scheduler/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-scheduling-eviction-kube-scheduler"><span class="">Kubernetes Scheduler</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-scheduling-eviction-assign-pod-node-li"> <input type="checkbox" id="m-docs-concepts-scheduling-eviction-assign-pod-node-check"/> <label for="m-docs-concepts-scheduling-eviction-assign-pod-node-check"><a href="/docs/concepts/scheduling-eviction/assign-pod-node/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-scheduling-eviction-assign-pod-node"><span class="">Assigning Pods to Nodes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-scheduling-eviction-pod-overhead-li"> <input type="checkbox" id="m-docs-concepts-scheduling-eviction-pod-overhead-check"/> <label for="m-docs-concepts-scheduling-eviction-pod-overhead-check"><a href="/docs/concepts/scheduling-eviction/pod-overhead/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-scheduling-eviction-pod-overhead"><span class="">Pod Overhead</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-scheduling-eviction-pod-scheduling-readiness-li"> <input type="checkbox" id="m-docs-concepts-scheduling-eviction-pod-scheduling-readiness-check"/> <label for="m-docs-concepts-scheduling-eviction-pod-scheduling-readiness-check"><a href="/docs/concepts/scheduling-eviction/pod-scheduling-readiness/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-scheduling-eviction-pod-scheduling-readiness"><span class="">Pod Scheduling Readiness</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-scheduling-eviction-topology-spread-constraints-li"> <input type="checkbox" id="m-docs-concepts-scheduling-eviction-topology-spread-constraints-check"/> <label for="m-docs-concepts-scheduling-eviction-topology-spread-constraints-check"><a href="/docs/concepts/scheduling-eviction/topology-spread-constraints/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-scheduling-eviction-topology-spread-constraints"><span class="">Pod Topology Spread Constraints</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-scheduling-eviction-taint-and-toleration-li"> <input type="checkbox" id="m-docs-concepts-scheduling-eviction-taint-and-toleration-check"/> <label for="m-docs-concepts-scheduling-eviction-taint-and-toleration-check"><a href="/docs/concepts/scheduling-eviction/taint-and-toleration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-scheduling-eviction-taint-and-toleration"><span class="">Taints and Tolerations</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-scheduling-eviction-scheduling-framework-li"> <input type="checkbox" id="m-docs-concepts-scheduling-eviction-scheduling-framework-check"/> <label for="m-docs-concepts-scheduling-eviction-scheduling-framework-check"><a href="/docs/concepts/scheduling-eviction/scheduling-framework/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-scheduling-eviction-scheduling-framework"><span class="">Scheduling Framework</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-scheduling-eviction-dynamic-resource-allocation-li"> <input type="checkbox" id="m-docs-concepts-scheduling-eviction-dynamic-resource-allocation-check"/> <label for="m-docs-concepts-scheduling-eviction-dynamic-resource-allocation-check"><a href="/docs/concepts/scheduling-eviction/dynamic-resource-allocation/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-scheduling-eviction-dynamic-resource-allocation"><span class="">Dynamic Resource Allocation</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-scheduling-eviction-scheduler-perf-tuning-li"> <input type="checkbox" id="m-docs-concepts-scheduling-eviction-scheduler-perf-tuning-check"/> <label for="m-docs-concepts-scheduling-eviction-scheduler-perf-tuning-check"><a href="/docs/concepts/scheduling-eviction/scheduler-perf-tuning/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-scheduling-eviction-scheduler-perf-tuning"><span class="">Scheduler Performance Tuning</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-scheduling-eviction-resource-bin-packing-li"> <input type="checkbox" id="m-docs-concepts-scheduling-eviction-resource-bin-packing-check"/> <label for="m-docs-concepts-scheduling-eviction-resource-bin-packing-check"><a href="/docs/concepts/scheduling-eviction/resource-bin-packing/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-scheduling-eviction-resource-bin-packing"><span class="">Resource Bin Packing</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-scheduling-eviction-pod-priority-preemption-li"> <input type="checkbox" id="m-docs-concepts-scheduling-eviction-pod-priority-preemption-check"/> <label for="m-docs-concepts-scheduling-eviction-pod-priority-preemption-check"><a href="/docs/concepts/scheduling-eviction/pod-priority-preemption/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-scheduling-eviction-pod-priority-preemption"><span class="">Pod Priority and Preemption</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-scheduling-eviction-node-pressure-eviction-li"> <input type="checkbox" id="m-docs-concepts-scheduling-eviction-node-pressure-eviction-check"/> <label for="m-docs-concepts-scheduling-eviction-node-pressure-eviction-check"><a href="/docs/concepts/scheduling-eviction/node-pressure-eviction/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-scheduling-eviction-node-pressure-eviction"><span class="">Node-pressure Eviction</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-scheduling-eviction-api-eviction-li"> <input type="checkbox" id="m-docs-concepts-scheduling-eviction-api-eviction-check"/> <label for="m-docs-concepts-scheduling-eviction-api-eviction-check"><a href="/docs/concepts/scheduling-eviction/api-eviction/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-scheduling-eviction-api-eviction"><span class="">API-initiated Eviction</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-cluster-administration-li"> <input type="checkbox" id="m-docs-concepts-cluster-administration-check"/> <label for="m-docs-concepts-cluster-administration-check"><a href="/docs/concepts/cluster-administration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-cluster-administration"><span class="">Cluster Administration</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-cluster-administration-certificates-li"> <input type="checkbox" id="m-docs-concepts-cluster-administration-certificates-check"/> <label for="m-docs-concepts-cluster-administration-certificates-check"><a href="/docs/concepts/cluster-administration/certificates/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-cluster-administration-certificates"><span class="">Certificates</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-cluster-administration-manage-deployment-li"> <input type="checkbox" id="m-docs-concepts-cluster-administration-manage-deployment-check"/> <label for="m-docs-concepts-cluster-administration-manage-deployment-check"><a href="/docs/concepts/cluster-administration/manage-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-cluster-administration-manage-deployment"><span class="">Managing Resources</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-cluster-administration-networking-li"> <input type="checkbox" id="m-docs-concepts-cluster-administration-networking-check"/> <label for="m-docs-concepts-cluster-administration-networking-check"><a href="/docs/concepts/cluster-administration/networking/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-cluster-administration-networking"><span class="">Cluster Networking</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-cluster-administration-logging-li"> <input type="checkbox" id="m-docs-concepts-cluster-administration-logging-check"/> <label for="m-docs-concepts-cluster-administration-logging-check"><a href="/docs/concepts/cluster-administration/logging/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-cluster-administration-logging"><span class="">Logging Architecture</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-cluster-administration-system-metrics-li"> <input type="checkbox" id="m-docs-concepts-cluster-administration-system-metrics-check"/> <label for="m-docs-concepts-cluster-administration-system-metrics-check"><a href="/docs/concepts/cluster-administration/system-metrics/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-cluster-administration-system-metrics"><span class="">Metrics For Kubernetes System Components</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-cluster-administration-system-logs-li"> <input type="checkbox" id="m-docs-concepts-cluster-administration-system-logs-check"/> <label for="m-docs-concepts-cluster-administration-system-logs-check"><a href="/docs/concepts/cluster-administration/system-logs/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-cluster-administration-system-logs"><span class="">System Logs</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-cluster-administration-system-traces-li"> <input type="checkbox" id="m-docs-concepts-cluster-administration-system-traces-check"/> <label for="m-docs-concepts-cluster-administration-system-traces-check"><a href="/docs/concepts/cluster-administration/system-traces/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-cluster-administration-system-traces"><span class="">Traces For Kubernetes System Components</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-cluster-administration-proxies-li"> <input type="checkbox" id="m-docs-concepts-cluster-administration-proxies-check"/> <label for="m-docs-concepts-cluster-administration-proxies-check"><a href="/docs/concepts/cluster-administration/proxies/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-cluster-administration-proxies"><span class="">Proxies in Kubernetes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-cluster-administration-flow-control-li"> <input type="checkbox" id="m-docs-concepts-cluster-administration-flow-control-check"/> <label for="m-docs-concepts-cluster-administration-flow-control-check"><a href="/docs/concepts/cluster-administration/flow-control/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-cluster-administration-flow-control"><span class="">API Priority and Fairness</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-cluster-administration-addons-li"> <input type="checkbox" id="m-docs-concepts-cluster-administration-addons-check"/> <label for="m-docs-concepts-cluster-administration-addons-check"><a href="/docs/concepts/cluster-administration/addons/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-cluster-administration-addons"><span class="">Installing Addons</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-windows-li"> <input type="checkbox" id="m-docs-concepts-windows-check"/> <label for="m-docs-concepts-windows-check"><a href="/docs/concepts/windows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-windows"><span class="">Windows in Kubernetes</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-windows-intro-li"> <input type="checkbox" id="m-docs-concepts-windows-intro-check"/> <label for="m-docs-concepts-windows-intro-check"><a href="/docs/concepts/windows/intro/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-windows-intro"><span class="">Windows containers in Kubernetes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-windows-user-guide-li"> <input type="checkbox" id="m-docs-concepts-windows-user-guide-check"/> <label for="m-docs-concepts-windows-user-guide-check"><a href="/docs/concepts/windows/user-guide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-windows-user-guide"><span class="">Guide for Running Windows Containers in Kubernetes</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-extend-kubernetes-li"> <input type="checkbox" id="m-docs-concepts-extend-kubernetes-check"/> <label for="m-docs-concepts-extend-kubernetes-check"><a href="/docs/concepts/extend-kubernetes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-extend-kubernetes"><span class="">Extending Kubernetes</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-extend-kubernetes-compute-storage-net-li"> <input type="checkbox" id="m-docs-concepts-extend-kubernetes-compute-storage-net-check"/> <label for="m-docs-concepts-extend-kubernetes-compute-storage-net-check"><a href="/docs/concepts/extend-kubernetes/compute-storage-net/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-extend-kubernetes-compute-storage-net"><span class="">Compute, Storage, and Networking Extensions</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-extend-kubernetes-compute-storage-net-network-plugins-li"> <input type="checkbox" id="m-docs-concepts-extend-kubernetes-compute-storage-net-network-plugins-check"/> <label for="m-docs-concepts-extend-kubernetes-compute-storage-net-network-plugins-check"><a href="/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-extend-kubernetes-compute-storage-net-network-plugins"><span class="">Network Plugins</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-extend-kubernetes-compute-storage-net-device-plugins-li"> <input type="checkbox" id="m-docs-concepts-extend-kubernetes-compute-storage-net-device-plugins-check"/> <label for="m-docs-concepts-extend-kubernetes-compute-storage-net-device-plugins-check"><a href="/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-extend-kubernetes-compute-storage-net-device-plugins"><span class="">Device Plugins</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-concepts-extend-kubernetes-api-extension-li"> <input type="checkbox" id="m-docs-concepts-extend-kubernetes-api-extension-check"/> <label for="m-docs-concepts-extend-kubernetes-api-extension-check"><a href="/docs/concepts/extend-kubernetes/api-extension/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-concepts-extend-kubernetes-api-extension"><span class="">Extending the Kubernetes API</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-extend-kubernetes-api-extension-custom-resources-li"> <input type="checkbox" id="m-docs-concepts-extend-kubernetes-api-extension-custom-resources-check"/> <label for="m-docs-concepts-extend-kubernetes-api-extension-custom-resources-check"><a href="/docs/concepts/extend-kubernetes/api-extension/custom-resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-extend-kubernetes-api-extension-custom-resources"><span class="">Custom Resources</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-extend-kubernetes-api-extension-apiserver-aggregation-li"> <input type="checkbox" id="m-docs-concepts-extend-kubernetes-api-extension-apiserver-aggregation-check"/> <label for="m-docs-concepts-extend-kubernetes-api-extension-apiserver-aggregation-check"><a href="/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-extend-kubernetes-api-extension-apiserver-aggregation"><span class="">Kubernetes API Aggregation Layer</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-concepts-extend-kubernetes-operator-li"> <input type="checkbox" id="m-docs-concepts-extend-kubernetes-operator-check"/> <label for="m-docs-concepts-extend-kubernetes-operator-check"><a href="/docs/concepts/extend-kubernetes/operator/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-concepts-extend-kubernetes-operator"><span class="">Operator pattern</span></a></label> </li> </ul> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-li"> <input type="checkbox" id="m-docs-tasks-check"/> <label for="m-docs-tasks-check"><a href="/docs/tasks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks"><span class="">Tasks</span></a></label> <ul class="ul-2 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-tools-li"> <input type="checkbox" id="m-docs-tasks-tools-check"/> <label for="m-docs-tasks-tools-check"><a href="/docs/tasks/tools/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-tools"><span class="">Install Tools</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-tools-install-kubectl-linux-li"> <input type="checkbox" id="m-docs-tasks-tools-install-kubectl-linux-check"/> <label for="m-docs-tasks-tools-install-kubectl-linux-check"><a href="/docs/tasks/tools/install-kubectl-linux/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-tools-install-kubectl-linux"><span class="">Install and Set Up kubectl on Linux</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-tools-install-kubectl-macos-li"> <input type="checkbox" id="m-docs-tasks-tools-install-kubectl-macos-check"/> <label for="m-docs-tasks-tools-install-kubectl-macos-check"><a href="/docs/tasks/tools/install-kubectl-macos/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-tools-install-kubectl-macos"><span class="">Install and Set Up kubectl on macOS</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-tools-install-kubectl-windows-li"> <input type="checkbox" id="m-docs-tasks-tools-install-kubectl-windows-check"/> <label for="m-docs-tasks-tools-install-kubectl-windows-check"><a href="/docs/tasks/tools/install-kubectl-windows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-tools-install-kubectl-windows"><span class="">Install and Set Up kubectl on Windows</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-administer-cluster-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-check"/> <label for="m-docs-tasks-administer-cluster-check"><a href="/docs/tasks/administer-cluster/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-administer-cluster"><span class="">Administer a Cluster</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-administer-cluster-kubeadm-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-kubeadm-check"/> <label for="m-docs-tasks-administer-cluster-kubeadm-check"><a href="/docs/tasks/administer-cluster/kubeadm/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-administer-cluster-kubeadm"><span class="">Administration with kubeadm</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-kubeadm-kubeadm-certs-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-kubeadm-kubeadm-certs-check"/> <label for="m-docs-tasks-administer-cluster-kubeadm-kubeadm-certs-check"><a href="/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-kubeadm-kubeadm-certs"><span class="">Certificate Management with kubeadm</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-kubeadm-configure-cgroup-driver-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-kubeadm-configure-cgroup-driver-check"/> <label for="m-docs-tasks-administer-cluster-kubeadm-configure-cgroup-driver-check"><a href="/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-kubeadm-configure-cgroup-driver"><span class="">Configuring a cgroup driver</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-kubeadm-kubeadm-reconfigure-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-kubeadm-kubeadm-reconfigure-check"/> <label for="m-docs-tasks-administer-cluster-kubeadm-kubeadm-reconfigure-check"><a href="/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-kubeadm-kubeadm-reconfigure"><span class="">Reconfiguring a kubeadm cluster</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-kubeadm-kubeadm-upgrade-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-kubeadm-kubeadm-upgrade-check"/> <label for="m-docs-tasks-administer-cluster-kubeadm-kubeadm-upgrade-check"><a href="/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-kubeadm-kubeadm-upgrade"><span class="">Upgrading kubeadm clusters</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-kubeadm-upgrading-linux-nodes-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-kubeadm-upgrading-linux-nodes-check"/> <label for="m-docs-tasks-administer-cluster-kubeadm-upgrading-linux-nodes-check"><a href="/docs/tasks/administer-cluster/kubeadm/upgrading-linux-nodes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-kubeadm-upgrading-linux-nodes"><span class="">Upgrading Linux nodes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-kubeadm-upgrading-windows-nodes-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-kubeadm-upgrading-windows-nodes-check"/> <label for="m-docs-tasks-administer-cluster-kubeadm-upgrading-windows-nodes-check"><a href="/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-kubeadm-upgrading-windows-nodes"><span class="">Upgrading Windows nodes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-kubeadm-change-package-repository-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-kubeadm-change-package-repository-check"/> <label for="m-docs-tasks-administer-cluster-kubeadm-change-package-repository-check"><a href="/docs/tasks/administer-cluster/kubeadm/change-package-repository/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-kubeadm-change-package-repository"><span class="">Changing The Kubernetes Package Repository</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-check"/> <label for="m-docs-tasks-administer-cluster-migrating-from-dockershim-check"><a href="/docs/tasks/administer-cluster/migrating-from-dockershim/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-administer-cluster-migrating-from-dockershim"><span class="">Migrating from dockershim</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-change-runtime-containerd-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-change-runtime-containerd-check"/> <label for="m-docs-tasks-administer-cluster-migrating-from-dockershim-change-runtime-containerd-check"><a href="/docs/tasks/administer-cluster/migrating-from-dockershim/change-runtime-containerd/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-change-runtime-containerd"><span class="">Changing the Container Runtime on a Node from Docker Engine to containerd</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-migrate-dockershim-dockerd-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-migrate-dockershim-dockerd-check"/> <label for="m-docs-tasks-administer-cluster-migrating-from-dockershim-migrate-dockershim-dockerd-check"><a href="/docs/tasks/administer-cluster/migrating-from-dockershim/migrate-dockershim-dockerd/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-migrate-dockershim-dockerd"><span class="">Migrate Docker Engine nodes from dockershim to cri-dockerd</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-find-out-runtime-you-use-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-find-out-runtime-you-use-check"/> <label for="m-docs-tasks-administer-cluster-migrating-from-dockershim-find-out-runtime-you-use-check"><a href="/docs/tasks/administer-cluster/migrating-from-dockershim/find-out-runtime-you-use/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-find-out-runtime-you-use"><span class="">Find Out What Container Runtime is Used on a Node</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-troubleshooting-cni-plugin-related-errors-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-troubleshooting-cni-plugin-related-errors-check"/> <label for="m-docs-tasks-administer-cluster-migrating-from-dockershim-troubleshooting-cni-plugin-related-errors-check"><a href="/docs/tasks/administer-cluster/migrating-from-dockershim/troubleshooting-cni-plugin-related-errors/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-troubleshooting-cni-plugin-related-errors"><span class="">Troubleshooting CNI plugin-related errors</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-check-if-dockershim-removal-affects-you-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-check-if-dockershim-removal-affects-you-check"/> <label for="m-docs-tasks-administer-cluster-migrating-from-dockershim-check-if-dockershim-removal-affects-you-check"><a href="/docs/tasks/administer-cluster/migrating-from-dockershim/check-if-dockershim-removal-affects-you/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-check-if-dockershim-removal-affects-you"><span class="">Check whether dockershim removal affects you</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-migrating-telemetry-and-security-agents-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-migrating-telemetry-and-security-agents-check"/> <label for="m-docs-tasks-administer-cluster-migrating-from-dockershim-migrating-telemetry-and-security-agents-check"><a href="/docs/tasks/administer-cluster/migrating-from-dockershim/migrating-telemetry-and-security-agents/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-migrating-from-dockershim-migrating-telemetry-and-security-agents"><span class="">Migrating telemetry and security agents from dockershim</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-certificates-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-certificates-check"/> <label for="m-docs-tasks-administer-cluster-certificates-check"><a href="/docs/tasks/administer-cluster/certificates/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-certificates"><span class="">Generate Certificates Manually</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-administer-cluster-manage-resources-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-manage-resources-check"/> <label for="m-docs-tasks-administer-cluster-manage-resources-check"><a href="/docs/tasks/administer-cluster/manage-resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-administer-cluster-manage-resources"><span class="">Manage Memory, CPU, and API Resources</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-manage-resources-memory-default-namespace-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-manage-resources-memory-default-namespace-check"/> <label for="m-docs-tasks-administer-cluster-manage-resources-memory-default-namespace-check"><a href="/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-manage-resources-memory-default-namespace"><span class="">Configure Default Memory Requests and Limits for a Namespace</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-manage-resources-cpu-default-namespace-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-manage-resources-cpu-default-namespace-check"/> <label for="m-docs-tasks-administer-cluster-manage-resources-cpu-default-namespace-check"><a href="/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-manage-resources-cpu-default-namespace"><span class="">Configure Default CPU Requests and Limits for a Namespace</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-manage-resources-memory-constraint-namespace-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-manage-resources-memory-constraint-namespace-check"/> <label for="m-docs-tasks-administer-cluster-manage-resources-memory-constraint-namespace-check"><a href="/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-manage-resources-memory-constraint-namespace"><span class="">Configure Minimum and Maximum Memory Constraints for a Namespace</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-manage-resources-cpu-constraint-namespace-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-manage-resources-cpu-constraint-namespace-check"/> <label for="m-docs-tasks-administer-cluster-manage-resources-cpu-constraint-namespace-check"><a href="/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-manage-resources-cpu-constraint-namespace"><span class="">Configure Minimum and Maximum CPU Constraints for a Namespace</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-manage-resources-quota-memory-cpu-namespace-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-manage-resources-quota-memory-cpu-namespace-check"/> <label for="m-docs-tasks-administer-cluster-manage-resources-quota-memory-cpu-namespace-check"><a href="/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-manage-resources-quota-memory-cpu-namespace"><span class="">Configure Memory and CPU Quotas for a Namespace</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-manage-resources-quota-pod-namespace-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-manage-resources-quota-pod-namespace-check"/> <label for="m-docs-tasks-administer-cluster-manage-resources-quota-pod-namespace-check"><a href="/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-manage-resources-quota-pod-namespace"><span class="">Configure a Pod Quota for a Namespace</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-administer-cluster-network-policy-provider-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-network-policy-provider-check"/> <label for="m-docs-tasks-administer-cluster-network-policy-provider-check"><a href="/docs/tasks/administer-cluster/network-policy-provider/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-administer-cluster-network-policy-provider"><span class="">Install a Network Policy Provider</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-network-policy-provider-antrea-network-policy-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-network-policy-provider-antrea-network-policy-check"/> <label for="m-docs-tasks-administer-cluster-network-policy-provider-antrea-network-policy-check"><a href="/docs/tasks/administer-cluster/network-policy-provider/antrea-network-policy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-network-policy-provider-antrea-network-policy"><span class="">Use Antrea for NetworkPolicy</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-network-policy-provider-calico-network-policy-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-network-policy-provider-calico-network-policy-check"/> <label for="m-docs-tasks-administer-cluster-network-policy-provider-calico-network-policy-check"><a href="/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-network-policy-provider-calico-network-policy"><span class="">Use Calico for NetworkPolicy</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-network-policy-provider-cilium-network-policy-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-network-policy-provider-cilium-network-policy-check"/> <label for="m-docs-tasks-administer-cluster-network-policy-provider-cilium-network-policy-check"><a href="/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-network-policy-provider-cilium-network-policy"><span class="">Use Cilium for NetworkPolicy</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-network-policy-provider-kube-router-network-policy-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-network-policy-provider-kube-router-network-policy-check"/> <label for="m-docs-tasks-administer-cluster-network-policy-provider-kube-router-network-policy-check"><a href="/docs/tasks/administer-cluster/network-policy-provider/kube-router-network-policy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-network-policy-provider-kube-router-network-policy"><span class="">Use Kube-router for NetworkPolicy</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-network-policy-provider-romana-network-policy-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-network-policy-provider-romana-network-policy-check"/> <label for="m-docs-tasks-administer-cluster-network-policy-provider-romana-network-policy-check"><a href="/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-network-policy-provider-romana-network-policy"><span class="">Romana for NetworkPolicy</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-network-policy-provider-weave-network-policy-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-network-policy-provider-weave-network-policy-check"/> <label for="m-docs-tasks-administer-cluster-network-policy-provider-weave-network-policy-check"><a href="/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-network-policy-provider-weave-network-policy"><span class="">Weave Net for NetworkPolicy</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-access-cluster-api-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-access-cluster-api-check"/> <label for="m-docs-tasks-administer-cluster-access-cluster-api-check"><a href="/docs/tasks/administer-cluster/access-cluster-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-access-cluster-api"><span class="">Access Clusters Using the Kubernetes API</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-extended-resource-node-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-extended-resource-node-check"/> <label for="m-docs-tasks-administer-cluster-extended-resource-node-check"><a href="/docs/tasks/administer-cluster/extended-resource-node/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-extended-resource-node"><span class="">Advertise Extended Resources for a Node</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-dns-horizontal-autoscaling-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-dns-horizontal-autoscaling-check"/> <label for="m-docs-tasks-administer-cluster-dns-horizontal-autoscaling-check"><a href="/docs/tasks/administer-cluster/dns-horizontal-autoscaling/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-dns-horizontal-autoscaling"><span class="">Autoscale the DNS Service in a Cluster</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-change-default-storage-class-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-change-default-storage-class-check"/> <label for="m-docs-tasks-administer-cluster-change-default-storage-class-check"><a href="/docs/tasks/administer-cluster/change-default-storage-class/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-change-default-storage-class"><span class="">Change the default StorageClass</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-switch-to-evented-pleg-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-switch-to-evented-pleg-check"/> <label for="m-docs-tasks-administer-cluster-switch-to-evented-pleg-check"><a href="/docs/tasks/administer-cluster/switch-to-evented-pleg/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-switch-to-evented-pleg"><span class="">Switching from Polling to CRI Event-based Updates to Container Status</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-change-pv-reclaim-policy-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-change-pv-reclaim-policy-check"/> <label for="m-docs-tasks-administer-cluster-change-pv-reclaim-policy-check"><a href="/docs/tasks/administer-cluster/change-pv-reclaim-policy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-change-pv-reclaim-policy"><span class="">Change the Reclaim Policy of a PersistentVolume</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-running-cloud-controller-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-running-cloud-controller-check"/> <label for="m-docs-tasks-administer-cluster-running-cloud-controller-check"><a href="/docs/tasks/administer-cluster/running-cloud-controller/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-running-cloud-controller"><span class="">Cloud Controller Manager Administration</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-kubelet-credential-provider-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-kubelet-credential-provider-check"/> <label for="m-docs-tasks-administer-cluster-kubelet-credential-provider-check"><a href="/docs/tasks/administer-cluster/kubelet-credential-provider/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-kubelet-credential-provider"><span class="">Configure a kubelet image credential provider</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-quota-api-object-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-quota-api-object-check"/> <label for="m-docs-tasks-administer-cluster-quota-api-object-check"><a href="/docs/tasks/administer-cluster/quota-api-object/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-quota-api-object"><span class="">Configure Quotas for API Objects</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-cpu-management-policies-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-cpu-management-policies-check"/> <label for="m-docs-tasks-administer-cluster-cpu-management-policies-check"><a href="/docs/tasks/administer-cluster/cpu-management-policies/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-cpu-management-policies"><span class="">Control CPU Management Policies on the Node</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-topology-manager-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-topology-manager-check"/> <label for="m-docs-tasks-administer-cluster-topology-manager-check"><a href="/docs/tasks/administer-cluster/topology-manager/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-topology-manager"><span class="">Control Topology Management Policies on a node</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-dns-custom-nameservers-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-dns-custom-nameservers-check"/> <label for="m-docs-tasks-administer-cluster-dns-custom-nameservers-check"><a href="/docs/tasks/administer-cluster/dns-custom-nameservers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-dns-custom-nameservers"><span class="">Customizing DNS Service</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-dns-debugging-resolution-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-dns-debugging-resolution-check"/> <label for="m-docs-tasks-administer-cluster-dns-debugging-resolution-check"><a href="/docs/tasks/administer-cluster/dns-debugging-resolution/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-dns-debugging-resolution"><span class="">Debugging DNS Resolution</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-declare-network-policy-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-declare-network-policy-check"/> <label for="m-docs-tasks-administer-cluster-declare-network-policy-check"><a href="/docs/tasks/administer-cluster/declare-network-policy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-declare-network-policy"><span class="">Declare Network Policy</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-developing-cloud-controller-manager-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-developing-cloud-controller-manager-check"/> <label for="m-docs-tasks-administer-cluster-developing-cloud-controller-manager-check"><a href="/docs/tasks/administer-cluster/developing-cloud-controller-manager/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-developing-cloud-controller-manager"><span class="">Developing Cloud Controller Manager</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-enable-disable-api-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-enable-disable-api-check"/> <label for="m-docs-tasks-administer-cluster-enable-disable-api-check"><a href="/docs/tasks/administer-cluster/enable-disable-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-enable-disable-api"><span class="">Enable Or Disable A Kubernetes API</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-encrypt-data-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-encrypt-data-check"/> <label for="m-docs-tasks-administer-cluster-encrypt-data-check"><a href="/docs/tasks/administer-cluster/encrypt-data/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-encrypt-data"><span class="">Encrypting Confidential Data at Rest</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-decrypt-data-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-decrypt-data-check"/> <label for="m-docs-tasks-administer-cluster-decrypt-data-check"><a href="/docs/tasks/administer-cluster/decrypt-data/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-decrypt-data"><span class="">Decrypt Confidential Data that is Already Encrypted at Rest</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-guaranteed-scheduling-critical-addon-pods-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-guaranteed-scheduling-critical-addon-pods-check"/> <label for="m-docs-tasks-administer-cluster-guaranteed-scheduling-critical-addon-pods-check"><a href="/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-guaranteed-scheduling-critical-addon-pods"><span class="">Guaranteed Scheduling For Critical Add-On Pods</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-ip-masq-agent-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-ip-masq-agent-check"/> <label for="m-docs-tasks-administer-cluster-ip-masq-agent-check"><a href="/docs/tasks/administer-cluster/ip-masq-agent/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-ip-masq-agent"><span class="">IP Masquerade Agent User Guide</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-limit-storage-consumption-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-limit-storage-consumption-check"/> <label for="m-docs-tasks-administer-cluster-limit-storage-consumption-check"><a href="/docs/tasks/administer-cluster/limit-storage-consumption/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-limit-storage-consumption"><span class="">Limit Storage Consumption</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-controller-manager-leader-migration-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-controller-manager-leader-migration-check"/> <label for="m-docs-tasks-administer-cluster-controller-manager-leader-migration-check"><a href="/docs/tasks/administer-cluster/controller-manager-leader-migration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-controller-manager-leader-migration"><span class="">Migrate Replicated Control Plane To Use Cloud Controller Manager</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-namespaces-walkthrough-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-namespaces-walkthrough-check"/> <label for="m-docs-tasks-administer-cluster-namespaces-walkthrough-check"><a href="/docs/tasks/administer-cluster/namespaces-walkthrough/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-namespaces-walkthrough"><span class="">Namespaces Walkthrough</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-configure-upgrade-etcd-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-configure-upgrade-etcd-check"/> <label for="m-docs-tasks-administer-cluster-configure-upgrade-etcd-check"><a href="/docs/tasks/administer-cluster/configure-upgrade-etcd/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-configure-upgrade-etcd"><span class="">Operating etcd clusters for Kubernetes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-reserve-compute-resources-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-reserve-compute-resources-check"/> <label for="m-docs-tasks-administer-cluster-reserve-compute-resources-check"><a href="/docs/tasks/administer-cluster/reserve-compute-resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-reserve-compute-resources"><span class="">Reserve Compute Resources for System Daemons</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-kubelet-in-userns-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-kubelet-in-userns-check"/> <label for="m-docs-tasks-administer-cluster-kubelet-in-userns-check"><a href="/docs/tasks/administer-cluster/kubelet-in-userns/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-kubelet-in-userns"><span class="">Running Kubernetes Node Components as a Non-root User</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-safely-drain-node-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-safely-drain-node-check"/> <label for="m-docs-tasks-administer-cluster-safely-drain-node-check"><a href="/docs/tasks/administer-cluster/safely-drain-node/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-safely-drain-node"><span class="">Safely Drain a Node</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-securing-a-cluster-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-securing-a-cluster-check"/> <label for="m-docs-tasks-administer-cluster-securing-a-cluster-check"><a href="/docs/tasks/administer-cluster/securing-a-cluster/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-securing-a-cluster"><span class="">Securing a Cluster</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-kubelet-config-file-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-kubelet-config-file-check"/> <label for="m-docs-tasks-administer-cluster-kubelet-config-file-check"><a href="/docs/tasks/administer-cluster/kubelet-config-file/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-kubelet-config-file"><span class="">Set Kubelet Parameters Via A Configuration File</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-namespaces-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-namespaces-check"/> <label for="m-docs-tasks-administer-cluster-namespaces-check"><a href="/docs/tasks/administer-cluster/namespaces/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-namespaces"><span class="">Share a Cluster with Namespaces</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-cluster-upgrade-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-cluster-upgrade-check"/> <label for="m-docs-tasks-administer-cluster-cluster-upgrade-check"><a href="/docs/tasks/administer-cluster/cluster-upgrade/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-cluster-upgrade"><span class="">Upgrade A Cluster</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-use-cascading-deletion-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-use-cascading-deletion-check"/> <label for="m-docs-tasks-administer-cluster-use-cascading-deletion-check"><a href="/docs/tasks/administer-cluster/use-cascading-deletion/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-use-cascading-deletion"><span class="">Use Cascading Deletion in a Cluster</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-kms-provider-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-kms-provider-check"/> <label for="m-docs-tasks-administer-cluster-kms-provider-check"><a href="/docs/tasks/administer-cluster/kms-provider/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-kms-provider"><span class="">Using a KMS provider for data encryption</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-coredns-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-coredns-check"/> <label for="m-docs-tasks-administer-cluster-coredns-check"><a href="/docs/tasks/administer-cluster/coredns/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-coredns"><span class="">Using CoreDNS for Service Discovery</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-nodelocaldns-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-nodelocaldns-check"/> <label for="m-docs-tasks-administer-cluster-nodelocaldns-check"><a href="/docs/tasks/administer-cluster/nodelocaldns/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-nodelocaldns"><span class="">Using NodeLocal DNSCache in Kubernetes Clusters</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-sysctl-cluster-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-sysctl-cluster-check"/> <label for="m-docs-tasks-administer-cluster-sysctl-cluster-check"><a href="/docs/tasks/administer-cluster/sysctl-cluster/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-sysctl-cluster"><span class="">Using sysctls in a Kubernetes Cluster</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-memory-manager-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-memory-manager-check"/> <label for="m-docs-tasks-administer-cluster-memory-manager-check"><a href="/docs/tasks/administer-cluster/memory-manager/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-memory-manager"><span class="">Utilizing the NUMA-aware Memory Manager</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-administer-cluster-verify-signed-artifacts-li"> <input type="checkbox" id="m-docs-tasks-administer-cluster-verify-signed-artifacts-check"/> <label for="m-docs-tasks-administer-cluster-verify-signed-artifacts-check"><a href="/docs/tasks/administer-cluster/verify-signed-artifacts/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-administer-cluster-verify-signed-artifacts"><span class="">Verify Signed Kubernetes Artifacts</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-configure-pod-container-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-check"/> <label for="m-docs-tasks-configure-pod-container-check"><a href="/docs/tasks/configure-pod-container/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-configure-pod-container"><span class="">Configure Pods and Containers</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-assign-memory-resource-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-assign-memory-resource-check"/> <label for="m-docs-tasks-configure-pod-container-assign-memory-resource-check"><a href="/docs/tasks/configure-pod-container/assign-memory-resource/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-assign-memory-resource"><span class="">Assign Memory Resources to Containers and Pods</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-assign-cpu-resource-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-assign-cpu-resource-check"/> <label for="m-docs-tasks-configure-pod-container-assign-cpu-resource-check"><a href="/docs/tasks/configure-pod-container/assign-cpu-resource/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-assign-cpu-resource"><span class="">Assign CPU Resources to Containers and Pods</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-configure-gmsa-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-configure-gmsa-check"/> <label for="m-docs-tasks-configure-pod-container-configure-gmsa-check"><a href="/docs/tasks/configure-pod-container/configure-gmsa/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-configure-gmsa"><span class="">Configure GMSA for Windows Pods and containers</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-resize-container-resources-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-resize-container-resources-check"/> <label for="m-docs-tasks-configure-pod-container-resize-container-resources-check"><a href="/docs/tasks/configure-pod-container/resize-container-resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-resize-container-resources"><span class="">Resize CPU and Memory Resources assigned to Containers</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-configure-runasusername-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-configure-runasusername-check"/> <label for="m-docs-tasks-configure-pod-container-configure-runasusername-check"><a href="/docs/tasks/configure-pod-container/configure-runasusername/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-configure-runasusername"><span class="">Configure RunAsUserName for Windows pods and containers</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-create-hostprocess-pod-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-create-hostprocess-pod-check"/> <label for="m-docs-tasks-configure-pod-container-create-hostprocess-pod-check"><a href="/docs/tasks/configure-pod-container/create-hostprocess-pod/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-create-hostprocess-pod"><span class="">Create a Windows HostProcess Pod</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-quality-service-pod-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-quality-service-pod-check"/> <label for="m-docs-tasks-configure-pod-container-quality-service-pod-check"><a href="/docs/tasks/configure-pod-container/quality-service-pod/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-quality-service-pod"><span class="">Configure Quality of Service for Pods</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-extended-resource-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-extended-resource-check"/> <label for="m-docs-tasks-configure-pod-container-extended-resource-check"><a href="/docs/tasks/configure-pod-container/extended-resource/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-extended-resource"><span class="">Assign Extended Resources to a Container</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-configure-volume-storage-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-configure-volume-storage-check"/> <label for="m-docs-tasks-configure-pod-container-configure-volume-storage-check"><a href="/docs/tasks/configure-pod-container/configure-volume-storage/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-configure-volume-storage"><span class="">Configure a Pod to Use a Volume for Storage</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-configure-persistent-volume-storage-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-configure-persistent-volume-storage-check"/> <label for="m-docs-tasks-configure-pod-container-configure-persistent-volume-storage-check"><a href="/docs/tasks/configure-pod-container/configure-persistent-volume-storage/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-configure-persistent-volume-storage"><span class="">Configure a Pod to Use a PersistentVolume for Storage</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-configure-projected-volume-storage-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-configure-projected-volume-storage-check"/> <label for="m-docs-tasks-configure-pod-container-configure-projected-volume-storage-check"><a href="/docs/tasks/configure-pod-container/configure-projected-volume-storage/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-configure-projected-volume-storage"><span class="">Configure a Pod to Use a Projected Volume for Storage</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-security-context-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-security-context-check"/> <label for="m-docs-tasks-configure-pod-container-security-context-check"><a href="/docs/tasks/configure-pod-container/security-context/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-security-context"><span class="">Configure a Security Context for a Pod or Container</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-configure-service-account-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-configure-service-account-check"/> <label for="m-docs-tasks-configure-pod-container-configure-service-account-check"><a href="/docs/tasks/configure-pod-container/configure-service-account/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-configure-service-account"><span class="">Configure Service Accounts for Pods</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-pull-image-private-registry-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-pull-image-private-registry-check"/> <label for="m-docs-tasks-configure-pod-container-pull-image-private-registry-check"><a href="/docs/tasks/configure-pod-container/pull-image-private-registry/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-pull-image-private-registry"><span class="">Pull an Image from a Private Registry</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-configure-liveness-readiness-startup-probes-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-configure-liveness-readiness-startup-probes-check"/> <label for="m-docs-tasks-configure-pod-container-configure-liveness-readiness-startup-probes-check"><a href="/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-configure-liveness-readiness-startup-probes"><span class="">Configure Liveness, Readiness and Startup Probes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-assign-pods-nodes-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-assign-pods-nodes-check"/> <label for="m-docs-tasks-configure-pod-container-assign-pods-nodes-check"><a href="/docs/tasks/configure-pod-container/assign-pods-nodes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-assign-pods-nodes"><span class="">Assign Pods to Nodes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-assign-pods-nodes-using-node-affinity-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-assign-pods-nodes-using-node-affinity-check"/> <label for="m-docs-tasks-configure-pod-container-assign-pods-nodes-using-node-affinity-check"><a href="/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-assign-pods-nodes-using-node-affinity"><span class="">Assign Pods to Nodes using Node Affinity</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-configure-pod-initialization-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-configure-pod-initialization-check"/> <label for="m-docs-tasks-configure-pod-container-configure-pod-initialization-check"><a href="/docs/tasks/configure-pod-container/configure-pod-initialization/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-configure-pod-initialization"><span class="">Configure Pod Initialization</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-attach-handler-lifecycle-event-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-attach-handler-lifecycle-event-check"/> <label for="m-docs-tasks-configure-pod-container-attach-handler-lifecycle-event-check"><a href="/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-attach-handler-lifecycle-event"><span class="">Attach Handlers to Container Lifecycle Events</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-configure-pod-configmap-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-configure-pod-configmap-check"/> <label for="m-docs-tasks-configure-pod-container-configure-pod-configmap-check"><a href="/docs/tasks/configure-pod-container/configure-pod-configmap/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-configure-pod-configmap"><span class="">Configure a Pod to Use a ConfigMap</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-share-process-namespace-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-share-process-namespace-check"/> <label for="m-docs-tasks-configure-pod-container-share-process-namespace-check"><a href="/docs/tasks/configure-pod-container/share-process-namespace/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-share-process-namespace"><span class="">Share Process Namespace between Containers in a Pod</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-user-namespaces-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-user-namespaces-check"/> <label for="m-docs-tasks-configure-pod-container-user-namespaces-check"><a href="/docs/tasks/configure-pod-container/user-namespaces/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-user-namespaces"><span class="">Use a User Namespace With a Pod</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-static-pod-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-static-pod-check"/> <label for="m-docs-tasks-configure-pod-container-static-pod-check"><a href="/docs/tasks/configure-pod-container/static-pod/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-static-pod"><span class="">Create static Pods</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-translate-compose-kubernetes-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-translate-compose-kubernetes-check"/> <label for="m-docs-tasks-configure-pod-container-translate-compose-kubernetes-check"><a href="/docs/tasks/configure-pod-container/translate-compose-kubernetes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-translate-compose-kubernetes"><span class="">Translate a Docker Compose File to Kubernetes Resources</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-enforce-standards-admission-controller-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-enforce-standards-admission-controller-check"/> <label for="m-docs-tasks-configure-pod-container-enforce-standards-admission-controller-check"><a href="/docs/tasks/configure-pod-container/enforce-standards-admission-controller/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-enforce-standards-admission-controller"><span class="">Enforce Pod Security Standards by Configuring the Built-in Admission Controller</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-enforce-standards-namespace-labels-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-enforce-standards-namespace-labels-check"/> <label for="m-docs-tasks-configure-pod-container-enforce-standards-namespace-labels-check"><a href="/docs/tasks/configure-pod-container/enforce-standards-namespace-labels/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-enforce-standards-namespace-labels"><span class="">Enforce Pod Security Standards with Namespace Labels</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configure-pod-container-migrate-from-psp-li"> <input type="checkbox" id="m-docs-tasks-configure-pod-container-migrate-from-psp-check"/> <label for="m-docs-tasks-configure-pod-container-migrate-from-psp-check"><a href="/docs/tasks/configure-pod-container/migrate-from-psp/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configure-pod-container-migrate-from-psp"><span class="">Migrate from PodSecurityPolicy to the Built-In PodSecurity Admission Controller</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-debug-li"> <input type="checkbox" id="m-docs-tasks-debug-check"/> <label for="m-docs-tasks-debug-check"><a href="/docs/tasks/debug/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-debug"><span class="">Monitoring, Logging, and Debugging</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-debug-debug-application-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-application-check"/> <label for="m-docs-tasks-debug-debug-application-check"><a href="/docs/tasks/debug/debug-application/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-debug-debug-application"><span class="">Troubleshooting Applications</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-application-debug-pods-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-application-debug-pods-check"/> <label for="m-docs-tasks-debug-debug-application-debug-pods-check"><a href="/docs/tasks/debug/debug-application/debug-pods/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-application-debug-pods"><span class="">Debug Pods</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-application-debug-service-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-application-debug-service-check"/> <label for="m-docs-tasks-debug-debug-application-debug-service-check"><a href="/docs/tasks/debug/debug-application/debug-service/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-application-debug-service"><span class="">Debug Services</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-application-debug-statefulset-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-application-debug-statefulset-check"/> <label for="m-docs-tasks-debug-debug-application-debug-statefulset-check"><a href="/docs/tasks/debug/debug-application/debug-statefulset/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-application-debug-statefulset"><span class="">Debug a StatefulSet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-application-determine-reason-pod-failure-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-application-determine-reason-pod-failure-check"/> <label for="m-docs-tasks-debug-debug-application-determine-reason-pod-failure-check"><a href="/docs/tasks/debug/debug-application/determine-reason-pod-failure/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-application-determine-reason-pod-failure"><span class="">Determine the Reason for Pod Failure</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-application-debug-init-containers-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-application-debug-init-containers-check"/> <label for="m-docs-tasks-debug-debug-application-debug-init-containers-check"><a href="/docs/tasks/debug/debug-application/debug-init-containers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-application-debug-init-containers"><span class="">Debug Init Containers</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-application-debug-running-pod-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-application-debug-running-pod-check"/> <label for="m-docs-tasks-debug-debug-application-debug-running-pod-check"><a href="/docs/tasks/debug/debug-application/debug-running-pod/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-application-debug-running-pod"><span class="">Debug Running Pods</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-application-get-shell-running-container-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-application-get-shell-running-container-check"/> <label for="m-docs-tasks-debug-debug-application-get-shell-running-container-check"><a href="/docs/tasks/debug/debug-application/get-shell-running-container/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-application-get-shell-running-container"><span class="">Get a Shell to a Running Container</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-debug-debug-cluster-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-cluster-check"/> <label for="m-docs-tasks-debug-debug-cluster-check"><a href="/docs/tasks/debug/debug-cluster/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-debug-debug-cluster"><span class="">Troubleshooting Clusters</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-cluster-troubleshoot-kubectl-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-cluster-troubleshoot-kubectl-check"/> <label for="m-docs-tasks-debug-debug-cluster-troubleshoot-kubectl-check"><a href="/docs/tasks/debug/debug-cluster/troubleshoot-kubectl/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-cluster-troubleshoot-kubectl"><span class="">Troubleshooting kubectl</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-cluster-resource-metrics-pipeline-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-cluster-resource-metrics-pipeline-check"/> <label for="m-docs-tasks-debug-debug-cluster-resource-metrics-pipeline-check"><a href="/docs/tasks/debug/debug-cluster/resource-metrics-pipeline/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-cluster-resource-metrics-pipeline"><span class="">Resource metrics pipeline</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-cluster-resource-usage-monitoring-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-cluster-resource-usage-monitoring-check"/> <label for="m-docs-tasks-debug-debug-cluster-resource-usage-monitoring-check"><a href="/docs/tasks/debug/debug-cluster/resource-usage-monitoring/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-cluster-resource-usage-monitoring"><span class="">Tools for Monitoring Resources</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-cluster-monitor-node-health-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-cluster-monitor-node-health-check"/> <label for="m-docs-tasks-debug-debug-cluster-monitor-node-health-check"><a href="/docs/tasks/debug/debug-cluster/monitor-node-health/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-cluster-monitor-node-health"><span class="">Monitor Node Health</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-cluster-crictl-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-cluster-crictl-check"/> <label for="m-docs-tasks-debug-debug-cluster-crictl-check"><a href="/docs/tasks/debug/debug-cluster/crictl/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-cluster-crictl"><span class="">Debugging Kubernetes nodes with crictl</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-cluster-audit-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-cluster-audit-check"/> <label for="m-docs-tasks-debug-debug-cluster-audit-check"><a href="/docs/tasks/debug/debug-cluster/audit/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-cluster-audit"><span class="">Auditing</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-cluster-kubectl-node-debug-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-cluster-kubectl-node-debug-check"/> <label for="m-docs-tasks-debug-debug-cluster-kubectl-node-debug-check"><a href="/docs/tasks/debug/debug-cluster/kubectl-node-debug/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-cluster-kubectl-node-debug"><span class="">Debugging Kubernetes Nodes With Kubectl</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-cluster-local-debugging-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-cluster-local-debugging-check"/> <label for="m-docs-tasks-debug-debug-cluster-local-debugging-check"><a href="/docs/tasks/debug/debug-cluster/local-debugging/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-cluster-local-debugging"><span class="">Developing and debugging services locally using telepresence</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-debug-debug-cluster-windows-li"> <input type="checkbox" id="m-docs-tasks-debug-debug-cluster-windows-check"/> <label for="m-docs-tasks-debug-debug-cluster-windows-check"><a href="/docs/tasks/debug/debug-cluster/windows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-debug-debug-cluster-windows"><span class="">Windows debugging tips</span></a></label> </li> </ul> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-manage-kubernetes-objects-li"> <input type="checkbox" id="m-docs-tasks-manage-kubernetes-objects-check"/> <label for="m-docs-tasks-manage-kubernetes-objects-check"><a href="/docs/tasks/manage-kubernetes-objects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-manage-kubernetes-objects"><span class="">Manage Kubernetes Objects</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-manage-kubernetes-objects-declarative-config-li"> <input type="checkbox" id="m-docs-tasks-manage-kubernetes-objects-declarative-config-check"/> <label for="m-docs-tasks-manage-kubernetes-objects-declarative-config-check"><a href="/docs/tasks/manage-kubernetes-objects/declarative-config/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-manage-kubernetes-objects-declarative-config"><span class="">Declarative Management of Kubernetes Objects Using Configuration Files</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-manage-kubernetes-objects-kustomization-li"> <input type="checkbox" id="m-docs-tasks-manage-kubernetes-objects-kustomization-check"/> <label for="m-docs-tasks-manage-kubernetes-objects-kustomization-check"><a href="/docs/tasks/manage-kubernetes-objects/kustomization/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-manage-kubernetes-objects-kustomization"><span class="">Declarative Management of Kubernetes Objects Using Kustomize</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-manage-kubernetes-objects-imperative-command-li"> <input type="checkbox" id="m-docs-tasks-manage-kubernetes-objects-imperative-command-check"/> <label for="m-docs-tasks-manage-kubernetes-objects-imperative-command-check"><a href="/docs/tasks/manage-kubernetes-objects/imperative-command/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-manage-kubernetes-objects-imperative-command"><span class="">Managing Kubernetes Objects Using Imperative Commands</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-manage-kubernetes-objects-imperative-config-li"> <input type="checkbox" id="m-docs-tasks-manage-kubernetes-objects-imperative-config-check"/> <label for="m-docs-tasks-manage-kubernetes-objects-imperative-config-check"><a href="/docs/tasks/manage-kubernetes-objects/imperative-config/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-manage-kubernetes-objects-imperative-config"><span class="">Imperative Management of Kubernetes Objects Using Configuration Files</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-manage-kubernetes-objects-update-api-object-kubectl-patch-li"> <input type="checkbox" id="m-docs-tasks-manage-kubernetes-objects-update-api-object-kubectl-patch-check"/> <label for="m-docs-tasks-manage-kubernetes-objects-update-api-object-kubectl-patch-check"><a href="/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-manage-kubernetes-objects-update-api-object-kubectl-patch"><span class="">Update API Objects in Place Using kubectl patch</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-configmap-secret-li"> <input type="checkbox" id="m-docs-tasks-configmap-secret-check"/> <label for="m-docs-tasks-configmap-secret-check"><a href="/docs/tasks/configmap-secret/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-configmap-secret"><span class="">Managing Secrets</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configmap-secret-managing-secret-using-kubectl-li"> <input type="checkbox" id="m-docs-tasks-configmap-secret-managing-secret-using-kubectl-check"/> <label for="m-docs-tasks-configmap-secret-managing-secret-using-kubectl-check"><a href="/docs/tasks/configmap-secret/managing-secret-using-kubectl/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configmap-secret-managing-secret-using-kubectl"><span class="">Managing Secrets using kubectl</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configmap-secret-managing-secret-using-config-file-li"> <input type="checkbox" id="m-docs-tasks-configmap-secret-managing-secret-using-config-file-check"/> <label for="m-docs-tasks-configmap-secret-managing-secret-using-config-file-check"><a href="/docs/tasks/configmap-secret/managing-secret-using-config-file/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configmap-secret-managing-secret-using-config-file"><span class="">Managing Secrets using Configuration File</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-configmap-secret-managing-secret-using-kustomize-li"> <input type="checkbox" id="m-docs-tasks-configmap-secret-managing-secret-using-kustomize-check"/> <label for="m-docs-tasks-configmap-secret-managing-secret-using-kustomize-check"><a href="/docs/tasks/configmap-secret/managing-secret-using-kustomize/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-configmap-secret-managing-secret-using-kustomize"><span class="">Managing Secrets using Kustomize</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-inject-data-application-li"> <input type="checkbox" id="m-docs-tasks-inject-data-application-check"/> <label for="m-docs-tasks-inject-data-application-check"><a href="/docs/tasks/inject-data-application/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-inject-data-application"><span class="">Inject Data Into Applications</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-inject-data-application-define-command-argument-container-li"> <input type="checkbox" id="m-docs-tasks-inject-data-application-define-command-argument-container-check"/> <label for="m-docs-tasks-inject-data-application-define-command-argument-container-check"><a href="/docs/tasks/inject-data-application/define-command-argument-container/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-inject-data-application-define-command-argument-container"><span class="">Define a Command and Arguments for a Container</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-inject-data-application-define-interdependent-environment-variables-li"> <input type="checkbox" id="m-docs-tasks-inject-data-application-define-interdependent-environment-variables-check"/> <label for="m-docs-tasks-inject-data-application-define-interdependent-environment-variables-check"><a href="/docs/tasks/inject-data-application/define-interdependent-environment-variables/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-inject-data-application-define-interdependent-environment-variables"><span class="">Define Dependent Environment Variables</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-inject-data-application-define-environment-variable-container-li"> <input type="checkbox" id="m-docs-tasks-inject-data-application-define-environment-variable-container-check"/> <label for="m-docs-tasks-inject-data-application-define-environment-variable-container-check"><a href="/docs/tasks/inject-data-application/define-environment-variable-container/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-inject-data-application-define-environment-variable-container"><span class="">Define Environment Variables for a Container</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-inject-data-application-environment-variable-expose-pod-information-li"> <input type="checkbox" id="m-docs-tasks-inject-data-application-environment-variable-expose-pod-information-check"/> <label for="m-docs-tasks-inject-data-application-environment-variable-expose-pod-information-check"><a href="/docs/tasks/inject-data-application/environment-variable-expose-pod-information/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-inject-data-application-environment-variable-expose-pod-information"><span class="">Expose Pod Information to Containers Through Environment Variables</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-inject-data-application-downward-api-volume-expose-pod-information-li"> <input type="checkbox" id="m-docs-tasks-inject-data-application-downward-api-volume-expose-pod-information-check"/> <label for="m-docs-tasks-inject-data-application-downward-api-volume-expose-pod-information-check"><a href="/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-inject-data-application-downward-api-volume-expose-pod-information"><span class="">Expose Pod Information to Containers Through Files</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-inject-data-application-distribute-credentials-secure-li"> <input type="checkbox" id="m-docs-tasks-inject-data-application-distribute-credentials-secure-check"/> <label for="m-docs-tasks-inject-data-application-distribute-credentials-secure-check"><a href="/docs/tasks/inject-data-application/distribute-credentials-secure/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-inject-data-application-distribute-credentials-secure"><span class="">Distribute Credentials Securely Using Secrets</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-run-application-li"> <input type="checkbox" id="m-docs-tasks-run-application-check"/> <label for="m-docs-tasks-run-application-check"><a href="/docs/tasks/run-application/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-run-application"><span class="">Run Applications</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-run-application-run-stateless-application-deployment-li"> <input type="checkbox" id="m-docs-tasks-run-application-run-stateless-application-deployment-check"/> <label for="m-docs-tasks-run-application-run-stateless-application-deployment-check"><a href="/docs/tasks/run-application/run-stateless-application-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-run-application-run-stateless-application-deployment"><span class="">Run a Stateless Application Using a Deployment</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-run-application-run-single-instance-stateful-application-li"> <input type="checkbox" id="m-docs-tasks-run-application-run-single-instance-stateful-application-check"/> <label for="m-docs-tasks-run-application-run-single-instance-stateful-application-check"><a href="/docs/tasks/run-application/run-single-instance-stateful-application/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-run-application-run-single-instance-stateful-application"><span class="">Run a Single-Instance Stateful Application</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-run-application-run-replicated-stateful-application-li"> <input type="checkbox" id="m-docs-tasks-run-application-run-replicated-stateful-application-check"/> <label for="m-docs-tasks-run-application-run-replicated-stateful-application-check"><a href="/docs/tasks/run-application/run-replicated-stateful-application/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-run-application-run-replicated-stateful-application"><span class="">Run a Replicated Stateful Application</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-run-application-scale-stateful-set-li"> <input type="checkbox" id="m-docs-tasks-run-application-scale-stateful-set-check"/> <label for="m-docs-tasks-run-application-scale-stateful-set-check"><a href="/docs/tasks/run-application/scale-stateful-set/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-run-application-scale-stateful-set"><span class="">Scale a StatefulSet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-run-application-delete-stateful-set-li"> <input type="checkbox" id="m-docs-tasks-run-application-delete-stateful-set-check"/> <label for="m-docs-tasks-run-application-delete-stateful-set-check"><a href="/docs/tasks/run-application/delete-stateful-set/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-run-application-delete-stateful-set"><span class="">Delete a StatefulSet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-run-application-force-delete-stateful-set-pod-li"> <input type="checkbox" id="m-docs-tasks-run-application-force-delete-stateful-set-pod-check"/> <label for="m-docs-tasks-run-application-force-delete-stateful-set-pod-check"><a href="/docs/tasks/run-application/force-delete-stateful-set-pod/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-run-application-force-delete-stateful-set-pod"><span class="">Force Delete StatefulSet Pods</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-run-application-horizontal-pod-autoscale-li"> <input type="checkbox" id="m-docs-tasks-run-application-horizontal-pod-autoscale-check"/> <label for="m-docs-tasks-run-application-horizontal-pod-autoscale-check"><a href="/docs/tasks/run-application/horizontal-pod-autoscale/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-run-application-horizontal-pod-autoscale"><span class="">Horizontal Pod Autoscaling</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-run-application-horizontal-pod-autoscale-walkthrough-li"> <input type="checkbox" id="m-docs-tasks-run-application-horizontal-pod-autoscale-walkthrough-check"/> <label for="m-docs-tasks-run-application-horizontal-pod-autoscale-walkthrough-check"><a href="/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-run-application-horizontal-pod-autoscale-walkthrough"><span class="">HorizontalPodAutoscaler Walkthrough</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-run-application-configure-pdb-li"> <input type="checkbox" id="m-docs-tasks-run-application-configure-pdb-check"/> <label for="m-docs-tasks-run-application-configure-pdb-check"><a href="/docs/tasks/run-application/configure-pdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-run-application-configure-pdb"><span class="">Specifying a Disruption Budget for your Application</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-run-application-access-api-from-pod-li"> <input type="checkbox" id="m-docs-tasks-run-application-access-api-from-pod-check"/> <label for="m-docs-tasks-run-application-access-api-from-pod-check"><a href="/docs/tasks/run-application/access-api-from-pod/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-run-application-access-api-from-pod"><span class="">Accessing the Kubernetes API from a Pod</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-job-li"> <input type="checkbox" id="m-docs-tasks-job-check"/> <label for="m-docs-tasks-job-check"><a href="/docs/tasks/job/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-job"><span class="">Run Jobs</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-job-automated-tasks-with-cron-jobs-li"> <input type="checkbox" id="m-docs-tasks-job-automated-tasks-with-cron-jobs-check"/> <label for="m-docs-tasks-job-automated-tasks-with-cron-jobs-check"><a href="/docs/tasks/job/automated-tasks-with-cron-jobs/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-job-automated-tasks-with-cron-jobs"><span class="">Running Automated Tasks with a CronJob</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-job-coarse-parallel-processing-work-queue-li"> <input type="checkbox" id="m-docs-tasks-job-coarse-parallel-processing-work-queue-check"/> <label for="m-docs-tasks-job-coarse-parallel-processing-work-queue-check"><a href="/docs/tasks/job/coarse-parallel-processing-work-queue/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-job-coarse-parallel-processing-work-queue"><span class="">Coarse Parallel Processing Using a Work Queue</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-job-fine-parallel-processing-work-queue-li"> <input type="checkbox" id="m-docs-tasks-job-fine-parallel-processing-work-queue-check"/> <label for="m-docs-tasks-job-fine-parallel-processing-work-queue-check"><a href="/docs/tasks/job/fine-parallel-processing-work-queue/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-job-fine-parallel-processing-work-queue"><span class="">Fine Parallel Processing Using a Work Queue</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-job-indexed-parallel-processing-static-li"> <input type="checkbox" id="m-docs-tasks-job-indexed-parallel-processing-static-check"/> <label for="m-docs-tasks-job-indexed-parallel-processing-static-check"><a href="/docs/tasks/job/indexed-parallel-processing-static/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-job-indexed-parallel-processing-static"><span class="">Indexed Job for Parallel Processing with Static Work Assignment</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-job-job-with-pod-to-pod-communication-li"> <input type="checkbox" id="m-docs-tasks-job-job-with-pod-to-pod-communication-check"/> <label for="m-docs-tasks-job-job-with-pod-to-pod-communication-check"><a href="/docs/tasks/job/job-with-pod-to-pod-communication/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-job-job-with-pod-to-pod-communication"><span class="">Job with Pod-to-Pod Communication</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-job-parallel-processing-expansion-li"> <input type="checkbox" id="m-docs-tasks-job-parallel-processing-expansion-check"/> <label for="m-docs-tasks-job-parallel-processing-expansion-check"><a href="/docs/tasks/job/parallel-processing-expansion/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-job-parallel-processing-expansion"><span class="">Parallel Processing using Expansions</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-job-pod-failure-policy-li"> <input type="checkbox" id="m-docs-tasks-job-pod-failure-policy-check"/> <label for="m-docs-tasks-job-pod-failure-policy-check"><a href="/docs/tasks/job/pod-failure-policy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-job-pod-failure-policy"><span class="">Handling retriable and non-retriable pod failures with Pod failure policy</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-access-application-cluster-li"> <input type="checkbox" id="m-docs-tasks-access-application-cluster-check"/> <label for="m-docs-tasks-access-application-cluster-check"><a href="/docs/tasks/access-application-cluster/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-access-application-cluster"><span class="">Access Applications in a Cluster</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-access-application-cluster-web-ui-dashboard-li"> <input type="checkbox" id="m-docs-tasks-access-application-cluster-web-ui-dashboard-check"/> <label for="m-docs-tasks-access-application-cluster-web-ui-dashboard-check"><a href="/docs/tasks/access-application-cluster/web-ui-dashboard/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-access-application-cluster-web-ui-dashboard"><span class="">Deploy and Access the Kubernetes Dashboard</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-access-application-cluster-access-cluster-li"> <input type="checkbox" id="m-docs-tasks-access-application-cluster-access-cluster-check"/> <label for="m-docs-tasks-access-application-cluster-access-cluster-check"><a href="/docs/tasks/access-application-cluster/access-cluster/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-access-application-cluster-access-cluster"><span class="">Accessing Clusters</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-access-application-cluster-configure-access-multiple-clusters-li"> <input type="checkbox" id="m-docs-tasks-access-application-cluster-configure-access-multiple-clusters-check"/> <label for="m-docs-tasks-access-application-cluster-configure-access-multiple-clusters-check"><a href="/docs/tasks/access-application-cluster/configure-access-multiple-clusters/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-access-application-cluster-configure-access-multiple-clusters"><span class="">Configure Access to Multiple Clusters</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-access-application-cluster-port-forward-access-application-cluster-li"> <input type="checkbox" id="m-docs-tasks-access-application-cluster-port-forward-access-application-cluster-check"/> <label for="m-docs-tasks-access-application-cluster-port-forward-access-application-cluster-check"><a href="/docs/tasks/access-application-cluster/port-forward-access-application-cluster/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-access-application-cluster-port-forward-access-application-cluster"><span class="">Use Port Forwarding to Access Applications in a Cluster</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-access-application-cluster-service-access-application-cluster-li"> <input type="checkbox" id="m-docs-tasks-access-application-cluster-service-access-application-cluster-check"/> <label for="m-docs-tasks-access-application-cluster-service-access-application-cluster-check"><a href="/docs/tasks/access-application-cluster/service-access-application-cluster/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-access-application-cluster-service-access-application-cluster"><span class="">Use a Service to Access an Application in a Cluster</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-access-application-cluster-connecting-frontend-backend-li"> <input type="checkbox" id="m-docs-tasks-access-application-cluster-connecting-frontend-backend-check"/> <label for="m-docs-tasks-access-application-cluster-connecting-frontend-backend-check"><a href="/docs/tasks/access-application-cluster/connecting-frontend-backend/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-access-application-cluster-connecting-frontend-backend"><span class="">Connect a Frontend to a Backend Using Services</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-access-application-cluster-create-external-load-balancer-li"> <input type="checkbox" id="m-docs-tasks-access-application-cluster-create-external-load-balancer-check"/> <label for="m-docs-tasks-access-application-cluster-create-external-load-balancer-check"><a href="/docs/tasks/access-application-cluster/create-external-load-balancer/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-access-application-cluster-create-external-load-balancer"><span class="">Create an External Load Balancer</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-access-application-cluster-list-all-running-container-images-li"> <input type="checkbox" id="m-docs-tasks-access-application-cluster-list-all-running-container-images-check"/> <label for="m-docs-tasks-access-application-cluster-list-all-running-container-images-check"><a href="/docs/tasks/access-application-cluster/list-all-running-container-images/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-access-application-cluster-list-all-running-container-images"><span class="">List All Container Images Running in a Cluster</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-access-application-cluster-ingress-minikube-li"> <input type="checkbox" id="m-docs-tasks-access-application-cluster-ingress-minikube-check"/> <label for="m-docs-tasks-access-application-cluster-ingress-minikube-check"><a href="/docs/tasks/access-application-cluster/ingress-minikube/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-access-application-cluster-ingress-minikube"><span class="">Set up Ingress on Minikube with the NGINX Ingress Controller</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-access-application-cluster-communicate-containers-same-pod-shared-volume-li"> <input type="checkbox" id="m-docs-tasks-access-application-cluster-communicate-containers-same-pod-shared-volume-check"/> <label for="m-docs-tasks-access-application-cluster-communicate-containers-same-pod-shared-volume-check"><a href="/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-access-application-cluster-communicate-containers-same-pod-shared-volume"><span class="">Communicate Between Containers in the Same Pod Using a Shared Volume</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-access-application-cluster-configure-dns-cluster-li"> <input type="checkbox" id="m-docs-tasks-access-application-cluster-configure-dns-cluster-check"/> <label for="m-docs-tasks-access-application-cluster-configure-dns-cluster-check"><a href="/docs/tasks/access-application-cluster/configure-dns-cluster/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-access-application-cluster-configure-dns-cluster"><span class="">Configure DNS for a Cluster</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-access-application-cluster-access-cluster-services-li"> <input type="checkbox" id="m-docs-tasks-access-application-cluster-access-cluster-services-check"/> <label for="m-docs-tasks-access-application-cluster-access-cluster-services-check"><a href="/docs/tasks/access-application-cluster/access-cluster-services/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-access-application-cluster-access-cluster-services"><span class="">Access Services Running on Clusters</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-extend-kubernetes-li"> <input type="checkbox" id="m-docs-tasks-extend-kubernetes-check"/> <label for="m-docs-tasks-extend-kubernetes-check"><a href="/docs/tasks/extend-kubernetes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-extend-kubernetes"><span class="">Extend Kubernetes</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-extend-kubernetes-configure-aggregation-layer-li"> <input type="checkbox" id="m-docs-tasks-extend-kubernetes-configure-aggregation-layer-check"/> <label for="m-docs-tasks-extend-kubernetes-configure-aggregation-layer-check"><a href="/docs/tasks/extend-kubernetes/configure-aggregation-layer/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-extend-kubernetes-configure-aggregation-layer"><span class="">Configure the Aggregation Layer</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-extend-kubernetes-custom-resources-li"> <input type="checkbox" id="m-docs-tasks-extend-kubernetes-custom-resources-check"/> <label for="m-docs-tasks-extend-kubernetes-custom-resources-check"><a href="/docs/tasks/extend-kubernetes/custom-resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-extend-kubernetes-custom-resources"><span class="">Use Custom Resources</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-extend-kubernetes-custom-resources-custom-resource-definitions-li"> <input type="checkbox" id="m-docs-tasks-extend-kubernetes-custom-resources-custom-resource-definitions-check"/> <label for="m-docs-tasks-extend-kubernetes-custom-resources-custom-resource-definitions-check"><a href="/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-extend-kubernetes-custom-resources-custom-resource-definitions"><span class="">Extend the Kubernetes API with CustomResourceDefinitions</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-extend-kubernetes-custom-resources-custom-resource-definition-versioning-li"> <input type="checkbox" id="m-docs-tasks-extend-kubernetes-custom-resources-custom-resource-definition-versioning-check"/> <label for="m-docs-tasks-extend-kubernetes-custom-resources-custom-resource-definition-versioning-check"><a href="/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-extend-kubernetes-custom-resources-custom-resource-definition-versioning"><span class="">Versions in CustomResourceDefinitions</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-extend-kubernetes-setup-extension-api-server-li"> <input type="checkbox" id="m-docs-tasks-extend-kubernetes-setup-extension-api-server-check"/> <label for="m-docs-tasks-extend-kubernetes-setup-extension-api-server-check"><a href="/docs/tasks/extend-kubernetes/setup-extension-api-server/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-extend-kubernetes-setup-extension-api-server"><span class="">Set up an Extension API Server</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-extend-kubernetes-configure-multiple-schedulers-li"> <input type="checkbox" id="m-docs-tasks-extend-kubernetes-configure-multiple-schedulers-check"/> <label for="m-docs-tasks-extend-kubernetes-configure-multiple-schedulers-check"><a href="/docs/tasks/extend-kubernetes/configure-multiple-schedulers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-extend-kubernetes-configure-multiple-schedulers"><span class="">Configure Multiple Schedulers</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-extend-kubernetes-http-proxy-access-api-li"> <input type="checkbox" id="m-docs-tasks-extend-kubernetes-http-proxy-access-api-check"/> <label for="m-docs-tasks-extend-kubernetes-http-proxy-access-api-check"><a href="/docs/tasks/extend-kubernetes/http-proxy-access-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-extend-kubernetes-http-proxy-access-api"><span class="">Use an HTTP Proxy to Access the Kubernetes API</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-extend-kubernetes-socks5-proxy-access-api-li"> <input type="checkbox" id="m-docs-tasks-extend-kubernetes-socks5-proxy-access-api-check"/> <label for="m-docs-tasks-extend-kubernetes-socks5-proxy-access-api-check"><a href="/docs/tasks/extend-kubernetes/socks5-proxy-access-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-extend-kubernetes-socks5-proxy-access-api"><span class="">Use a SOCKS5 Proxy to Access the Kubernetes API</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-extend-kubernetes-setup-konnectivity-li"> <input type="checkbox" id="m-docs-tasks-extend-kubernetes-setup-konnectivity-check"/> <label for="m-docs-tasks-extend-kubernetes-setup-konnectivity-check"><a href="/docs/tasks/extend-kubernetes/setup-konnectivity/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-extend-kubernetes-setup-konnectivity"><span class="">Set up Konnectivity service</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-tls-li"> <input type="checkbox" id="m-docs-tasks-tls-check"/> <label for="m-docs-tasks-tls-check"><a href="/docs/tasks/tls/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-tls"><span class="">TLS</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-tls-certificate-rotation-li"> <input type="checkbox" id="m-docs-tasks-tls-certificate-rotation-check"/> <label for="m-docs-tasks-tls-certificate-rotation-check"><a href="/docs/tasks/tls/certificate-rotation/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-tls-certificate-rotation"><span class="">Configure Certificate Rotation for the Kubelet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-tls-managing-tls-in-a-cluster-li"> <input type="checkbox" id="m-docs-tasks-tls-managing-tls-in-a-cluster-check"/> <label for="m-docs-tasks-tls-managing-tls-in-a-cluster-check"><a href="/docs/tasks/tls/managing-tls-in-a-cluster/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-tls-managing-tls-in-a-cluster"><span class="">Manage TLS Certificates in a Cluster</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-tls-manual-rotation-of-ca-certificates-li"> <input type="checkbox" id="m-docs-tasks-tls-manual-rotation-of-ca-certificates-check"/> <label for="m-docs-tasks-tls-manual-rotation-of-ca-certificates-check"><a href="/docs/tasks/tls/manual-rotation-of-ca-certificates/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-tls-manual-rotation-of-ca-certificates"><span class="">Manual Rotation of CA Certificates</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-manage-daemon-li"> <input type="checkbox" id="m-docs-tasks-manage-daemon-check"/> <label for="m-docs-tasks-manage-daemon-check"><a href="/docs/tasks/manage-daemon/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-manage-daemon"><span class="">Manage Cluster Daemons</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-manage-daemon-update-daemon-set-li"> <input type="checkbox" id="m-docs-tasks-manage-daemon-update-daemon-set-check"/> <label for="m-docs-tasks-manage-daemon-update-daemon-set-check"><a href="/docs/tasks/manage-daemon/update-daemon-set/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-manage-daemon-update-daemon-set"><span class="">Perform a Rolling Update on a DaemonSet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-manage-daemon-rollback-daemon-set-li"> <input type="checkbox" id="m-docs-tasks-manage-daemon-rollback-daemon-set-check"/> <label for="m-docs-tasks-manage-daemon-rollback-daemon-set-check"><a href="/docs/tasks/manage-daemon/rollback-daemon-set/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-manage-daemon-rollback-daemon-set"><span class="">Perform a Rollback on a DaemonSet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-manage-daemon-pods-some-nodes-li"> <input type="checkbox" id="m-docs-tasks-manage-daemon-pods-some-nodes-check"/> <label for="m-docs-tasks-manage-daemon-pods-some-nodes-check"><a href="/docs/tasks/manage-daemon/pods-some-nodes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-manage-daemon-pods-some-nodes"><span class="">Running Pods on Only Some Nodes</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tasks-network-li"> <input type="checkbox" id="m-docs-tasks-network-check"/> <label for="m-docs-tasks-network-check"><a href="/docs/tasks/network/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tasks-network"><span class="">Networking</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-network-customize-hosts-file-for-pods-li"> <input type="checkbox" id="m-docs-tasks-network-customize-hosts-file-for-pods-check"/> <label for="m-docs-tasks-network-customize-hosts-file-for-pods-check"><a href="/docs/tasks/network/customize-hosts-file-for-pods/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-network-customize-hosts-file-for-pods"><span class="">Adding entries to Pod /etc/hosts with HostAliases</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-network-validate-dual-stack-li"> <input type="checkbox" id="m-docs-tasks-network-validate-dual-stack-check"/> <label for="m-docs-tasks-network-validate-dual-stack-check"><a href="/docs/tasks/network/validate-dual-stack/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-network-validate-dual-stack"><span class="">Validate IPv4/IPv6 dual-stack</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-extend-kubectl-kubectl-plugins-li"> <input type="checkbox" id="m-docs-tasks-extend-kubectl-kubectl-plugins-check"/> <label for="m-docs-tasks-extend-kubectl-kubectl-plugins-check"><a href="/docs/tasks/extend-kubectl/kubectl-plugins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-extend-kubectl-kubectl-plugins"><span class="">Extend kubectl with plugins</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-manage-hugepages-scheduling-hugepages-li"> <input type="checkbox" id="m-docs-tasks-manage-hugepages-scheduling-hugepages-check"/> <label for="m-docs-tasks-manage-hugepages-scheduling-hugepages-check"><a href="/docs/tasks/manage-hugepages/scheduling-hugepages/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-manage-hugepages-scheduling-hugepages"><span class="">Manage HugePages</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tasks-manage-gpus-scheduling-gpus-li"> <input type="checkbox" id="m-docs-tasks-manage-gpus-scheduling-gpus-check"/> <label for="m-docs-tasks-manage-gpus-scheduling-gpus-check"><a href="/docs/tasks/manage-gpus/scheduling-gpus/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tasks-manage-gpus-scheduling-gpus"><span class="">Schedule GPUs</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tutorials-li"> <input type="checkbox" id="m-docs-tutorials-check"/> <label for="m-docs-tutorials-check"><a href="/docs/tutorials/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tutorials"><span class="">Tutorials</span></a></label> <ul class="ul-2 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-hello-minikube-li"> <input type="checkbox" id="m-docs-tutorials-hello-minikube-check"/> <label for="m-docs-tutorials-hello-minikube-check"><a href="/docs/tutorials/hello-minikube/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-hello-minikube"><span class="">Hello Minikube</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tutorials-kubernetes-basics-li"> <input type="checkbox" id="m-docs-tutorials-kubernetes-basics-check"/> <label for="m-docs-tutorials-kubernetes-basics-check"><a href="/docs/tutorials/kubernetes-basics/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tutorials-kubernetes-basics"><span class="">Learn Kubernetes Basics</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tutorials-kubernetes-basics-create-cluster-li"> <input type="checkbox" id="m-docs-tutorials-kubernetes-basics-create-cluster-check"/> <label for="m-docs-tutorials-kubernetes-basics-create-cluster-check"><a href="/docs/tutorials/kubernetes-basics/create-cluster/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tutorials-kubernetes-basics-create-cluster"><span class="">Create a Cluster</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-kubernetes-basics-create-cluster-cluster-intro-li"> <input type="checkbox" id="m-docs-tutorials-kubernetes-basics-create-cluster-cluster-intro-check"/> <label for="m-docs-tutorials-kubernetes-basics-create-cluster-cluster-intro-check"><a href="/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-kubernetes-basics-create-cluster-cluster-intro"><span class="">Using Minikube to Create a Cluster</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tutorials-kubernetes-basics-deploy-app-li"> <input type="checkbox" id="m-docs-tutorials-kubernetes-basics-deploy-app-check"/> <label for="m-docs-tutorials-kubernetes-basics-deploy-app-check"><a href="/docs/tutorials/kubernetes-basics/deploy-app/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tutorials-kubernetes-basics-deploy-app"><span class="">Deploy an App</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-kubernetes-basics-deploy-app-deploy-intro-li"> <input type="checkbox" id="m-docs-tutorials-kubernetes-basics-deploy-app-deploy-intro-check"/> <label for="m-docs-tutorials-kubernetes-basics-deploy-app-deploy-intro-check"><a href="/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-kubernetes-basics-deploy-app-deploy-intro"><span class="">Using kubectl to Create a Deployment</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tutorials-kubernetes-basics-explore-li"> <input type="checkbox" id="m-docs-tutorials-kubernetes-basics-explore-check"/> <label for="m-docs-tutorials-kubernetes-basics-explore-check"><a href="/docs/tutorials/kubernetes-basics/explore/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tutorials-kubernetes-basics-explore"><span class="">Explore Your App</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-kubernetes-basics-explore-explore-intro-li"> <input type="checkbox" id="m-docs-tutorials-kubernetes-basics-explore-explore-intro-check"/> <label for="m-docs-tutorials-kubernetes-basics-explore-explore-intro-check"><a href="/docs/tutorials/kubernetes-basics/explore/explore-intro/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-kubernetes-basics-explore-explore-intro"><span class="">Viewing Pods and Nodes</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tutorials-kubernetes-basics-expose-li"> <input type="checkbox" id="m-docs-tutorials-kubernetes-basics-expose-check"/> <label for="m-docs-tutorials-kubernetes-basics-expose-check"><a href="/docs/tutorials/kubernetes-basics/expose/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tutorials-kubernetes-basics-expose"><span class="">Expose Your App Publicly</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-kubernetes-basics-expose-expose-intro-li"> <input type="checkbox" id="m-docs-tutorials-kubernetes-basics-expose-expose-intro-check"/> <label for="m-docs-tutorials-kubernetes-basics-expose-expose-intro-check"><a href="/docs/tutorials/kubernetes-basics/expose/expose-intro/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-kubernetes-basics-expose-expose-intro"><span class="">Using a Service to Expose Your App</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tutorials-kubernetes-basics-scale-li"> <input type="checkbox" id="m-docs-tutorials-kubernetes-basics-scale-check"/> <label for="m-docs-tutorials-kubernetes-basics-scale-check"><a href="/docs/tutorials/kubernetes-basics/scale/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tutorials-kubernetes-basics-scale"><span class="">Scale Your App</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-kubernetes-basics-scale-scale-intro-li"> <input type="checkbox" id="m-docs-tutorials-kubernetes-basics-scale-scale-intro-check"/> <label for="m-docs-tutorials-kubernetes-basics-scale-scale-intro-check"><a href="/docs/tutorials/kubernetes-basics/scale/scale-intro/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-kubernetes-basics-scale-scale-intro"><span class="">Running Multiple Instances of Your App</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tutorials-kubernetes-basics-update-li"> <input type="checkbox" id="m-docs-tutorials-kubernetes-basics-update-check"/> <label for="m-docs-tutorials-kubernetes-basics-update-check"><a href="/docs/tutorials/kubernetes-basics/update/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tutorials-kubernetes-basics-update"><span class="">Update Your App</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-kubernetes-basics-update-update-intro-li"> <input type="checkbox" id="m-docs-tutorials-kubernetes-basics-update-update-intro-check"/> <label for="m-docs-tutorials-kubernetes-basics-update-update-intro-check"><a href="/docs/tutorials/kubernetes-basics/update/update-intro/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-kubernetes-basics-update-update-intro"><span class="">Performing a Rolling Update</span></a></label> </li> </ul> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tutorials-configuration-li"> <input type="checkbox" id="m-docs-tutorials-configuration-check"/> <label for="m-docs-tutorials-configuration-check"><a href="/docs/tutorials/configuration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tutorials-configuration"><span class="">Configuration</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tutorials-configuration-configure-java-microservice-li"> <input type="checkbox" id="m-docs-tutorials-configuration-configure-java-microservice-check"/> <label for="m-docs-tutorials-configuration-configure-java-microservice-check"><a href="/docs/tutorials/configuration/configure-java-microservice/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tutorials-configuration-configure-java-microservice"><span class="">Example: Configuring a Java Microservice</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-configuration-configure-java-microservice-configure-java-microservice-li"> <input type="checkbox" id="m-docs-tutorials-configuration-configure-java-microservice-configure-java-microservice-check"/> <label for="m-docs-tutorials-configuration-configure-java-microservice-configure-java-microservice-check"><a href="/docs/tutorials/configuration/configure-java-microservice/configure-java-microservice/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-configuration-configure-java-microservice-configure-java-microservice"><span class="">Externalizing config using MicroProfile, ConfigMaps and Secrets</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-configuration-configure-redis-using-configmap-li"> <input type="checkbox" id="m-docs-tutorials-configuration-configure-redis-using-configmap-check"/> <label for="m-docs-tutorials-configuration-configure-redis-using-configmap-check"><a href="/docs/tutorials/configuration/configure-redis-using-configmap/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-configuration-configure-redis-using-configmap"><span class="">Configuring Redis using a ConfigMap</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tutorials-security-li"> <input type="checkbox" id="m-docs-tutorials-security-check"/> <label for="m-docs-tutorials-security-check"><a href="/docs/tutorials/security/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tutorials-security"><span class="">Security</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-security-cluster-level-pss-li"> <input type="checkbox" id="m-docs-tutorials-security-cluster-level-pss-check"/> <label for="m-docs-tutorials-security-cluster-level-pss-check"><a href="/docs/tutorials/security/cluster-level-pss/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-security-cluster-level-pss"><span class="">Apply Pod Security Standards at the Cluster Level</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-security-ns-level-pss-li"> <input type="checkbox" id="m-docs-tutorials-security-ns-level-pss-check"/> <label for="m-docs-tutorials-security-ns-level-pss-check"><a href="/docs/tutorials/security/ns-level-pss/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-security-ns-level-pss"><span class="">Apply Pod Security Standards at the Namespace Level</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-security-apparmor-li"> <input type="checkbox" id="m-docs-tutorials-security-apparmor-check"/> <label for="m-docs-tutorials-security-apparmor-check"><a href="/docs/tutorials/security/apparmor/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-security-apparmor"><span class="">Restrict a Container&#39;s Access to Resources with AppArmor</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-security-seccomp-li"> <input type="checkbox" id="m-docs-tutorials-security-seccomp-check"/> <label for="m-docs-tutorials-security-seccomp-check"><a href="/docs/tutorials/security/seccomp/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-security-seccomp"><span class="">Restrict a Container&#39;s Syscalls with seccomp</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tutorials-stateless-application-li"> <input type="checkbox" id="m-docs-tutorials-stateless-application-check"/> <label for="m-docs-tutorials-stateless-application-check"><a href="/docs/tutorials/stateless-application/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tutorials-stateless-application"><span class="">Stateless Applications</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-stateless-application-expose-external-ip-address-li"> <input type="checkbox" id="m-docs-tutorials-stateless-application-expose-external-ip-address-check"/> <label for="m-docs-tutorials-stateless-application-expose-external-ip-address-check"><a href="/docs/tutorials/stateless-application/expose-external-ip-address/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-stateless-application-expose-external-ip-address"><span class="">Exposing an External IP Address to Access an Application in a Cluster</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-stateless-application-guestbook-li"> <input type="checkbox" id="m-docs-tutorials-stateless-application-guestbook-check"/> <label for="m-docs-tutorials-stateless-application-guestbook-check"><a href="/docs/tutorials/stateless-application/guestbook/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-stateless-application-guestbook"><span class="">Example: Deploying PHP Guestbook application with Redis</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tutorials-stateful-application-li"> <input type="checkbox" id="m-docs-tutorials-stateful-application-check"/> <label for="m-docs-tutorials-stateful-application-check"><a href="/docs/tutorials/stateful-application/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tutorials-stateful-application"><span class="">Stateful Applications</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-stateful-application-basic-stateful-set-li"> <input type="checkbox" id="m-docs-tutorials-stateful-application-basic-stateful-set-check"/> <label for="m-docs-tutorials-stateful-application-basic-stateful-set-check"><a href="/docs/tutorials/stateful-application/basic-stateful-set/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-stateful-application-basic-stateful-set"><span class="">StatefulSet Basics</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-stateful-application-mysql-wordpress-persistent-volume-li"> <input type="checkbox" id="m-docs-tutorials-stateful-application-mysql-wordpress-persistent-volume-check"/> <label for="m-docs-tutorials-stateful-application-mysql-wordpress-persistent-volume-check"><a href="/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-stateful-application-mysql-wordpress-persistent-volume"><span class="">Example: Deploying WordPress and MySQL with Persistent Volumes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-stateful-application-cassandra-li"> <input type="checkbox" id="m-docs-tutorials-stateful-application-cassandra-check"/> <label for="m-docs-tutorials-stateful-application-cassandra-check"><a href="/docs/tutorials/stateful-application/cassandra/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-stateful-application-cassandra"><span class="">Example: Deploying Cassandra with a StatefulSet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-stateful-application-zookeeper-li"> <input type="checkbox" id="m-docs-tutorials-stateful-application-zookeeper-check"/> <label for="m-docs-tutorials-stateful-application-zookeeper-check"><a href="/docs/tutorials/stateful-application/zookeeper/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-stateful-application-zookeeper"><span class="">Running ZooKeeper, A Distributed System Coordinator</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-tutorials-services-li"> <input type="checkbox" id="m-docs-tutorials-services-check"/> <label for="m-docs-tutorials-services-check"><a href="/docs/tutorials/services/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-tutorials-services"><span class="">Services</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-services-connect-applications-service-li"> <input type="checkbox" id="m-docs-tutorials-services-connect-applications-service-check"/> <label for="m-docs-tutorials-services-connect-applications-service-check"><a href="/docs/tutorials/services/connect-applications-service/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-services-connect-applications-service"><span class="">Connecting Applications with Services</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-services-source-ip-li"> <input type="checkbox" id="m-docs-tutorials-services-source-ip-check"/> <label for="m-docs-tutorials-services-source-ip-check"><a href="/docs/tutorials/services/source-ip/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-services-source-ip"><span class="">Using Source IP</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-tutorials-services-pods-and-endpoint-termination-flow-li"> <input type="checkbox" id="m-docs-tutorials-services-pods-and-endpoint-termination-flow-check"/> <label for="m-docs-tutorials-services-pods-and-endpoint-termination-flow-check"><a href="/docs/tutorials/services/pods-and-endpoint-termination-flow/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-tutorials-services-pods-and-endpoint-termination-flow"><span class="">Explore Termination Behavior for Pods And Their Endpoints</span></a></label> </li> </ul> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-li"> <input type="checkbox" id="m-docs-reference-check"/> <label for="m-docs-reference-check"><a href="/docs/reference/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference"><span class="">Reference</span></a></label> <ul class="ul-2 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-glossary-li"> <input type="checkbox" id="m-docs-reference-glossary-check"/> <label for="m-docs-reference-glossary-check"><a href="/docs/reference/glossary/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-glossary"><span class="">Glossary</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-using-api-li"> <input type="checkbox" id="m-docs-reference-using-api-check"/> <label for="m-docs-reference-using-api-check"><a href="/docs/reference/using-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-using-api"><span class="">API Overview</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-using-api-api-concepts-li"> <input type="checkbox" id="m-docs-reference-using-api-api-concepts-check"/> <label for="m-docs-reference-using-api-api-concepts-check"><a href="/docs/reference/using-api/api-concepts/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-using-api-api-concepts"><span class="">Kubernetes API Concepts</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-using-api-server-side-apply-li"> <input type="checkbox" id="m-docs-reference-using-api-server-side-apply-check"/> <label for="m-docs-reference-using-api-server-side-apply-check"><a href="/docs/reference/using-api/server-side-apply/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-using-api-server-side-apply"><span class="">Server-Side Apply</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-using-api-client-libraries-li"> <input type="checkbox" id="m-docs-reference-using-api-client-libraries-check"/> <label for="m-docs-reference-using-api-client-libraries-check"><a href="/docs/reference/using-api/client-libraries/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-using-api-client-libraries"><span class="">Client Libraries</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-using-api-cel-li"> <input type="checkbox" id="m-docs-reference-using-api-cel-check"/> <label for="m-docs-reference-using-api-cel-check"><a href="/docs/reference/using-api/cel/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-using-api-cel"><span class="">Common Expression Language in Kubernetes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-using-api-deprecation-policy-li"> <input type="checkbox" id="m-docs-reference-using-api-deprecation-policy-check"/> <label for="m-docs-reference-using-api-deprecation-policy-check"><a href="/docs/reference/using-api/deprecation-policy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-using-api-deprecation-policy"><span class="">Kubernetes Deprecation Policy</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-using-api-deprecation-guide-li"> <input type="checkbox" id="m-docs-reference-using-api-deprecation-guide-check"/> <label for="m-docs-reference-using-api-deprecation-guide-check"><a href="/docs/reference/using-api/deprecation-guide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-using-api-deprecation-guide"><span class="">Deprecated API Migration Guide</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-using-api-health-checks-li"> <input type="checkbox" id="m-docs-reference-using-api-health-checks-check"/> <label for="m-docs-reference-using-api-health-checks-check"><a href="/docs/reference/using-api/health-checks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-using-api-health-checks"><span class="">Kubernetes API health endpoints</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-access-authn-authz-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-check"/> <label for="m-docs-reference-access-authn-authz-check"><a href="/docs/reference/access-authn-authz/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-access-authn-authz"><span class="">API Access Control</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-authentication-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-authentication-check"/> <label for="m-docs-reference-access-authn-authz-authentication-check"><a href="/docs/reference/access-authn-authz/authentication/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-authentication"><span class="">Authenticating</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-bootstrap-tokens-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-bootstrap-tokens-check"/> <label for="m-docs-reference-access-authn-authz-bootstrap-tokens-check"><a href="/docs/reference/access-authn-authz/bootstrap-tokens/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-bootstrap-tokens"><span class="">Authenticating with Bootstrap Tokens</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-certificate-signing-requests-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-certificate-signing-requests-check"/> <label for="m-docs-reference-access-authn-authz-certificate-signing-requests-check"><a href="/docs/reference/access-authn-authz/certificate-signing-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-certificate-signing-requests"><span class="">Certificates and Certificate Signing Requests</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-admission-controllers-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-admission-controllers-check"/> <label for="m-docs-reference-access-authn-authz-admission-controllers-check"><a href="/docs/reference/access-authn-authz/admission-controllers/" title="Admission Controllers Reference" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-admission-controllers"><span class="">Admission Controllers</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-extensible-admission-controllers-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-extensible-admission-controllers-check"/> <label for="m-docs-reference-access-authn-authz-extensible-admission-controllers-check"><a href="/docs/reference/access-authn-authz/extensible-admission-controllers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-extensible-admission-controllers"><span class="">Dynamic Admission Control</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-service-accounts-admin-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-service-accounts-admin-check"/> <label for="m-docs-reference-access-authn-authz-service-accounts-admin-check"><a href="/docs/reference/access-authn-authz/service-accounts-admin/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-service-accounts-admin"><span class="">Managing Service Accounts</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-authorization-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-authorization-check"/> <label for="m-docs-reference-access-authn-authz-authorization-check"><a href="/docs/reference/access-authn-authz/authorization/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-authorization"><span class="">Authorization Overview</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-rbac-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-rbac-check"/> <label for="m-docs-reference-access-authn-authz-rbac-check"><a href="/docs/reference/access-authn-authz/rbac/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-rbac"><span class="">Using RBAC Authorization</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-abac-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-abac-check"/> <label for="m-docs-reference-access-authn-authz-abac-check"><a href="/docs/reference/access-authn-authz/abac/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-abac"><span class="">Using ABAC Authorization</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-node-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-node-check"/> <label for="m-docs-reference-access-authn-authz-node-check"><a href="/docs/reference/access-authn-authz/node/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-node"><span class="">Using Node Authorization</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-psp-to-pod-security-standards-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-psp-to-pod-security-standards-check"/> <label for="m-docs-reference-access-authn-authz-psp-to-pod-security-standards-check"><a href="/docs/reference/access-authn-authz/psp-to-pod-security-standards/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-psp-to-pod-security-standards"><span class="">Mapping PodSecurityPolicies to Pod Security Standards</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-webhook-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-webhook-check"/> <label for="m-docs-reference-access-authn-authz-webhook-check"><a href="/docs/reference/access-authn-authz/webhook/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-webhook"><span class="">Webhook Mode</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-kubelet-authn-authz-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-kubelet-authn-authz-check"/> <label for="m-docs-reference-access-authn-authz-kubelet-authn-authz-check"><a href="/docs/reference/access-authn-authz/kubelet-authn-authz/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-kubelet-authn-authz"><span class="">Kubelet authentication/authorization</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-kubelet-tls-bootstrapping-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-kubelet-tls-bootstrapping-check"/> <label for="m-docs-reference-access-authn-authz-kubelet-tls-bootstrapping-check"><a href="/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-kubelet-tls-bootstrapping"><span class="">TLS bootstrapping</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-access-authn-authz-validating-admission-policy-li"> <input type="checkbox" id="m-docs-reference-access-authn-authz-validating-admission-policy-check"/> <label for="m-docs-reference-access-authn-authz-validating-admission-policy-check"><a href="/docs/reference/access-authn-authz/validating-admission-policy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-access-authn-authz-validating-admission-policy"><span class="">Validating Admission Policy</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-labels-annotations-taints-li"> <input type="checkbox" id="m-docs-reference-labels-annotations-taints-check"/> <label for="m-docs-reference-labels-annotations-taints-check"><a href="/docs/reference/labels-annotations-taints/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-labels-annotations-taints"><span class="">Well-Known Labels, Annotations and Taints</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-labels-annotations-taints-audit-annotations-li"> <input type="checkbox" id="m-docs-reference-labels-annotations-taints-audit-annotations-check"/> <label for="m-docs-reference-labels-annotations-taints-audit-annotations-check"><a href="/docs/reference/labels-annotations-taints/audit-annotations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-labels-annotations-taints-audit-annotations"><span class="">Audit Annotations</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-kubernetes-api-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-check"/> <label for="m-docs-reference-kubernetes-api-check"><a href="/docs/reference/kubernetes-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-kubernetes-api"><span class="">Kubernetes API</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-kubernetes-api-workload-resources-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-check"><a href="/docs/reference/kubernetes-api/workload-resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-kubernetes-api-workload-resources"><span class="">Workload Resources</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-pod-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-pod-v1-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-pod-v1-check"><a href="/docs/reference/kubernetes-api/workload-resources/pod-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-pod-v1"><span class="">Pod</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-pod-template-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-pod-template-v1-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-pod-template-v1-check"><a href="/docs/reference/kubernetes-api/workload-resources/pod-template-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-pod-template-v1"><span class="">PodTemplate</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-replication-controller-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-replication-controller-v1-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-replication-controller-v1-check"><a href="/docs/reference/kubernetes-api/workload-resources/replication-controller-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-replication-controller-v1"><span class="">ReplicationController</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-replica-set-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-replica-set-v1-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-replica-set-v1-check"><a href="/docs/reference/kubernetes-api/workload-resources/replica-set-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-replica-set-v1"><span class="">ReplicaSet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-deployment-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-deployment-v1-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-deployment-v1-check"><a href="/docs/reference/kubernetes-api/workload-resources/deployment-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-deployment-v1"><span class="">Deployment</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-stateful-set-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-stateful-set-v1-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-stateful-set-v1-check"><a href="/docs/reference/kubernetes-api/workload-resources/stateful-set-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-stateful-set-v1"><span class="">StatefulSet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-controller-revision-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-controller-revision-v1-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-controller-revision-v1-check"><a href="/docs/reference/kubernetes-api/workload-resources/controller-revision-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-controller-revision-v1"><span class="">ControllerRevision</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-daemon-set-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-daemon-set-v1-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-daemon-set-v1-check"><a href="/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-daemon-set-v1"><span class="">DaemonSet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-job-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-job-v1-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-job-v1-check"><a href="/docs/reference/kubernetes-api/workload-resources/job-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-job-v1"><span class="">Job</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-cron-job-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-cron-job-v1-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-cron-job-v1-check"><a href="/docs/reference/kubernetes-api/workload-resources/cron-job-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-cron-job-v1"><span class="">CronJob</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-horizontal-pod-autoscaler-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-horizontal-pod-autoscaler-v1-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-horizontal-pod-autoscaler-v1-check"><a href="/docs/reference/kubernetes-api/workload-resources/horizontal-pod-autoscaler-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-horizontal-pod-autoscaler-v1"><span class="">HorizontalPodAutoscaler</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-horizontal-pod-autoscaler-v2-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-horizontal-pod-autoscaler-v2-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-horizontal-pod-autoscaler-v2-check"><a href="/docs/reference/kubernetes-api/workload-resources/horizontal-pod-autoscaler-v2/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-horizontal-pod-autoscaler-v2"><span class="">HorizontalPodAutoscaler</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-priority-class-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-priority-class-v1-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-priority-class-v1-check"><a href="/docs/reference/kubernetes-api/workload-resources/priority-class-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-priority-class-v1"><span class="">PriorityClass</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-pod-scheduling-context-v1alpha2-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-pod-scheduling-context-v1alpha2-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-pod-scheduling-context-v1alpha2-check"><a href="/docs/reference/kubernetes-api/workload-resources/pod-scheduling-context-v1alpha2/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-pod-scheduling-context-v1alpha2"><span class="">PodSchedulingContext v1alpha2</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-resource-claim-v1alpha2-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-resource-claim-v1alpha2-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-resource-claim-v1alpha2-check"><a href="/docs/reference/kubernetes-api/workload-resources/resource-claim-v1alpha2/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-resource-claim-v1alpha2"><span class="">ResourceClaim v1alpha2</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-resource-claim-template-v1alpha2-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-resource-claim-template-v1alpha2-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-resource-claim-template-v1alpha2-check"><a href="/docs/reference/kubernetes-api/workload-resources/resource-claim-template-v1alpha2/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-resource-claim-template-v1alpha2"><span class="">ResourceClaimTemplate v1alpha2</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-workload-resources-resource-class-v1alpha2-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-workload-resources-resource-class-v1alpha2-check"/> <label for="m-docs-reference-kubernetes-api-workload-resources-resource-class-v1alpha2-check"><a href="/docs/reference/kubernetes-api/workload-resources/resource-class-v1alpha2/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-workload-resources-resource-class-v1alpha2"><span class="">ResourceClass v1alpha2</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-kubernetes-api-service-resources-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-service-resources-check"/> <label for="m-docs-reference-kubernetes-api-service-resources-check"><a href="/docs/reference/kubernetes-api/service-resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-kubernetes-api-service-resources"><span class="">Service Resources</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-service-resources-service-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-service-resources-service-v1-check"/> <label for="m-docs-reference-kubernetes-api-service-resources-service-v1-check"><a href="/docs/reference/kubernetes-api/service-resources/service-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-service-resources-service-v1"><span class="">Service</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-service-resources-endpoints-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-service-resources-endpoints-v1-check"/> <label for="m-docs-reference-kubernetes-api-service-resources-endpoints-v1-check"><a href="/docs/reference/kubernetes-api/service-resources/endpoints-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-service-resources-endpoints-v1"><span class="">Endpoints</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-service-resources-endpoint-slice-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-service-resources-endpoint-slice-v1-check"/> <label for="m-docs-reference-kubernetes-api-service-resources-endpoint-slice-v1-check"><a href="/docs/reference/kubernetes-api/service-resources/endpoint-slice-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-service-resources-endpoint-slice-v1"><span class="">EndpointSlice</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-service-resources-ingress-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-service-resources-ingress-v1-check"/> <label for="m-docs-reference-kubernetes-api-service-resources-ingress-v1-check"><a href="/docs/reference/kubernetes-api/service-resources/ingress-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-service-resources-ingress-v1"><span class="">Ingress</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-service-resources-ingress-class-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-service-resources-ingress-class-v1-check"/> <label for="m-docs-reference-kubernetes-api-service-resources-ingress-class-v1-check"><a href="/docs/reference/kubernetes-api/service-resources/ingress-class-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-service-resources-ingress-class-v1"><span class="">IngressClass</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-kubernetes-api-config-and-storage-resources-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-config-and-storage-resources-check"/> <label for="m-docs-reference-kubernetes-api-config-and-storage-resources-check"><a href="/docs/reference/kubernetes-api/config-and-storage-resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-kubernetes-api-config-and-storage-resources"><span class="">Config and Storage Resources</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-config-and-storage-resources-config-map-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-config-and-storage-resources-config-map-v1-check"/> <label for="m-docs-reference-kubernetes-api-config-and-storage-resources-config-map-v1-check"><a href="/docs/reference/kubernetes-api/config-and-storage-resources/config-map-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-config-and-storage-resources-config-map-v1"><span class="">ConfigMap</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-config-and-storage-resources-secret-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-config-and-storage-resources-secret-v1-check"/> <label for="m-docs-reference-kubernetes-api-config-and-storage-resources-secret-v1-check"><a href="/docs/reference/kubernetes-api/config-and-storage-resources/secret-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-config-and-storage-resources-secret-v1"><span class="">Secret</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-config-and-storage-resources-volume-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-config-and-storage-resources-volume-check"/> <label for="m-docs-reference-kubernetes-api-config-and-storage-resources-volume-check"><a href="/docs/reference/kubernetes-api/config-and-storage-resources/volume/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-config-and-storage-resources-volume"><span class="">Volume</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-config-and-storage-resources-persistent-volume-claim-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-config-and-storage-resources-persistent-volume-claim-v1-check"/> <label for="m-docs-reference-kubernetes-api-config-and-storage-resources-persistent-volume-claim-v1-check"><a href="/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-config-and-storage-resources-persistent-volume-claim-v1"><span class="">PersistentVolumeClaim</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-config-and-storage-resources-persistent-volume-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-config-and-storage-resources-persistent-volume-v1-check"/> <label for="m-docs-reference-kubernetes-api-config-and-storage-resources-persistent-volume-v1-check"><a href="/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-config-and-storage-resources-persistent-volume-v1"><span class="">PersistentVolume</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-config-and-storage-resources-storage-class-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-config-and-storage-resources-storage-class-v1-check"/> <label for="m-docs-reference-kubernetes-api-config-and-storage-resources-storage-class-v1-check"><a href="/docs/reference/kubernetes-api/config-and-storage-resources/storage-class-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-config-and-storage-resources-storage-class-v1"><span class="">StorageClass</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-config-and-storage-resources-volume-attachment-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-config-and-storage-resources-volume-attachment-v1-check"/> <label for="m-docs-reference-kubernetes-api-config-and-storage-resources-volume-attachment-v1-check"><a href="/docs/reference/kubernetes-api/config-and-storage-resources/volume-attachment-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-config-and-storage-resources-volume-attachment-v1"><span class="">VolumeAttachment</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-config-and-storage-resources-csi-driver-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-config-and-storage-resources-csi-driver-v1-check"/> <label for="m-docs-reference-kubernetes-api-config-and-storage-resources-csi-driver-v1-check"><a href="/docs/reference/kubernetes-api/config-and-storage-resources/csi-driver-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-config-and-storage-resources-csi-driver-v1"><span class="">CSIDriver</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-config-and-storage-resources-csi-node-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-config-and-storage-resources-csi-node-v1-check"/> <label for="m-docs-reference-kubernetes-api-config-and-storage-resources-csi-node-v1-check"><a href="/docs/reference/kubernetes-api/config-and-storage-resources/csi-node-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-config-and-storage-resources-csi-node-v1"><span class="">CSINode</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-config-and-storage-resources-csi-storage-capacity-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-config-and-storage-resources-csi-storage-capacity-v1-check"/> <label for="m-docs-reference-kubernetes-api-config-and-storage-resources-csi-storage-capacity-v1-check"><a href="/docs/reference/kubernetes-api/config-and-storage-resources/csi-storage-capacity-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-config-and-storage-resources-csi-storage-capacity-v1"><span class="">CSIStorageCapacity</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-kubernetes-api-authentication-resources-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authentication-resources-check"/> <label for="m-docs-reference-kubernetes-api-authentication-resources-check"><a href="/docs/reference/kubernetes-api/authentication-resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-kubernetes-api-authentication-resources"><span class="">Authentication Resources</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-authentication-resources-service-account-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authentication-resources-service-account-v1-check"/> <label for="m-docs-reference-kubernetes-api-authentication-resources-service-account-v1-check"><a href="/docs/reference/kubernetes-api/authentication-resources/service-account-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-authentication-resources-service-account-v1"><span class="">ServiceAccount</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-authentication-resources-token-request-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authentication-resources-token-request-v1-check"/> <label for="m-docs-reference-kubernetes-api-authentication-resources-token-request-v1-check"><a href="/docs/reference/kubernetes-api/authentication-resources/token-request-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-authentication-resources-token-request-v1"><span class="">TokenRequest</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-authentication-resources-token-review-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authentication-resources-token-review-v1-check"/> <label for="m-docs-reference-kubernetes-api-authentication-resources-token-review-v1-check"><a href="/docs/reference/kubernetes-api/authentication-resources/token-review-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-authentication-resources-token-review-v1"><span class="">TokenReview</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-authentication-resources-certificate-signing-request-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authentication-resources-certificate-signing-request-v1-check"/> <label for="m-docs-reference-kubernetes-api-authentication-resources-certificate-signing-request-v1-check"><a href="/docs/reference/kubernetes-api/authentication-resources/certificate-signing-request-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-authentication-resources-certificate-signing-request-v1"><span class="">CertificateSigningRequest</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-authentication-resources-cluster-trust-bundle-v1alpha1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authentication-resources-cluster-trust-bundle-v1alpha1-check"/> <label for="m-docs-reference-kubernetes-api-authentication-resources-cluster-trust-bundle-v1alpha1-check"><a href="/docs/reference/kubernetes-api/authentication-resources/cluster-trust-bundle-v1alpha1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-authentication-resources-cluster-trust-bundle-v1alpha1"><span class="">ClusterTrustBundle v1alpha1</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-authentication-resources-self-subject-review-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authentication-resources-self-subject-review-v1-check"/> <label for="m-docs-reference-kubernetes-api-authentication-resources-self-subject-review-v1-check"><a href="/docs/reference/kubernetes-api/authentication-resources/self-subject-review-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-authentication-resources-self-subject-review-v1"><span class="">SelfSubjectReview</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-kubernetes-api-authorization-resources-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authorization-resources-check"/> <label for="m-docs-reference-kubernetes-api-authorization-resources-check"><a href="/docs/reference/kubernetes-api/authorization-resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-kubernetes-api-authorization-resources"><span class="">Authorization Resources</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-authorization-resources-local-subject-access-review-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authorization-resources-local-subject-access-review-v1-check"/> <label for="m-docs-reference-kubernetes-api-authorization-resources-local-subject-access-review-v1-check"><a href="/docs/reference/kubernetes-api/authorization-resources/local-subject-access-review-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-authorization-resources-local-subject-access-review-v1"><span class="">LocalSubjectAccessReview</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-authorization-resources-self-subject-access-review-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authorization-resources-self-subject-access-review-v1-check"/> <label for="m-docs-reference-kubernetes-api-authorization-resources-self-subject-access-review-v1-check"><a href="/docs/reference/kubernetes-api/authorization-resources/self-subject-access-review-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-authorization-resources-self-subject-access-review-v1"><span class="">SelfSubjectAccessReview</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-authorization-resources-self-subject-rules-review-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authorization-resources-self-subject-rules-review-v1-check"/> <label for="m-docs-reference-kubernetes-api-authorization-resources-self-subject-rules-review-v1-check"><a href="/docs/reference/kubernetes-api/authorization-resources/self-subject-rules-review-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-authorization-resources-self-subject-rules-review-v1"><span class="">SelfSubjectRulesReview</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-authorization-resources-subject-access-review-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authorization-resources-subject-access-review-v1-check"/> <label for="m-docs-reference-kubernetes-api-authorization-resources-subject-access-review-v1-check"><a href="/docs/reference/kubernetes-api/authorization-resources/subject-access-review-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-authorization-resources-subject-access-review-v1"><span class="">SubjectAccessReview</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-authorization-resources-cluster-role-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authorization-resources-cluster-role-v1-check"/> <label for="m-docs-reference-kubernetes-api-authorization-resources-cluster-role-v1-check"><a href="/docs/reference/kubernetes-api/authorization-resources/cluster-role-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-authorization-resources-cluster-role-v1"><span class="">ClusterRole</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-authorization-resources-cluster-role-binding-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authorization-resources-cluster-role-binding-v1-check"/> <label for="m-docs-reference-kubernetes-api-authorization-resources-cluster-role-binding-v1-check"><a href="/docs/reference/kubernetes-api/authorization-resources/cluster-role-binding-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-authorization-resources-cluster-role-binding-v1"><span class="">ClusterRoleBinding</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-authorization-resources-role-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authorization-resources-role-v1-check"/> <label for="m-docs-reference-kubernetes-api-authorization-resources-role-v1-check"><a href="/docs/reference/kubernetes-api/authorization-resources/role-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-authorization-resources-role-v1"><span class="">Role</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-authorization-resources-role-binding-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-authorization-resources-role-binding-v1-check"/> <label for="m-docs-reference-kubernetes-api-authorization-resources-role-binding-v1-check"><a href="/docs/reference/kubernetes-api/authorization-resources/role-binding-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-authorization-resources-role-binding-v1"><span class="">RoleBinding</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-kubernetes-api-policy-resources-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-policy-resources-check"/> <label for="m-docs-reference-kubernetes-api-policy-resources-check"><a href="/docs/reference/kubernetes-api/policy-resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-kubernetes-api-policy-resources"><span class="">Policy Resources</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-policy-resources-limit-range-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-policy-resources-limit-range-v1-check"/> <label for="m-docs-reference-kubernetes-api-policy-resources-limit-range-v1-check"><a href="/docs/reference/kubernetes-api/policy-resources/limit-range-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-policy-resources-limit-range-v1"><span class="">LimitRange</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-policy-resources-resource-quota-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-policy-resources-resource-quota-v1-check"/> <label for="m-docs-reference-kubernetes-api-policy-resources-resource-quota-v1-check"><a href="/docs/reference/kubernetes-api/policy-resources/resource-quota-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-policy-resources-resource-quota-v1"><span class="">ResourceQuota</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-policy-resources-network-policy-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-policy-resources-network-policy-v1-check"/> <label for="m-docs-reference-kubernetes-api-policy-resources-network-policy-v1-check"><a href="/docs/reference/kubernetes-api/policy-resources/network-policy-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-policy-resources-network-policy-v1"><span class="">NetworkPolicy</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-policy-resources-pod-disruption-budget-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-policy-resources-pod-disruption-budget-v1-check"/> <label for="m-docs-reference-kubernetes-api-policy-resources-pod-disruption-budget-v1-check"><a href="/docs/reference/kubernetes-api/policy-resources/pod-disruption-budget-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-policy-resources-pod-disruption-budget-v1"><span class="">PodDisruptionBudget</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-policy-resources-ip-address-v1alpha1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-policy-resources-ip-address-v1alpha1-check"/> <label for="m-docs-reference-kubernetes-api-policy-resources-ip-address-v1alpha1-check"><a href="/docs/reference/kubernetes-api/policy-resources/ip-address-v1alpha1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-policy-resources-ip-address-v1alpha1"><span class="">IPAddress v1alpha1</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-kubernetes-api-extend-resources-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-extend-resources-check"/> <label for="m-docs-reference-kubernetes-api-extend-resources-check"><a href="/docs/reference/kubernetes-api/extend-resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-kubernetes-api-extend-resources"><span class="">Extend Resources</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-extend-resources-custom-resource-definition-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-extend-resources-custom-resource-definition-v1-check"/> <label for="m-docs-reference-kubernetes-api-extend-resources-custom-resource-definition-v1-check"><a href="/docs/reference/kubernetes-api/extend-resources/custom-resource-definition-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-extend-resources-custom-resource-definition-v1"><span class="">CustomResourceDefinition</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-extend-resources-mutating-webhook-configuration-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-extend-resources-mutating-webhook-configuration-v1-check"/> <label for="m-docs-reference-kubernetes-api-extend-resources-mutating-webhook-configuration-v1-check"><a href="/docs/reference/kubernetes-api/extend-resources/mutating-webhook-configuration-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-extend-resources-mutating-webhook-configuration-v1"><span class="">MutatingWebhookConfiguration</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-extend-resources-validating-webhook-configuration-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-extend-resources-validating-webhook-configuration-v1-check"/> <label for="m-docs-reference-kubernetes-api-extend-resources-validating-webhook-configuration-v1-check"><a href="/docs/reference/kubernetes-api/extend-resources/validating-webhook-configuration-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-extend-resources-validating-webhook-configuration-v1"><span class="">ValidatingWebhookConfiguration</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-extend-resources-validating-admission-policy-v1beta1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-extend-resources-validating-admission-policy-v1beta1-check"/> <label for="m-docs-reference-kubernetes-api-extend-resources-validating-admission-policy-v1beta1-check"><a href="/docs/reference/kubernetes-api/extend-resources/validating-admission-policy-v1beta1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-extend-resources-validating-admission-policy-v1beta1"><span class="">ValidatingAdmissionPolicy v1beta1</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-kubernetes-api-cluster-resources-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-cluster-resources-check"/> <label for="m-docs-reference-kubernetes-api-cluster-resources-check"><a href="/docs/reference/kubernetes-api/cluster-resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-kubernetes-api-cluster-resources"><span class="">Cluster Resources</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-cluster-resources-node-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-cluster-resources-node-v1-check"/> <label for="m-docs-reference-kubernetes-api-cluster-resources-node-v1-check"><a href="/docs/reference/kubernetes-api/cluster-resources/node-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-cluster-resources-node-v1"><span class="">Node</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-cluster-resources-namespace-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-cluster-resources-namespace-v1-check"/> <label for="m-docs-reference-kubernetes-api-cluster-resources-namespace-v1-check"><a href="/docs/reference/kubernetes-api/cluster-resources/namespace-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-cluster-resources-namespace-v1"><span class="">Namespace</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-cluster-resources-event-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-cluster-resources-event-v1-check"/> <label for="m-docs-reference-kubernetes-api-cluster-resources-event-v1-check"><a href="/docs/reference/kubernetes-api/cluster-resources/event-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-cluster-resources-event-v1"><span class="">Event</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-cluster-resources-api-service-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-cluster-resources-api-service-v1-check"/> <label for="m-docs-reference-kubernetes-api-cluster-resources-api-service-v1-check"><a href="/docs/reference/kubernetes-api/cluster-resources/api-service-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-cluster-resources-api-service-v1"><span class="">APIService</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-cluster-resources-lease-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-cluster-resources-lease-v1-check"/> <label for="m-docs-reference-kubernetes-api-cluster-resources-lease-v1-check"><a href="/docs/reference/kubernetes-api/cluster-resources/lease-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-cluster-resources-lease-v1"><span class="">Lease</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-cluster-resources-runtime-class-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-cluster-resources-runtime-class-v1-check"/> <label for="m-docs-reference-kubernetes-api-cluster-resources-runtime-class-v1-check"><a href="/docs/reference/kubernetes-api/cluster-resources/runtime-class-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-cluster-resources-runtime-class-v1"><span class="">RuntimeClass</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-cluster-resources-flow-schema-v1beta3-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-cluster-resources-flow-schema-v1beta3-check"/> <label for="m-docs-reference-kubernetes-api-cluster-resources-flow-schema-v1beta3-check"><a href="/docs/reference/kubernetes-api/cluster-resources/flow-schema-v1beta3/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-cluster-resources-flow-schema-v1beta3"><span class="">FlowSchema v1beta3</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-cluster-resources-priority-level-configuration-v1beta3-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-cluster-resources-priority-level-configuration-v1beta3-check"/> <label for="m-docs-reference-kubernetes-api-cluster-resources-priority-level-configuration-v1beta3-check"><a href="/docs/reference/kubernetes-api/cluster-resources/priority-level-configuration-v1beta3/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-cluster-resources-priority-level-configuration-v1beta3"><span class="">PriorityLevelConfiguration v1beta3</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-cluster-resources-binding-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-cluster-resources-binding-v1-check"/> <label for="m-docs-reference-kubernetes-api-cluster-resources-binding-v1-check"><a href="/docs/reference/kubernetes-api/cluster-resources/binding-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-cluster-resources-binding-v1"><span class="">Binding</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-cluster-resources-component-status-v1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-cluster-resources-component-status-v1-check"/> <label for="m-docs-reference-kubernetes-api-cluster-resources-component-status-v1-check"><a href="/docs/reference/kubernetes-api/cluster-resources/component-status-v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-cluster-resources-component-status-v1"><span class="">ComponentStatus</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-cluster-resources-cluster-cidr-v1alpha1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-cluster-resources-cluster-cidr-v1alpha1-check"/> <label for="m-docs-reference-kubernetes-api-cluster-resources-cluster-cidr-v1alpha1-check"><a href="/docs/reference/kubernetes-api/cluster-resources/cluster-cidr-v1alpha1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-cluster-resources-cluster-cidr-v1alpha1"><span class="">ClusterCIDR v1alpha1</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-kubernetes-api-common-definitions-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-definitions-check"/> <label for="m-docs-reference-kubernetes-api-common-definitions-check"><a href="/docs/reference/kubernetes-api/common-definitions/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-kubernetes-api-common-definitions"><span class="">Common Definitions</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-common-definitions-delete-options-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-definitions-delete-options-check"/> <label for="m-docs-reference-kubernetes-api-common-definitions-delete-options-check"><a href="/docs/reference/kubernetes-api/common-definitions/delete-options/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-common-definitions-delete-options"><span class="">DeleteOptions</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-common-definitions-label-selector-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-definitions-label-selector-check"/> <label for="m-docs-reference-kubernetes-api-common-definitions-label-selector-check"><a href="/docs/reference/kubernetes-api/common-definitions/label-selector/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-common-definitions-label-selector"><span class="">LabelSelector</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-common-definitions-list-meta-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-definitions-list-meta-check"/> <label for="m-docs-reference-kubernetes-api-common-definitions-list-meta-check"><a href="/docs/reference/kubernetes-api/common-definitions/list-meta/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-common-definitions-list-meta"><span class="">ListMeta</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-common-definitions-local-object-reference-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-definitions-local-object-reference-check"/> <label for="m-docs-reference-kubernetes-api-common-definitions-local-object-reference-check"><a href="/docs/reference/kubernetes-api/common-definitions/local-object-reference/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-common-definitions-local-object-reference"><span class="">LocalObjectReference</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-common-definitions-node-selector-requirement-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-definitions-node-selector-requirement-check"/> <label for="m-docs-reference-kubernetes-api-common-definitions-node-selector-requirement-check"><a href="/docs/reference/kubernetes-api/common-definitions/node-selector-requirement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-common-definitions-node-selector-requirement"><span class="">NodeSelectorRequirement</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-common-definitions-object-field-selector-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-definitions-object-field-selector-check"/> <label for="m-docs-reference-kubernetes-api-common-definitions-object-field-selector-check"><a href="/docs/reference/kubernetes-api/common-definitions/object-field-selector/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-common-definitions-object-field-selector"><span class="">ObjectFieldSelector</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-common-definitions-object-meta-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-definitions-object-meta-check"/> <label for="m-docs-reference-kubernetes-api-common-definitions-object-meta-check"><a href="/docs/reference/kubernetes-api/common-definitions/object-meta/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-common-definitions-object-meta"><span class="">ObjectMeta</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-common-definitions-object-reference-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-definitions-object-reference-check"/> <label for="m-docs-reference-kubernetes-api-common-definitions-object-reference-check"><a href="/docs/reference/kubernetes-api/common-definitions/object-reference/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-common-definitions-object-reference"><span class="">ObjectReference</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-common-definitions-patch-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-definitions-patch-check"/> <label for="m-docs-reference-kubernetes-api-common-definitions-patch-check"><a href="/docs/reference/kubernetes-api/common-definitions/patch/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-common-definitions-patch"><span class="">Patch</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-common-definitions-quantity-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-definitions-quantity-check"/> <label for="m-docs-reference-kubernetes-api-common-definitions-quantity-check"><a href="/docs/reference/kubernetes-api/common-definitions/quantity/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-common-definitions-quantity"><span class="">Quantity</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-common-definitions-resource-field-selector-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-definitions-resource-field-selector-check"/> <label for="m-docs-reference-kubernetes-api-common-definitions-resource-field-selector-check"><a href="/docs/reference/kubernetes-api/common-definitions/resource-field-selector/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-common-definitions-resource-field-selector"><span class="">ResourceFieldSelector</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-common-definitions-status-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-definitions-status-check"/> <label for="m-docs-reference-kubernetes-api-common-definitions-status-check"><a href="/docs/reference/kubernetes-api/common-definitions/status/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-common-definitions-status"><span class="">Status</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-common-definitions-typed-local-object-reference-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-definitions-typed-local-object-reference-check"/> <label for="m-docs-reference-kubernetes-api-common-definitions-typed-local-object-reference-check"><a href="/docs/reference/kubernetes-api/common-definitions/typed-local-object-reference/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-common-definitions-typed-local-object-reference"><span class="">TypedLocalObjectReference</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-kubernetes-api-other-resources-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-other-resources-check"/> <label for="m-docs-reference-kubernetes-api-other-resources-check"><a href="/docs/reference/kubernetes-api/other-resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-kubernetes-api-other-resources"><span class="">Other Resources</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-other-resources-validating-admission-policy-binding-list-v1beta1-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-other-resources-validating-admission-policy-binding-list-v1beta1-check"/> <label for="m-docs-reference-kubernetes-api-other-resources-validating-admission-policy-binding-list-v1beta1-check"><a href="/docs/reference/kubernetes-api/other-resources/validating-admission-policy-binding-list-v1beta1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-other-resources-validating-admission-policy-binding-list-v1beta1"><span class="">ValidatingAdmissionPolicyBindingList v1beta1</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubernetes-api-common-parameters-common-parameters-li"> <input type="checkbox" id="m-docs-reference-kubernetes-api-common-parameters-common-parameters-check"/> <label for="m-docs-reference-kubernetes-api-common-parameters-common-parameters-check"><a href="/docs/reference/kubernetes-api/common-parameters/common-parameters/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubernetes-api-common-parameters-common-parameters"><span class="">Common Parameters</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-instrumentation-li"> <input type="checkbox" id="m-docs-reference-instrumentation-check"/> <label for="m-docs-reference-instrumentation-check"><a href="/docs/reference/instrumentation/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-instrumentation"><span class="">Instrumentation</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-instrumentation-slis-li"> <input type="checkbox" id="m-docs-reference-instrumentation-slis-check"/> <label for="m-docs-reference-instrumentation-slis-check"><a href="/docs/reference/instrumentation/slis/" title="Kubernetes Component SLI Metrics" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-instrumentation-slis"><span class="">Service Level Indicator Metrics</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-instrumentation-cri-pod-container-metrics-li"> <input type="checkbox" id="m-docs-reference-instrumentation-cri-pod-container-metrics-check"/> <label for="m-docs-reference-instrumentation-cri-pod-container-metrics-check"><a href="/docs/reference/instrumentation/cri-pod-container-metrics/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-instrumentation-cri-pod-container-metrics"><span class="">CRI Pod &amp; Container Metrics</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-instrumentation-node-metrics-li"> <input type="checkbox" id="m-docs-reference-instrumentation-node-metrics-check"/> <label for="m-docs-reference-instrumentation-node-metrics-check"><a href="/docs/reference/instrumentation/node-metrics/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-instrumentation-node-metrics"><span class="">Node metrics data</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-instrumentation-metrics-li"> <input type="checkbox" id="m-docs-reference-instrumentation-metrics-check"/> <label for="m-docs-reference-instrumentation-metrics-check"><a href="/docs/reference/instrumentation/metrics/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-instrumentation-metrics"><span class="">Kubernetes Metrics Reference</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-issues-security-li"> <input type="checkbox" id="m-docs-reference-issues-security-check"/> <label for="m-docs-reference-issues-security-check"><a href="/docs/reference/issues-security/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-issues-security"><span class="">Kubernetes Issues and Security</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-issues-security-issues-li"> <input type="checkbox" id="m-docs-reference-issues-security-issues-check"/> <label for="m-docs-reference-issues-security-issues-check"><a href="/docs/reference/issues-security/issues/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-issues-security-issues"><span class="">Kubernetes Issue Tracker</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-issues-security-security-li"> <input type="checkbox" id="m-docs-reference-issues-security-security-check"/> <label for="m-docs-reference-issues-security-security-check"><a href="/docs/reference/issues-security/security/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-issues-security-security"><span class="">Kubernetes Security and Disclosure Information</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-issues-security-official-cve-feed-li"> <input type="checkbox" id="m-docs-reference-issues-security-official-cve-feed-check"/> <label for="m-docs-reference-issues-security-official-cve-feed-check"><a href="/docs/reference/issues-security/official-cve-feed/" title="Official CVE Feed" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-issues-security-official-cve-feed"><span class="">CVE feed</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-node-li"> <input type="checkbox" id="m-docs-reference-node-check"/> <label for="m-docs-reference-node-check"><a href="/docs/reference/node/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-node"><span class="">Node Reference Information</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-node-kubelet-checkpoint-api-li"> <input type="checkbox" id="m-docs-reference-node-kubelet-checkpoint-api-check"/> <label for="m-docs-reference-node-kubelet-checkpoint-api-check"><a href="/docs/reference/node/kubelet-checkpoint-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-node-kubelet-checkpoint-api"><span class="">Kubelet Checkpoint API</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-node-topics-on-dockershim-and-cri-compatible-runtimes-li"> <input type="checkbox" id="m-docs-reference-node-topics-on-dockershim-and-cri-compatible-runtimes-check"/> <label for="m-docs-reference-node-topics-on-dockershim-and-cri-compatible-runtimes-check"><a href="/docs/reference/node/topics-on-dockershim-and-cri-compatible-runtimes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-node-topics-on-dockershim-and-cri-compatible-runtimes"><span class="">Articles on dockershim Removal and on Using CRI-compatible Runtimes</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-node-node-labels-li"> <input type="checkbox" id="m-docs-reference-node-node-labels-check"/> <label for="m-docs-reference-node-node-labels-check"><a href="/docs/reference/node/node-labels/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-node-node-labels"><span class="">Node Labels Populated By The Kubelet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-node-device-plugin-api-versions-li"> <input type="checkbox" id="m-docs-reference-node-device-plugin-api-versions-check"/> <label for="m-docs-reference-node-device-plugin-api-versions-check"><a href="/docs/reference/node/device-plugin-api-versions/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-node-device-plugin-api-versions"><span class="">Kubelet Device Manager API Versions</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-node-node-status-li"> <input type="checkbox" id="m-docs-reference-node-node-status-check"/> <label for="m-docs-reference-node-node-status-check"><a href="/docs/reference/node/node-status/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-node-node-status"><span class="">Node Status</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-networking-li"> <input type="checkbox" id="m-docs-reference-networking-check"/> <label for="m-docs-reference-networking-check"><a href="/docs/reference/networking/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-networking"><span class="">Networking Reference</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-networking-service-protocols-li"> <input type="checkbox" id="m-docs-reference-networking-service-protocols-check"/> <label for="m-docs-reference-networking-service-protocols-check"><a href="/docs/reference/networking/service-protocols/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-networking-service-protocols"><span class="">Protocols for Services</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-networking-ports-and-protocols-li"> <input type="checkbox" id="m-docs-reference-networking-ports-and-protocols-check"/> <label for="m-docs-reference-networking-ports-and-protocols-check"><a href="/docs/reference/networking/ports-and-protocols/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-networking-ports-and-protocols"><span class="">Ports and Protocols</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-networking-virtual-ips-li"> <input type="checkbox" id="m-docs-reference-networking-virtual-ips-check"/> <label for="m-docs-reference-networking-virtual-ips-check"><a href="/docs/reference/networking/virtual-ips/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-networking-virtual-ips"><span class="">Virtual IPs and Service Proxies</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-setup-tools-li"> <input type="checkbox" id="m-docs-reference-setup-tools-check"/> <label for="m-docs-reference-setup-tools-check"><a href="/docs/reference/setup-tools/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-setup-tools"><span class="">Setup tools</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-setup-tools-kubeadm-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-check"/> <label for="m-docs-reference-setup-tools-kubeadm-check"><a href="/docs/reference/setup-tools/kubeadm/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-setup-tools-kubeadm"><span class="">Kubeadm</span></a></label> <ul class="ul-4 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-kubeadm-init-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-kubeadm-init-check"/> <label for="m-docs-reference-setup-tools-kubeadm-kubeadm-init-check"><a href="/docs/reference/setup-tools/kubeadm/kubeadm-init/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-kubeadm-init"><span class="">kubeadm init</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-kubeadm-join-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-kubeadm-join-check"/> <label for="m-docs-reference-setup-tools-kubeadm-kubeadm-join-check"><a href="/docs/reference/setup-tools/kubeadm/kubeadm-join/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-kubeadm-join"><span class="">kubeadm join</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-kubeadm-upgrade-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-kubeadm-upgrade-check"/> <label for="m-docs-reference-setup-tools-kubeadm-kubeadm-upgrade-check"><a href="/docs/reference/setup-tools/kubeadm/kubeadm-upgrade/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-kubeadm-upgrade"><span class="">kubeadm upgrade</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-kubeadm-config-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-kubeadm-config-check"/> <label for="m-docs-reference-setup-tools-kubeadm-kubeadm-config-check"><a href="/docs/reference/setup-tools/kubeadm/kubeadm-config/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-kubeadm-config"><span class="">kubeadm config</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-kubeadm-reset-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-kubeadm-reset-check"/> <label for="m-docs-reference-setup-tools-kubeadm-kubeadm-reset-check"><a href="/docs/reference/setup-tools/kubeadm/kubeadm-reset/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-kubeadm-reset"><span class="">kubeadm reset</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-kubeadm-token-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-kubeadm-token-check"/> <label for="m-docs-reference-setup-tools-kubeadm-kubeadm-token-check"><a href="/docs/reference/setup-tools/kubeadm/kubeadm-token/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-kubeadm-token"><span class="">kubeadm token</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-kubeadm-version-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-kubeadm-version-check"/> <label for="m-docs-reference-setup-tools-kubeadm-kubeadm-version-check"><a href="/docs/reference/setup-tools/kubeadm/kubeadm-version/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-kubeadm-version"><span class="">kubeadm version</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-kubeadm-alpha-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-kubeadm-alpha-check"/> <label for="m-docs-reference-setup-tools-kubeadm-kubeadm-alpha-check"><a href="/docs/reference/setup-tools/kubeadm/kubeadm-alpha/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-kubeadm-alpha"><span class="">kubeadm alpha</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-kubeadm-certs-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-kubeadm-certs-check"/> <label for="m-docs-reference-setup-tools-kubeadm-kubeadm-certs-check"><a href="/docs/reference/setup-tools/kubeadm/kubeadm-certs/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-kubeadm-certs"><span class="">kubeadm certs</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-kubeadm-init-phase-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-kubeadm-init-phase-check"/> <label for="m-docs-reference-setup-tools-kubeadm-kubeadm-init-phase-check"><a href="/docs/reference/setup-tools/kubeadm/kubeadm-init-phase/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-kubeadm-init-phase"><span class="">kubeadm init phase</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-kubeadm-join-phase-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-kubeadm-join-phase-check"/> <label for="m-docs-reference-setup-tools-kubeadm-kubeadm-join-phase-check"><a href="/docs/reference/setup-tools/kubeadm/kubeadm-join-phase/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-kubeadm-join-phase"><span class="">kubeadm join phase</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-kubeadm-kubeconfig-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-kubeadm-kubeconfig-check"/> <label for="m-docs-reference-setup-tools-kubeadm-kubeadm-kubeconfig-check"><a href="/docs/reference/setup-tools/kubeadm/kubeadm-kubeconfig/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-kubeadm-kubeconfig"><span class="">kubeadm kubeconfig</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-kubeadm-reset-phase-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-kubeadm-reset-phase-check"/> <label for="m-docs-reference-setup-tools-kubeadm-kubeadm-reset-phase-check"><a href="/docs/reference/setup-tools/kubeadm/kubeadm-reset-phase/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-kubeadm-reset-phase"><span class="">kubeadm reset phase</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-kubeadm-upgrade-phase-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-kubeadm-upgrade-phase-check"/> <label for="m-docs-reference-setup-tools-kubeadm-kubeadm-upgrade-phase-check"><a href="/docs/reference/setup-tools/kubeadm/kubeadm-upgrade-phase/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-kubeadm-upgrade-phase"><span class="">kubeadm upgrade phase</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-setup-tools-kubeadm-implementation-details-li"> <input type="checkbox" id="m-docs-reference-setup-tools-kubeadm-implementation-details-check"/> <label for="m-docs-reference-setup-tools-kubeadm-implementation-details-check"><a href="/docs/reference/setup-tools/kubeadm/implementation-details/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-setup-tools-kubeadm-implementation-details"><span class="">Implementation details</span></a></label> </li> </ul> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-kubectl-li"> <input type="checkbox" id="m-docs-reference-kubectl-check"/> <label for="m-docs-reference-kubectl-check"><a href="/docs/reference/kubectl/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-kubectl"><span class="">Command line tool (kubectl)</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubectl-cheatsheet-li"> <input type="checkbox" id="m-docs-reference-kubectl-cheatsheet-check"/> <label for="m-docs-reference-kubectl-cheatsheet-check"><a href="/docs/reference/kubectl/cheatsheet/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubectl-cheatsheet"><span class="">kubectl Cheat Sheet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubectl-kubectl-cmds-li"> <input type="checkbox" id="m-docs-reference-kubectl-kubectl-cmds-check"/> <label for="m-docs-reference-kubectl-kubectl-cmds-check"><a href="/docs/reference/kubectl/kubectl-cmds/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubectl-kubectl-cmds"><span class="">kubectl Commands</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubectl-kubectl-li"> <input type="checkbox" id="m-docs-reference-kubectl-kubectl-check"/> <label for="m-docs-reference-kubectl-kubectl-check"><a href="/docs/reference/kubectl/kubectl/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubectl-kubectl"><span class="">kubectl</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubectl-jsonpath-li"> <input type="checkbox" id="m-docs-reference-kubectl-jsonpath-check"/> <label for="m-docs-reference-kubectl-jsonpath-check"><a href="/docs/reference/kubectl/jsonpath/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubectl-jsonpath"><span class="">JSONPath Support</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubectl-docker-cli-to-kubectl-li"> <input type="checkbox" id="m-docs-reference-kubectl-docker-cli-to-kubectl-check"/> <label for="m-docs-reference-kubectl-docker-cli-to-kubectl-check"><a href="/docs/reference/kubectl/docker-cli-to-kubectl/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubectl-docker-cli-to-kubectl"><span class="">kubectl for Docker Users</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-kubectl-conventions-li"> <input type="checkbox" id="m-docs-reference-kubectl-conventions-check"/> <label for="m-docs-reference-kubectl-conventions-check"><a href="/docs/reference/kubectl/conventions/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-kubectl-conventions"><span class="">kubectl Usage Conventions</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-command-line-tools-reference-li"> <input type="checkbox" id="m-docs-reference-command-line-tools-reference-check"/> <label for="m-docs-reference-command-line-tools-reference-check"><a href="/docs/reference/command-line-tools-reference/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-command-line-tools-reference"><span class="">Component tools</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-command-line-tools-reference-feature-gates-li"> <input type="checkbox" id="m-docs-reference-command-line-tools-reference-feature-gates-check"/> <label for="m-docs-reference-command-line-tools-reference-feature-gates-check"><a href="/docs/reference/command-line-tools-reference/feature-gates/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-command-line-tools-reference-feature-gates"><span class="">Feature Gates</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-command-line-tools-reference-feature-gates-removed-li"> <input type="checkbox" id="m-docs-reference-command-line-tools-reference-feature-gates-removed-check"/> <label for="m-docs-reference-command-line-tools-reference-feature-gates-removed-check"><a href="/docs/reference/command-line-tools-reference/feature-gates-removed/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-command-line-tools-reference-feature-gates-removed"><span class="">Feature Gates (removed)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-command-line-tools-reference-kubelet-li"> <input type="checkbox" id="m-docs-reference-command-line-tools-reference-kubelet-check"/> <label for="m-docs-reference-command-line-tools-reference-kubelet-check"><a href="/docs/reference/command-line-tools-reference/kubelet/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-command-line-tools-reference-kubelet"><span class="">kubelet</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-command-line-tools-reference-kube-apiserver-li"> <input type="checkbox" id="m-docs-reference-command-line-tools-reference-kube-apiserver-check"/> <label for="m-docs-reference-command-line-tools-reference-kube-apiserver-check"><a href="/docs/reference/command-line-tools-reference/kube-apiserver/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-command-line-tools-reference-kube-apiserver"><span class="">kube-apiserver</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-command-line-tools-reference-kube-controller-manager-li"> <input type="checkbox" id="m-docs-reference-command-line-tools-reference-kube-controller-manager-check"/> <label for="m-docs-reference-command-line-tools-reference-kube-controller-manager-check"><a href="/docs/reference/command-line-tools-reference/kube-controller-manager/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-command-line-tools-reference-kube-controller-manager"><span class="">kube-controller-manager</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-command-line-tools-reference-kube-proxy-li"> <input type="checkbox" id="m-docs-reference-command-line-tools-reference-kube-proxy-check"/> <label for="m-docs-reference-command-line-tools-reference-kube-proxy-check"><a href="/docs/reference/command-line-tools-reference/kube-proxy/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-command-line-tools-reference-kube-proxy"><span class="">kube-proxy</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-command-line-tools-reference-kube-scheduler-li"> <input type="checkbox" id="m-docs-reference-command-line-tools-reference-kube-scheduler-check"/> <label for="m-docs-reference-command-line-tools-reference-kube-scheduler-check"><a href="/docs/reference/command-line-tools-reference/kube-scheduler/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-command-line-tools-reference-kube-scheduler"><span class="">kube-scheduler</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-debug-cluster-li"> <input type="checkbox" id="m-docs-reference-debug-cluster-check"/> <label for="m-docs-reference-debug-cluster-check"><a href="/docs/reference/debug-cluster/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-debug-cluster"><span class="">Debug cluster</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-debug-cluster-flow-control-li"> <input type="checkbox" id="m-docs-reference-debug-cluster-flow-control-check"/> <label for="m-docs-reference-debug-cluster-flow-control-check"><a href="/docs/reference/debug-cluster/flow-control/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-debug-cluster-flow-control"><span class="">Flow control</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-config-api-li"> <input type="checkbox" id="m-docs-reference-config-api-check"/> <label for="m-docs-reference-config-api-check"><a href="/docs/reference/config-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-config-api"><span class="">Configuration APIs</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-client-authentication-v1-li"> <input type="checkbox" id="m-docs-reference-config-api-client-authentication-v1-check"/> <label for="m-docs-reference-config-api-client-authentication-v1-check"><a href="/docs/reference/config-api/client-authentication.v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-client-authentication-v1"><span class="">Client Authentication (v1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-client-authentication-v1beta1-li"> <input type="checkbox" id="m-docs-reference-config-api-client-authentication-v1beta1-check"/> <label for="m-docs-reference-config-api-client-authentication-v1beta1-check"><a href="/docs/reference/config-api/client-authentication.v1beta1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-client-authentication-v1beta1"><span class="">Client Authentication (v1beta1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-apiserver-eventratelimit-v1alpha1-li"> <input type="checkbox" id="m-docs-reference-config-api-apiserver-eventratelimit-v1alpha1-check"/> <label for="m-docs-reference-config-api-apiserver-eventratelimit-v1alpha1-check"><a href="/docs/reference/config-api/apiserver-eventratelimit.v1alpha1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-apiserver-eventratelimit-v1alpha1"><span class="">Event Rate Limit Configuration (v1alpha1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-imagepolicy-v1alpha1-li"> <input type="checkbox" id="m-docs-reference-config-api-imagepolicy-v1alpha1-check"/> <label for="m-docs-reference-config-api-imagepolicy-v1alpha1-check"><a href="/docs/reference/config-api/imagepolicy.v1alpha1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-imagepolicy-v1alpha1"><span class="">Image Policy API (v1alpha1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-apiserver-admission-v1-li"> <input type="checkbox" id="m-docs-reference-config-api-apiserver-admission-v1-check"/> <label for="m-docs-reference-config-api-apiserver-admission-v1-check"><a href="/docs/reference/config-api/apiserver-admission.v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-apiserver-admission-v1"><span class="">kube-apiserver Admission (v1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-apiserver-audit-v1-li"> <input type="checkbox" id="m-docs-reference-config-api-apiserver-audit-v1-check"/> <label for="m-docs-reference-config-api-apiserver-audit-v1-check"><a href="/docs/reference/config-api/apiserver-audit.v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-apiserver-audit-v1"><span class="">kube-apiserver Audit Configuration (v1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-apiserver-config-v1-li"> <input type="checkbox" id="m-docs-reference-config-api-apiserver-config-v1-check"/> <label for="m-docs-reference-config-api-apiserver-config-v1-check"><a href="/docs/reference/config-api/apiserver-config.v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-apiserver-config-v1"><span class="">kube-apiserver Configuration (v1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-apiserver-config-v1alpha1-li"> <input type="checkbox" id="m-docs-reference-config-api-apiserver-config-v1alpha1-check"/> <label for="m-docs-reference-config-api-apiserver-config-v1alpha1-check"><a href="/docs/reference/config-api/apiserver-config.v1alpha1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-apiserver-config-v1alpha1"><span class="">kube-apiserver Configuration (v1alpha1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-apiserver-config-v1beta1-li"> <input type="checkbox" id="m-docs-reference-config-api-apiserver-config-v1beta1-check"/> <label for="m-docs-reference-config-api-apiserver-config-v1beta1-check"><a href="/docs/reference/config-api/apiserver-config.v1beta1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-apiserver-config-v1beta1"><span class="">kube-apiserver Configuration (v1beta1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-apiserver-encryption-v1-li"> <input type="checkbox" id="m-docs-reference-config-api-apiserver-encryption-v1-check"/> <label for="m-docs-reference-config-api-apiserver-encryption-v1-check"><a href="/docs/reference/config-api/apiserver-encryption.v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-apiserver-encryption-v1"><span class="">kube-apiserver Encryption Configuration (v1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-kube-controller-manager-config-v1alpha1-li"> <input type="checkbox" id="m-docs-reference-config-api-kube-controller-manager-config-v1alpha1-check"/> <label for="m-docs-reference-config-api-kube-controller-manager-config-v1alpha1-check"><a href="/docs/reference/config-api/kube-controller-manager-config.v1alpha1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-kube-controller-manager-config-v1alpha1"><span class="">kube-controller-manager Configuration (v1alpha1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-kube-proxy-config-v1alpha1-li"> <input type="checkbox" id="m-docs-reference-config-api-kube-proxy-config-v1alpha1-check"/> <label for="m-docs-reference-config-api-kube-proxy-config-v1alpha1-check"><a href="/docs/reference/config-api/kube-proxy-config.v1alpha1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-kube-proxy-config-v1alpha1"><span class="">kube-proxy Configuration (v1alpha1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-kube-scheduler-config-v1-li"> <input type="checkbox" id="m-docs-reference-config-api-kube-scheduler-config-v1-check"/> <label for="m-docs-reference-config-api-kube-scheduler-config-v1-check"><a href="/docs/reference/config-api/kube-scheduler-config.v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-kube-scheduler-config-v1"><span class="">kube-scheduler Configuration (v1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-kube-scheduler-config-v1beta3-li"> <input type="checkbox" id="m-docs-reference-config-api-kube-scheduler-config-v1beta3-check"/> <label for="m-docs-reference-config-api-kube-scheduler-config-v1beta3-check"><a href="/docs/reference/config-api/kube-scheduler-config.v1beta3/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-kube-scheduler-config-v1beta3"><span class="">kube-scheduler Configuration (v1beta3)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-kubeadm-config-v1beta3-li"> <input type="checkbox" id="m-docs-reference-config-api-kubeadm-config-v1beta3-check"/> <label for="m-docs-reference-config-api-kubeadm-config-v1beta3-check"><a href="/docs/reference/config-api/kubeadm-config.v1beta3/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-kubeadm-config-v1beta3"><span class="">kubeadm Configuration (v1beta3)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-kubeadm-config-v1beta4-li"> <input type="checkbox" id="m-docs-reference-config-api-kubeadm-config-v1beta4-check"/> <label for="m-docs-reference-config-api-kubeadm-config-v1beta4-check"><a href="/docs/reference/config-api/kubeadm-config.v1beta4/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-kubeadm-config-v1beta4"><span class="">kubeadm Configuration (v1beta4)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-kubeconfig-v1-li"> <input type="checkbox" id="m-docs-reference-config-api-kubeconfig-v1-check"/> <label for="m-docs-reference-config-api-kubeconfig-v1-check"><a href="/docs/reference/config-api/kubeconfig.v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-kubeconfig-v1"><span class="">kubeconfig (v1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-kubelet-config-v1-li"> <input type="checkbox" id="m-docs-reference-config-api-kubelet-config-v1-check"/> <label for="m-docs-reference-config-api-kubelet-config-v1-check"><a href="/docs/reference/config-api/kubelet-config.v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-kubelet-config-v1"><span class="">Kubelet Configuration (v1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-kubelet-config-v1alpha1-li"> <input type="checkbox" id="m-docs-reference-config-api-kubelet-config-v1alpha1-check"/> <label for="m-docs-reference-config-api-kubelet-config-v1alpha1-check"><a href="/docs/reference/config-api/kubelet-config.v1alpha1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-kubelet-config-v1alpha1"><span class="">Kubelet Configuration (v1alpha1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-kubelet-config-v1beta1-li"> <input type="checkbox" id="m-docs-reference-config-api-kubelet-config-v1beta1-check"/> <label for="m-docs-reference-config-api-kubelet-config-v1beta1-check"><a href="/docs/reference/config-api/kubelet-config.v1beta1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-kubelet-config-v1beta1"><span class="">Kubelet Configuration (v1beta1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-kubelet-credentialprovider-v1-li"> <input type="checkbox" id="m-docs-reference-config-api-kubelet-credentialprovider-v1-check"/> <label for="m-docs-reference-config-api-kubelet-credentialprovider-v1-check"><a href="/docs/reference/config-api/kubelet-credentialprovider.v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-kubelet-credentialprovider-v1"><span class="">Kubelet CredentialProvider (v1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-kubelet-credentialprovider-v1alpha1-li"> <input type="checkbox" id="m-docs-reference-config-api-kubelet-credentialprovider-v1alpha1-check"/> <label for="m-docs-reference-config-api-kubelet-credentialprovider-v1alpha1-check"><a href="/docs/reference/config-api/kubelet-credentialprovider.v1alpha1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-kubelet-credentialprovider-v1alpha1"><span class="">Kubelet CredentialProvider (v1alpha1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-kubelet-credentialprovider-v1beta1-li"> <input type="checkbox" id="m-docs-reference-config-api-kubelet-credentialprovider-v1beta1-check"/> <label for="m-docs-reference-config-api-kubelet-credentialprovider-v1beta1-check"><a href="/docs/reference/config-api/kubelet-credentialprovider.v1beta1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-kubelet-credentialprovider-v1beta1"><span class="">Kubelet CredentialProvider (v1beta1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-config-api-apiserver-webhookadmission-v1-li"> <input type="checkbox" id="m-docs-reference-config-api-apiserver-webhookadmission-v1-check"/> <label for="m-docs-reference-config-api-apiserver-webhookadmission-v1-check"><a href="/docs/reference/config-api/apiserver-webhookadmission.v1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-config-api-apiserver-webhookadmission-v1"><span class="">WebhookAdmission Configuration (v1)</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-external-api-li"> <input type="checkbox" id="m-docs-reference-external-api-check"/> <label for="m-docs-reference-external-api-check"><a href="/docs/reference/external-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-external-api"><span class="">External APIs</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-external-api-custom-metrics-v1beta2-li"> <input type="checkbox" id="m-docs-reference-external-api-custom-metrics-v1beta2-check"/> <label for="m-docs-reference-external-api-custom-metrics-v1beta2-check"><a href="/docs/reference/external-api/custom-metrics.v1beta2/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-external-api-custom-metrics-v1beta2"><span class="">Kubernetes Custom Metrics (v1beta2)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-external-api-external-metrics-v1beta1-li"> <input type="checkbox" id="m-docs-reference-external-api-external-metrics-v1beta1-check"/> <label for="m-docs-reference-external-api-external-metrics-v1beta1-check"><a href="/docs/reference/external-api/external-metrics.v1beta1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-external-api-external-metrics-v1beta1"><span class="">Kubernetes External Metrics (v1beta1)</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-external-api-metrics-v1beta1-li"> <input type="checkbox" id="m-docs-reference-external-api-metrics-v1beta1-check"/> <label for="m-docs-reference-external-api-metrics-v1beta1-check"><a href="/docs/reference/external-api/metrics.v1beta1/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-external-api-metrics-v1beta1"><span class="">Kubernetes Metrics (v1beta1)</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-scheduling-li"> <input type="checkbox" id="m-docs-reference-scheduling-check"/> <label for="m-docs-reference-scheduling-check"><a href="/docs/reference/scheduling/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-scheduling"><span class="">Scheduling</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-scheduling-config-li"> <input type="checkbox" id="m-docs-reference-scheduling-config-check"/> <label for="m-docs-reference-scheduling-config-check"><a href="/docs/reference/scheduling/config/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-scheduling-config"><span class="">Scheduler Configuration</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-scheduling-policies-li"> <input type="checkbox" id="m-docs-reference-scheduling-policies-check"/> <label for="m-docs-reference-scheduling-policies-check"><a href="/docs/reference/scheduling/policies/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-scheduling-policies"><span class="">Scheduling Policies</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-reference-tools-li"> <input type="checkbox" id="m-docs-reference-tools-check"/> <label for="m-docs-reference-tools-check"><a href="/docs/reference/tools/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-reference-tools"><span class="">Other Tools</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-reference-tools-map-crictl-dockercli-li"> <input type="checkbox" id="m-docs-reference-tools-map-crictl-dockercli-check"/> <label for="m-docs-reference-tools-map-crictl-dockercli-check"><a href="/docs/reference/tools/map-crictl-dockercli/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-reference-tools-map-crictl-dockercli"><span class="">Mapping from dockercli to crictl</span></a></label> </li> </ul> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-contribute-li"> <input type="checkbox" id="m-docs-contribute-check"/> <label for="m-docs-contribute-check"><a href="/docs/contribute/" title="Contribute to K8s docs" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-contribute"><span class="">Contribute</span></a></label> <ul class="ul-2 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-suggesting-improvements-li"> <input type="checkbox" id="m-docs-contribute-suggesting-improvements-check"/> <label for="m-docs-contribute-suggesting-improvements-check"><a href="/docs/contribute/suggesting-improvements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-suggesting-improvements"><span class="">Suggesting content improvements</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-contribute-new-content-li"> <input type="checkbox" id="m-docs-contribute-new-content-check"/> <label for="m-docs-contribute-new-content-check"><a href="/docs/contribute/new-content/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-contribute-new-content"><span class="">Contributing new content</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-new-content-open-a-pr-li"> <input type="checkbox" id="m-docs-contribute-new-content-open-a-pr-check"/> <label for="m-docs-contribute-new-content-open-a-pr-check"><a href="/docs/contribute/new-content/open-a-pr/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-new-content-open-a-pr"><span class="">Opening a pull request</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-new-content-new-features-li"> <input type="checkbox" id="m-docs-contribute-new-content-new-features-check"/> <label for="m-docs-contribute-new-content-new-features-check"><a href="/docs/contribute/new-content/new-features/" title="Documenting a feature for a release" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-new-content-new-features"><span class="">Documenting for a release</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-new-content-blogs-case-studies-li"> <input type="checkbox" id="m-docs-contribute-new-content-blogs-case-studies-check"/> <label for="m-docs-contribute-new-content-blogs-case-studies-check"><a href="/docs/contribute/new-content/blogs-case-studies/" title="Submitting blog posts and case studies" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-new-content-blogs-case-studies"><span class="">Blogs and case studies</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-contribute-review-li"> <input type="checkbox" id="m-docs-contribute-review-check"/> <label for="m-docs-contribute-review-check"><a href="/docs/contribute/review/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-contribute-review"><span class="">Reviewing changes</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-review-reviewing-prs-li"> <input type="checkbox" id="m-docs-contribute-review-reviewing-prs-check"/> <label for="m-docs-contribute-review-reviewing-prs-check"><a href="/docs/contribute/review/reviewing-prs/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-review-reviewing-prs"><span class="">Reviewing pull requests</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-review-for-approvers-li"> <input type="checkbox" id="m-docs-contribute-review-for-approvers-check"/> <label for="m-docs-contribute-review-for-approvers-check"><a href="/docs/contribute/review/for-approvers/" title="Reviewing for approvers and reviewers" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-review-for-approvers"><span class="">For approvers and reviewers</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-localization-li"> <input type="checkbox" id="m-docs-contribute-localization-check"/> <label for="m-docs-contribute-localization-check"><a href="/docs/contribute/localization/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-localization"><span class="">Localizing Kubernetes documentation</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-contribute-participate-li"> <input type="checkbox" id="m-docs-contribute-participate-check"/> <label for="m-docs-contribute-participate-check"><a href="/docs/contribute/participate/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-contribute-participate"><span class="">Participating in SIG Docs</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-participate-roles-and-responsibilities-li"> <input type="checkbox" id="m-docs-contribute-participate-roles-and-responsibilities-check"/> <label for="m-docs-contribute-participate-roles-and-responsibilities-check"><a href="/docs/contribute/participate/roles-and-responsibilities/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-participate-roles-and-responsibilities"><span class="">Roles and responsibilities</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-participate-issue-wrangler-li"> <input type="checkbox" id="m-docs-contribute-participate-issue-wrangler-check"/> <label for="m-docs-contribute-participate-issue-wrangler-check"><a href="/docs/contribute/participate/issue-wrangler/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-participate-issue-wrangler"><span class="">Issue Wranglers</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-participate-pr-wranglers-li"> <input type="checkbox" id="m-docs-contribute-participate-pr-wranglers-check"/> <label for="m-docs-contribute-participate-pr-wranglers-check"><a href="/docs/contribute/participate/pr-wranglers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-participate-pr-wranglers"><span class="">PR wranglers</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-contribute-style-li"> <input type="checkbox" id="m-docs-contribute-style-check"/> <label for="m-docs-contribute-style-check"><a href="/docs/contribute/style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-contribute-style"><span class="">Documentation style overview</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-style-content-guide-li"> <input type="checkbox" id="m-docs-contribute-style-content-guide-check"/> <label for="m-docs-contribute-style-content-guide-check"><a href="/docs/contribute/style/content-guide/" title="Documentation Content Guide" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-style-content-guide"><span class="">Content guide</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-style-style-guide-li"> <input type="checkbox" id="m-docs-contribute-style-style-guide-check"/> <label for="m-docs-contribute-style-style-guide-check"><a href="/docs/contribute/style/style-guide/" title="Documentation Style Guide" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-style-style-guide"><span class="">Style guide</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-style-diagram-guide-li"> <input type="checkbox" id="m-docs-contribute-style-diagram-guide-check"/> <label for="m-docs-contribute-style-diagram-guide-check"><a href="/docs/contribute/style/diagram-guide/" title="Diagram Guide" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-style-diagram-guide"><span class="">Diagram guide</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-style-write-new-topic-li"> <input type="checkbox" id="m-docs-contribute-style-write-new-topic-check"/> <label for="m-docs-contribute-style-write-new-topic-check"><a href="/docs/contribute/style/write-new-topic/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-style-write-new-topic"><span class="">Writing a new topic</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-style-page-content-types-li"> <input type="checkbox" id="m-docs-contribute-style-page-content-types-check"/> <label for="m-docs-contribute-style-page-content-types-check"><a href="/docs/contribute/style/page-content-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-style-page-content-types"><span class="">Page content types</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-style-content-organization-li"> <input type="checkbox" id="m-docs-contribute-style-content-organization-check"/> <label for="m-docs-contribute-style-content-organization-check"><a href="/docs/contribute/style/content-organization/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-style-content-organization"><span class="">Content organization</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-style-hugo-shortcodes-li"> <input type="checkbox" id="m-docs-contribute-style-hugo-shortcodes-check"/> <label for="m-docs-contribute-style-hugo-shortcodes-check"><a href="/docs/contribute/style/hugo-shortcodes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-style-hugo-shortcodes"><span class="">Custom Hugo Shortcodes</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docs-contribute-generate-ref-docs-li"> <input type="checkbox" id="m-docs-contribute-generate-ref-docs-check"/> <label for="m-docs-contribute-generate-ref-docs-check"><a href="/docs/contribute/generate-ref-docs/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docs-contribute-generate-ref-docs"><span class="">Updating Reference Documentation</span></a></label> <ul class="ul-3 foldable"> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-generate-ref-docs-quickstart-li"> <input type="checkbox" id="m-docs-contribute-generate-ref-docs-quickstart-check"/> <label for="m-docs-contribute-generate-ref-docs-quickstart-check"><a href="/docs/contribute/generate-ref-docs/quickstart/" title="Reference Documentation Quickstart" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-generate-ref-docs-quickstart"><span class="">Quickstart</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-generate-ref-docs-contribute-upstream-li"> <input type="checkbox" id="m-docs-contribute-generate-ref-docs-contribute-upstream-check"/> <label for="m-docs-contribute-generate-ref-docs-contribute-upstream-check"><a href="/docs/contribute/generate-ref-docs/contribute-upstream/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-generate-ref-docs-contribute-upstream"><span class="">Contributing to the Upstream Kubernetes Code</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-generate-ref-docs-kubernetes-api-li"> <input type="checkbox" id="m-docs-contribute-generate-ref-docs-kubernetes-api-check"/> <label for="m-docs-contribute-generate-ref-docs-kubernetes-api-check"><a href="/docs/contribute/generate-ref-docs/kubernetes-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-generate-ref-docs-kubernetes-api"><span class="">Generating Reference Documentation for the Kubernetes API</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-generate-ref-docs-kubectl-li"> <input type="checkbox" id="m-docs-contribute-generate-ref-docs-kubectl-check"/> <label for="m-docs-contribute-generate-ref-docs-kubectl-check"><a href="/docs/contribute/generate-ref-docs/kubectl/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-generate-ref-docs-kubectl"><span class="">Generating Reference Documentation for kubectl Commands</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-generate-ref-docs-kubernetes-components-li"> <input type="checkbox" id="m-docs-contribute-generate-ref-docs-kubernetes-components-check"/> <label for="m-docs-contribute-generate-ref-docs-kubernetes-components-check"><a href="/docs/contribute/generate-ref-docs/kubernetes-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-generate-ref-docs-kubernetes-components"><span class="">Generating Reference Pages for Kubernetes Components and Tools</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-generate-ref-docs-prerequisites-ref-docs-li"> <input type="checkbox" id="m-docs-contribute-generate-ref-docs-prerequisites-ref-docs-check"/> <label for="m-docs-contribute-generate-ref-docs-prerequisites-ref-docs-check"><a href="/docs/contribute/generate-ref-docs/prerequisites-ref-docs/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-generate-ref-docs-prerequisites-ref-docs"><span class=""></span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-advanced-li"> <input type="checkbox" id="m-docs-contribute-advanced-check"/> <label for="m-docs-contribute-advanced-check"><a href="/docs/contribute/advanced/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-advanced"><span class="">Advanced contributing</span></a></label> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-contribute-analytics-li"> <input type="checkbox" id="m-docs-contribute-analytics-check"/> <label for="m-docs-contribute-analytics-check"><a href="/docs/contribute/analytics/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-contribute-analytics"><span class="">Viewing Site Analytics</span></a></label> </li> </ul> </li> <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docs-test-li"> <input type="checkbox" id="m-docs-test-check"/> <label for="m-docs-test-check"><a href="/docs/test/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docs-test"><span class="">Docs smoke test page</span></a></label> </li> </ul> </li> </ul> </nav> </div> </div> <div id="maindoc" class="split pl-md-5 row"> <main role="main" class="col-xl-8"> <nav aria-label="breadcrumb" class="td-breadcrumbs"> <ol class="breadcrumb"> <li class="breadcrumb-item"> <a href="https://kubernetes.io/docs/">Kubernetes Documentation</a> </li> <li class="breadcrumb-item"> <a href="https://kubernetes.io/docs/reference/">Reference</a> </li> <li class="breadcrumb-item"> <a href="https://kubernetes.io/docs/reference/access-authn-authz/">API Access Control</a> </li> <li class="breadcrumb-item active" aria-current="page"> <a href="https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/">Dynamic Admission Control</a> </li> </ol> </nav> <section id="deprecation-warning"> <div class="content deprecation-warning pageinfo"> <h3> You are viewing documentation for Kubernetes version: v1.28 </h3> <p> Kubernetes v1.28 documentation is no longer actively maintained. The version you are currently viewing is a static snapshot. For up-to-date information, see the <a href="https://kubernetes.io/docs/home/">latest version.</a> </p> </div> </section> <div class="td-content"> <h1>Dynamic Admission Control</h1> <!-- overview --> <p>In addition to <a href="/docs/reference/access-authn-authz/admission-controllers/">compiled-in admission plugins</a>, admission plugins can be developed as extensions and run as webhooks configured at runtime. This page describes how to build, configure, use, and monitor admission webhooks.</p> <!-- body --> <h2 id="what-are-admission-webhooks">What are admission webhooks?</h2> <p>Admission webhooks are HTTP callbacks that receive admission requests and do something with them. You can define two types of admission webhooks, <a href="/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook">validating admission webhook</a> and <a href="/docs/reference/access-authn-authz/admission-controllers/#mutatingadmissionwebhook">mutating admission webhook</a>. Mutating admission webhooks are invoked first, and can modify objects sent to the API server to enforce custom defaults. After all object modifications are complete, and after the incoming object is validated by the API server, validating admission webhooks are invoked and can reject requests to enforce custom policies.</p> <div class="alert alert-info note callout" role="alert"> <strong>Note:</strong> Admission webhooks that need to guarantee they see the final state of the object in order to enforce policy should use a validating admission webhook, since objects can be modified after being seen by mutating webhooks. </div> <h2 id="experimenting-with-admission-webhooks">Experimenting with admission webhooks</h2> <p>Admission webhooks are essentially part of the cluster control-plane. You should write and deploy them with great caution. Please read the <a href="/docs/reference/access-authn-authz/extensible-admission-controllers/#write-an-admission-webhook-server">user guides</a> for instructions if you intend to write/deploy production-grade admission webhooks. In the following, we describe how to quickly experiment with admission webhooks.</p> <h3 id="prerequisites">Prerequisites</h3> <ul> <li> <p>Ensure that MutatingAdmissionWebhook and ValidatingAdmissionWebhook admission controllers are enabled. <a href="/docs/reference/access-authn-authz/admission-controllers/#is-there-a-recommended-set-of-admission-controllers-to-use">Here</a> is a recommended set of admission controllers to enable in general.</p> </li> <li> <p>Ensure that the <code>admissionregistration.k8s.io/v1</code> API is enabled.</p> </li> </ul> <h3 id="write-an-admission-webhook-server">Write an admission webhook server</h3> <p>Please refer to the implementation of the <a href="https://github.com/kubernetes/kubernetes/blob/release-1.21/test/images/agnhost/webhook/main.go">admission webhook server</a> that is validated in a Kubernetes e2e test. The webhook handles the <code>AdmissionReview</code> request sent by the API servers, and sends back its decision as an <code>AdmissionReview</code> object in the same version it received.</p> <p>See the <a href="#request">webhook request</a> section for details on the data sent to webhooks.</p> <p>See the <a href="#response">webhook response</a> section for the data expected from webhooks.</p> <p>The example admission webhook server leaves the <code>ClientAuth</code> field <a href="https://github.com/kubernetes/kubernetes/blob/v1.22.0/test/images/agnhost/webhook/config.go#L38-L39">empty</a>, which defaults to <code>NoClientCert</code>. This means that the webhook server does not authenticate the identity of the clients, supposedly API servers. If you need mutual TLS or other ways to authenticate the clients, see how to <a href="#authenticate-apiservers">authenticate API servers</a>.</p> <h3 id="deploy-the-admission-webhook-service">Deploy the admission webhook service</h3> <p>The webhook server in the e2e test is deployed in the Kubernetes cluster, via the <a href="/docs/reference/generated/kubernetes-api/v1.28/#deployment-v1-apps">deployment API</a>. The test also creates a <a href="/docs/reference/generated/kubernetes-api/v1.28/#service-v1-core">service</a> as the front-end of the webhook server. See <a href="https://github.com/kubernetes/kubernetes/blob/v1.22.0/test/e2e/apimachinery/webhook.go#L748">code</a>.</p> <p>You may also deploy your webhooks outside of the cluster. You will need to update your webhook configurations accordingly.</p> <h3 id="configure-admission-webhooks-on-the-fly">Configure admission webhooks on the fly</h3> <p>You can dynamically configure what resources are subject to what admission webhooks via <a href="/docs/reference/generated/kubernetes-api/v1.28/#validatingwebhookconfiguration-v1-admissionregistration-k8s-io">ValidatingWebhookConfiguration</a> or <a href="/docs/reference/generated/kubernetes-api/v1.28/#mutatingwebhookconfiguration-v1-admissionregistration-k8s-io">MutatingWebhookConfiguration</a>.</p> <p>The following is an example <code>ValidatingWebhookConfiguration</code>, a mutating webhook configuration is similar. See the <a href="#webhook-configuration">webhook configuration</a> section for details about each config field.</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>ValidatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">metadata</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;pod-policy.example.com&#34;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;pod-policy.example.com&#34;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">rules</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">apiGroups</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersions</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;v1&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">operations</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;CREATE&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">resources</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;pods&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">scope</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;Namespaced&#34;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">clientConfig</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">service</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">namespace</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;example-namespace&#34;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;example-service&#34;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">caBundle</span>:<span style="color:#bbb"> </span>&lt;CA_BUNDLE&gt;<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">admissionReviewVersions</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;v1&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">sideEffects</span>:<span style="color:#bbb"> </span>None<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">timeoutSeconds</span>:<span style="color:#bbb"> </span><span style="color:#666">5</span><span style="color:#bbb"> </span></span></span></code></pre></div><div class="alert alert-info note callout" role="alert"> <strong>Note:</strong> You must replace the <code>&lt;CA_BUNDLE&gt;</code> in the above example by a valid CA bundle which is a PEM-encoded (field value is Base64 encoded) CA bundle for validating the webhook's server certificate. </div> <p>The <code>scope</code> field specifies if only cluster-scoped resources (&quot;Cluster&quot;) or namespace-scoped resources (&quot;Namespaced&quot;) will match this rule. &quot;∗&quot; means that there are no scope restrictions.</p> <div class="alert alert-info note callout" role="alert"> <strong>Note:</strong> When using <code>clientConfig.service</code>, the server cert must be valid for <code>&lt;svc_name&gt;.&lt;svc_namespace&gt;.svc</code>. </div> <div class="alert alert-info note callout" role="alert"> <strong>Note:</strong> Default timeout for a webhook call is 10 seconds, You can set the <code>timeout</code> and it is encouraged to use a short timeout for webhooks. If the webhook call times out, the request is handled according to the webhook's failure policy. </div> <p>When an API server receives a request that matches one of the <code>rules</code>, the API server sends an <code>admissionReview</code> request to webhook as specified in the <code>clientConfig</code>.</p> <p>After you create the webhook configuration, the system will take a few seconds to honor the new configuration.</p> <h3 id="authenticate-apiservers">Authenticate API servers </h3> <p>If your admission webhooks require authentication, you can configure the API servers to use basic auth, bearer token, or a cert to authenticate itself to the webhooks. There are three steps to complete the configuration.</p> <ul> <li> <p>When starting the API server, specify the location of the admission control configuration file via the <code>--admission-control-config-file</code> flag.</p> </li> <li> <p>In the admission control configuration file, specify where the MutatingAdmissionWebhook controller and ValidatingAdmissionWebhook controller should read the credentials. The credentials are stored in kubeConfig files (yes, the same schema that's used by kubectl), so the field name is <code>kubeConfigFile</code>. Here is an example admission control configuration file:</p> </li> </ul> <ul class="nav nav-tabs" id="admissionconfiguration-example1" role="tablist"><li class="nav-item"><a data-toggle="tab" class="nav-link active" href="#admissionconfiguration-example1-0" role="tab" aria-controls="admissionconfiguration-example1-0" aria-selected="true">apiserver.config.k8s.io/v1</a></li> <li class="nav-item"><a data-toggle="tab" class="nav-link" href="#admissionconfiguration-example1-1" role="tab" aria-controls="admissionconfiguration-example1-1">apiserver.k8s.io/v1alpha1</a></li></ul> <div class="tab-content" id="admissionconfiguration-example1"><div id="admissionconfiguration-example1-0" class="tab-pane show active" role="tabpanel" aria-labelledby="admissionconfiguration-example1-0"> <p><div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>apiserver.config.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>AdmissionConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">plugins</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>ValidatingAdmissionWebhook<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">configuration</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>apiserver.config.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>WebhookAdmissionConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">kubeConfigFile</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;&lt;path-to-kubeconfig-file&gt;&#34;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>MutatingAdmissionWebhook<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">configuration</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>apiserver.config.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>WebhookAdmissionConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">kubeConfigFile</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;&lt;path-to-kubeconfig-file&gt;&#34;</span><span style="color:#bbb"> </span></span></span></code></pre></div></div> <div id="admissionconfiguration-example1-1" class="tab-pane" role="tabpanel" aria-labelledby="admissionconfiguration-example1-1"> <p><div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#080;font-style:italic"># Deprecated in v1.17 in favor of apiserver.config.k8s.io/v1</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>apiserver.k8s.io/v1alpha1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>AdmissionConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">plugins</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>ValidatingAdmissionWebhook<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">configuration</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Deprecated in v1.17 in favor of apiserver.config.k8s.io/v1, kind=WebhookAdmissionConfiguration</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>apiserver.config.k8s.io/v1alpha1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>WebhookAdmission<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">kubeConfigFile</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;&lt;path-to-kubeconfig-file&gt;&#34;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>MutatingAdmissionWebhook<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">configuration</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Deprecated in v1.17 in favor of apiserver.config.k8s.io/v1, kind=WebhookAdmissionConfiguration</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>apiserver.config.k8s.io/v1alpha1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>WebhookAdmission<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">kubeConfigFile</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;&lt;path-to-kubeconfig-file&gt;&#34;</span><span style="color:#bbb"> </span></span></span></code></pre></div></div></div> <p>For more information about <code>AdmissionConfiguration</code>, see the <a href="/docs/reference/config-api/apiserver-webhookadmission.v1/">AdmissionConfiguration (v1) reference</a>. See the <a href="#webhook-configuration">webhook configuration</a> section for details about each config field.</p> <p>In the kubeConfig file, provide the credentials:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>Config<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">users</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># name should be set to the DNS name of the service or the host (including port) of the URL the webhook is configured to speak to.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># If a non-443 port is used for services, it must be included in the name when configuring 1.16+ API servers.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic">#</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># For a webhook configured to speak to a service on the default port (443), specify the DNS name of the service:</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># - name: webhook1.ns1.svc</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># user: ...</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic">#</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># For a webhook configured to speak to a service on non-default port (e.g. 8443), specify the DNS name and port of the service in 1.16+:</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># - name: webhook1.ns1.svc:8443</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># user: ...</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># and optionally create a second stanza using only the DNS name of the service for compatibility with 1.15 API servers:</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># - name: webhook1.ns1.svc</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># user: ...</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic">#</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># For webhooks configured to speak to a URL, match the host (and port) specified in the webhook&#39;s URL. Examples:</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># A webhook with `url: https://www.example.com`:</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># - name: www.example.com</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># user: ...</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic">#</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># A webhook with `url: https://www.example.com:443`:</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># - name: www.example.com:443</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># user: ...</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic">#</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># A webhook with `url: https://www.example.com:8443`:</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># - name: www.example.com:8443</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># user: ...</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic">#</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;webhook1.ns1.svc&#39;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">user</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">client-certificate-data</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;&lt;pem encoded certificate&gt;&#34;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">client-key-data</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;&lt;pem encoded key&gt;&#34;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># The `name` supports using * to wildcard-match prefixing segments.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;*.webhook-company.org&#39;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">user</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">password</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;&lt;password&gt;&#34;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">username</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;&lt;name&gt;&#34;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#080;font-style:italic"># &#39;*&#39; is the default match.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;*&#39;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">user</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">token</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;&lt;token&gt;&#34;</span><span style="color:#bbb"> </span></span></span></code></pre></div><p>Of course you need to set up the webhook server to handle these authentication requests.</p> <h2 id="webhook-request-and-response">Webhook request and response</h2> <h3 id="request">Request</h3> <p>Webhooks are sent as POST requests, with <code>Content-Type: application/json</code>, with an <code>AdmissionReview</code> API object in the <code>admission.k8s.io</code> API group serialized to JSON as the body.</p> <p>Webhooks can specify what versions of <code>AdmissionReview</code> objects they accept with the <code>admissionReviewVersions</code> field in their configuration:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>ValidatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">admissionReviewVersions</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;v1&#34;</span>,<span style="color:#bbb"> </span><span style="color:#b44">&#34;v1beta1&#34;</span>]<span style="color:#bbb"> </span></span></span></code></pre></div><p><code>admissionReviewVersions</code> is a required field when creating webhook configurations. Webhooks are required to support at least one <code>AdmissionReview</code> version understood by the current and previous API server.</p> <p>API servers send the first <code>AdmissionReview</code> version in the <code>admissionReviewVersions</code> list they support. If none of the versions in the list are supported by the API server, the configuration will not be allowed to be created. If an API server encounters a webhook configuration that was previously created and does not support any of the <code>AdmissionReview</code> versions the API server knows how to send, attempts to call to the webhook will fail and be subject to the <a href="#failure-policy">failure policy</a>.</p> <p>This example shows the data contained in an <code>AdmissionReview</code> object for a request to update the <code>scale</code> subresource of an <code>apps/v1</code> <code>Deployment</code>:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admission.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>AdmissionReview<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">request</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Random uid uniquely identifying this admission call</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">uid</span>:<span style="color:#bbb"> </span>705ab4f5-6393-11e8-b7cc-42010a800002<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Fully-qualified group/version/kind of the incoming object</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">group</span>:<span style="color:#bbb"> </span>autoscaling<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">version</span>:<span style="color:#bbb"> </span>v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>Scale<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Fully-qualified group/version/kind of the resource being modified</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">resource</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">group</span>:<span style="color:#bbb"> </span>apps<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">version</span>:<span style="color:#bbb"> </span>v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">resource</span>:<span style="color:#bbb"> </span>deployments<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># subresource, if the request is to a subresource</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">subResource</span>:<span style="color:#bbb"> </span>scale<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Fully-qualified group/version/kind of the incoming object in the original request to the API server.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># This only differs from `kind` if the webhook specified `matchPolicy: Equivalent` and the</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># original request to the API server was converted to a version the webhook registered for.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">requestKind</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">group</span>:<span style="color:#bbb"> </span>autoscaling<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">version</span>:<span style="color:#bbb"> </span>v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>Scale<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Fully-qualified group/version/kind of the resource being modified in the original request to the API server.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># This only differs from `resource` if the webhook specified `matchPolicy: Equivalent` and the</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># original request to the API server was converted to a version the webhook registered for.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">requestResource</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">group</span>:<span style="color:#bbb"> </span>apps<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">version</span>:<span style="color:#bbb"> </span>v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">resource</span>:<span style="color:#bbb"> </span>deployments<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># subresource, if the request is to a subresource</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># This only differs from `subResource` if the webhook specified `matchPolicy: Equivalent` and the</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># original request to the API server was converted to a version the webhook registered for.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">requestSubResource</span>:<span style="color:#bbb"> </span>scale<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Name of the resource being modified</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-deployment<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Namespace of the resource being modified, if the resource is namespaced (or is a Namespace object)</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">namespace</span>:<span style="color:#bbb"> </span>my-namespace<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># operation can be CREATE, UPDATE, DELETE, or CONNECT</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">operation</span>:<span style="color:#bbb"> </span>UPDATE<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">userInfo</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Username of the authenticated user making the request to the API server</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">username</span>:<span style="color:#bbb"> </span>admin<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># UID of the authenticated user making the request to the API server</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">uid</span>:<span style="color:#bbb"> </span>014fbff9a07c<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Group memberships of the authenticated user making the request to the API server</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">groups</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- system:authenticated<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- my-admin-group<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Arbitrary extra info associated with the user making the request to the API server.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># This is populated by the API server authentication layer and should be included</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># if any SubjectAccessReview checks are performed by the webhook.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">extra</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">some-key</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- some-value1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- some-value2<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># object is the new object being admitted.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># It is null for DELETE operations.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">object</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>autoscaling/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>Scale<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># oldObject is the existing object.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># It is null for CREATE and CONNECT operations.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">oldObject</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>autoscaling/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>Scale<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># options contains the options for the operation being admitted, like meta.k8s.io/v1 CreateOptions, UpdateOptions, or DeleteOptions.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># It is null for CONNECT operations.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">options</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>meta.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>UpdateOptions<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># dryRun indicates the API request is running in dry run mode and will not be persisted.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Webhooks with side effects should avoid actuating those side effects when dryRun is true.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># See http://k8s.io/docs/reference/using-api/api-concepts/#make-a-dry-run-request for more details.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">dryRun</span>:<span style="color:#bbb"> </span><span style="color:#a2f;font-weight:bold">False</span><span style="color:#bbb"> </span></span></span></code></pre></div><h3 id="response">Response</h3> <p>Webhooks respond with a 200 HTTP status code, <code>Content-Type: application/json</code>, and a body containing an <code>AdmissionReview</code> object (in the same version they were sent), with the <code>response</code> stanza populated, serialized to JSON.</p> <p>At a minimum, the <code>response</code> stanza must contain the following fields:</p> <ul> <li><code>uid</code>, copied from the <code>request.uid</code> sent to the webhook</li> <li><code>allowed</code>, either set to <code>true</code> or <code>false</code></li> </ul> <p>Example of a minimal response from a webhook to allow a request:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-json" data-lang="json"><span style="display:flex;"><span>{ </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;apiVersion&#34;</span>: <span style="color:#b44">&#34;admission.k8s.io/v1&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;kind&#34;</span>: <span style="color:#b44">&#34;AdmissionReview&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;response&#34;</span>: { </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;uid&#34;</span>: <span style="color:#b44">&#34;&lt;value from request.uid&gt;&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;allowed&#34;</span>: <span style="color:#a2f;font-weight:bold">true</span> </span></span><span style="display:flex;"><span> } </span></span><span style="display:flex;"><span>} </span></span></code></pre></div><p>Example of a minimal response from a webhook to forbid a request:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-json" data-lang="json"><span style="display:flex;"><span>{ </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;apiVersion&#34;</span>: <span style="color:#b44">&#34;admission.k8s.io/v1&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;kind&#34;</span>: <span style="color:#b44">&#34;AdmissionReview&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;response&#34;</span>: { </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;uid&#34;</span>: <span style="color:#b44">&#34;&lt;value from request.uid&gt;&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;allowed&#34;</span>: <span style="color:#a2f;font-weight:bold">false</span> </span></span><span style="display:flex;"><span> } </span></span><span style="display:flex;"><span>} </span></span></code></pre></div><p>When rejecting a request, the webhook can customize the http code and message returned to the user using the <code>status</code> field. The specified status object is returned to the user. See the <a href="/docs/reference/generated/kubernetes-api/v1.28/#status-v1-meta">API documentation</a> for details about the <code>status</code> type. Example of a response to forbid a request, customizing the HTTP status code and message presented to the user:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-json" data-lang="json"><span style="display:flex;"><span>{ </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;apiVersion&#34;</span>: <span style="color:#b44">&#34;admission.k8s.io/v1&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;kind&#34;</span>: <span style="color:#b44">&#34;AdmissionReview&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;response&#34;</span>: { </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;uid&#34;</span>: <span style="color:#b44">&#34;&lt;value from request.uid&gt;&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;allowed&#34;</span>: <span style="color:#a2f;font-weight:bold">false</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;status&#34;</span>: { </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;code&#34;</span>: <span style="color:#666">403</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;message&#34;</span>: <span style="color:#b44">&#34;You cannot do this because it is Tuesday and your name starts with A&#34;</span> </span></span><span style="display:flex;"><span> } </span></span><span style="display:flex;"><span> } </span></span><span style="display:flex;"><span>} </span></span></code></pre></div><p>When allowing a request, a mutating admission webhook may optionally modify the incoming object as well. This is done using the <code>patch</code> and <code>patchType</code> fields in the response. The only currently supported <code>patchType</code> is <code>JSONPatch</code>. See <a href="https://jsonpatch.com/">JSON patch</a> documentation for more details. For <code>patchType: JSONPatch</code>, the <code>patch</code> field contains a base64-encoded array of JSON patch operations.</p> <p>As an example, a single patch operation that would set <code>spec.replicas</code> would be <code>[{&quot;op&quot;: &quot;add&quot;, &quot;path&quot;: &quot;/spec/replicas&quot;, &quot;value&quot;: 3}]</code></p> <p>Base64-encoded, this would be <code>W3sib3AiOiAiYWRkIiwgInBhdGgiOiAiL3NwZWMvcmVwbGljYXMiLCAidmFsdWUiOiAzfV0=</code></p> <p>So a webhook response to add that label would be:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-json" data-lang="json"><span style="display:flex;"><span>{ </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;apiVersion&#34;</span>: <span style="color:#b44">&#34;admission.k8s.io/v1&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;kind&#34;</span>: <span style="color:#b44">&#34;AdmissionReview&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;response&#34;</span>: { </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;uid&#34;</span>: <span style="color:#b44">&#34;&lt;value from request.uid&gt;&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;allowed&#34;</span>: <span style="color:#a2f;font-weight:bold">true</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;patchType&#34;</span>: <span style="color:#b44">&#34;JSONPatch&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;patch&#34;</span>: <span style="color:#b44">&#34;W3sib3AiOiAiYWRkIiwgInBhdGgiOiAiL3NwZWMvcmVwbGljYXMiLCAidmFsdWUiOiAzfV0=&#34;</span> </span></span><span style="display:flex;"><span> } </span></span><span style="display:flex;"><span>} </span></span></code></pre></div><p>Admission webhooks can optionally return warning messages that are returned to the requesting client in HTTP <code>Warning</code> headers with a warning code of 299. Warnings can be sent with allowed or rejected admission responses.</p> <p>If you're implementing a webhook that returns a warning:</p> <ul> <li>Don't include a &quot;Warning:&quot; prefix in the message</li> <li>Use warning messages to describe problems the client making the API request should correct or be aware of</li> <li>Limit warnings to 120 characters if possible</li> </ul> <div class="alert alert-warning caution callout" role="alert"> <strong>Caution:</strong> Individual warning messages over 256 characters may be truncated by the API server before being returned to clients. If more than 4096 characters of warning messages are added (from all sources), additional warning messages are ignored. </div> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-json" data-lang="json"><span style="display:flex;"><span>{ </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;apiVersion&#34;</span>: <span style="color:#b44">&#34;admission.k8s.io/v1&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;kind&#34;</span>: <span style="color:#b44">&#34;AdmissionReview&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;response&#34;</span>: { </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;uid&#34;</span>: <span style="color:#b44">&#34;&lt;value from request.uid&gt;&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;allowed&#34;</span>: <span style="color:#a2f;font-weight:bold">true</span>, </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">&#34;warnings&#34;</span>: [ </span></span><span style="display:flex;"><span> <span style="color:#b44">&#34;duplicate envvar entries specified with name MY_ENV&#34;</span>, </span></span><span style="display:flex;"><span> <span style="color:#b44">&#34;memory request less than 4MB specified for container mycontainer, which will not start successfully&#34;</span> </span></span><span style="display:flex;"><span> ] </span></span><span style="display:flex;"><span> } </span></span><span style="display:flex;"><span>} </span></span></code></pre></div><h2 id="webhook-configuration">Webhook configuration</h2> <p>To register admission webhooks, create <code>MutatingWebhookConfiguration</code> or <code>ValidatingWebhookConfiguration</code> API objects. The name of a <code>MutatingWebhookConfiguration</code> or a <code>ValidatingWebhookConfiguration</code> object must be a valid <a href="/docs/concepts/overview/working-with-objects/names#dns-subdomain-names">DNS subdomain name</a>.</p> <p>Each configuration can contain one or more webhooks. If multiple webhooks are specified in a single configuration, each must be given a unique name. This is required in order to make resulting audit logs and metrics easier to match up to active configurations.</p> <p>Each webhook defines the following things.</p> <h3 id="matching-requests-rules">Matching requests: rules</h3> <p>Each webhook must specify a list of rules used to determine if a request to the API server should be sent to the webhook. Each rule specifies one or more operations, apiGroups, apiVersions, and resources, and a resource scope:</p> <ul> <li> <p><code>operations</code> lists one or more operations to match. Can be <code>&quot;CREATE&quot;</code>, <code>&quot;UPDATE&quot;</code>, <code>&quot;DELETE&quot;</code>, <code>&quot;CONNECT&quot;</code>, or <code>&quot;*&quot;</code> to match all.</p> </li> <li> <p><code>apiGroups</code> lists one or more API groups to match. <code>&quot;&quot;</code> is the core API group. <code>&quot;*&quot;</code> matches all API groups.</p> </li> <li> <p><code>apiVersions</code> lists one or more API versions to match. <code>&quot;*&quot;</code> matches all API versions.</p> </li> <li> <p><code>resources</code> lists one or more resources to match.</p> <ul> <li><code>&quot;*&quot;</code> matches all resources, but not subresources.</li> <li><code>&quot;*/*&quot;</code> matches all resources and subresources.</li> <li><code>&quot;pods/*&quot;</code> matches all subresources of pods.</li> <li><code>&quot;*/status&quot;</code> matches all status subresources.</li> </ul> </li> <li> <p><code>scope</code> specifies a scope to match. Valid values are <code>&quot;Cluster&quot;</code>, <code>&quot;Namespaced&quot;</code>, and <code>&quot;*&quot;</code>. Subresources match the scope of their parent resource. Default is <code>&quot;*&quot;</code>.</p> <ul> <li><code>&quot;Cluster&quot;</code> means that only cluster-scoped resources will match this rule (Namespace API objects are cluster-scoped).</li> <li><code>&quot;Namespaced&quot;</code> means that only namespaced resources will match this rule.</li> <li><code>&quot;*&quot;</code> means that there are no scope restrictions.</li> </ul> </li> </ul> <p>If an incoming request matches one of the specified <code>operations</code>, <code>groups</code>, <code>versions</code>, <code>resources</code>, and <code>scope</code> for any of a webhook's <code>rules</code>, the request is sent to the webhook.</p> <p>Here are other examples of rules that could be used to specify which resources should be intercepted.</p> <p>Match <code>CREATE</code> or <code>UPDATE</code> requests to <code>apps/v1</code> and <code>apps/v1beta1</code> <code>deployments</code> and <code>replicasets</code>:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>ValidatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#00f;font-weight:bold">...</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">rules</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">operations</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;CREATE&#34;</span>,<span style="color:#bbb"> </span><span style="color:#b44">&#34;UPDATE&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiGroups</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;apps&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersions</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;v1&#34;</span>,<span style="color:#bbb"> </span><span style="color:#b44">&#34;v1beta1&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">resources</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;deployments&#34;</span>,<span style="color:#bbb"> </span><span style="color:#b44">&#34;replicasets&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">scope</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;Namespaced&#34;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>...<span style="color:#bbb"> </span></span></span></code></pre></div><p>Match create requests for all resources (but not subresources) in all API groups and versions:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>ValidatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">rules</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">operations</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;CREATE&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiGroups</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersions</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">resources</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">scope</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;*&#34;</span><span style="color:#bbb"> </span></span></span></code></pre></div><p>Match update requests for all <code>status</code> subresources in all API groups and versions:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>ValidatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">rules</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">operations</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;UPDATE&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiGroups</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersions</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">resources</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*/status&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">scope</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;*&#34;</span><span style="color:#bbb"> </span></span></span></code></pre></div><h3 id="matching-requests-objectselector">Matching requests: objectSelector</h3> <p>Webhooks may optionally limit which requests are intercepted based on the labels of the objects they would be sent, by specifying an <code>objectSelector</code>. If specified, the objectSelector is evaluated against both the object and oldObject that would be sent to the webhook, and is considered to match if either object matches the selector.</p> <p>A null object (<code>oldObject</code> in the case of create, or <code>newObject</code> in the case of delete), or an object that cannot have labels (like a <code>DeploymentRollback</code> or a <code>PodProxyOptions</code> object) is not considered to match.</p> <p>Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels.</p> <p>This example shows a mutating webhook that would match a <code>CREATE</code> of any resource (but not subresources) with the label <code>foo: bar</code>:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>MutatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">objectSelector</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">matchLabels</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">foo</span>:<span style="color:#bbb"> </span>bar<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">rules</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">operations</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;CREATE&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiGroups</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersions</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">resources</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">scope</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;*&#34;</span><span style="color:#bbb"> </span></span></span></code></pre></div><p>See <a href="/docs/concepts/overview/working-with-objects/labels">labels concept</a> for more examples of label selectors.</p> <h3 id="matching-requests-namespaceselector">Matching requests: namespaceSelector</h3> <p>Webhooks may optionally limit which requests for namespaced resources are intercepted, based on the labels of the containing namespace, by specifying a <code>namespaceSelector</code>.</p> <p>The <code>namespaceSelector</code> decides whether to run the webhook on a request for a namespaced resource (or a Namespace object), based on whether the namespace's labels match the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is a cluster scoped resource other than a Namespace, <code>namespaceSelector</code> has no effect.</p> <p>This example shows a mutating webhook that matches a <code>CREATE</code> of any namespaced resource inside a namespace that does not have a &quot;runlevel&quot; label of &quot;0&quot; or &quot;1&quot;:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>MutatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">namespaceSelector</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">matchExpressions</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">key</span>:<span style="color:#bbb"> </span>runlevel<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">operator</span>:<span style="color:#bbb"> </span>NotIn<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">values</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;0&#34;</span>,<span style="color:#b44">&#34;1&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">rules</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">operations</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;CREATE&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiGroups</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersions</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">resources</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">scope</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;Namespaced&#34;</span><span style="color:#bbb"> </span></span></span></code></pre></div><p>This example shows a validating webhook that matches a <code>CREATE</code> of any namespaced resource inside a namespace that is associated with the &quot;environment&quot; of &quot;prod&quot; or &quot;staging&quot;:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>ValidatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">namespaceSelector</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">matchExpressions</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">key</span>:<span style="color:#bbb"> </span>environment<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">operator</span>:<span style="color:#bbb"> </span>In<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">values</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;prod&#34;</span>,<span style="color:#b44">&#34;staging&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">rules</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">operations</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;CREATE&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiGroups</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersions</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">resources</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;*&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">scope</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;Namespaced&#34;</span><span style="color:#bbb"> </span></span></span></code></pre></div><p>See <a href="/docs/concepts/overview/working-with-objects/labels">labels concept</a> for more examples of label selectors.</p> <h3 id="matching-requests-matchpolicy">Matching requests: matchPolicy</h3> <p>API servers can make objects available via multiple API groups or versions.</p> <p>For example, if a webhook only specified a rule for some API groups/versions (like <code>apiGroups:[&quot;apps&quot;], apiVersions:[&quot;v1&quot;,&quot;v1beta1&quot;]</code>), and a request was made to modify the resource via another API group/version (like <code>extensions/v1beta1</code>), the request would not be sent to the webhook.</p> <p>The <code>matchPolicy</code> lets a webhook define how its <code>rules</code> are used to match incoming requests. Allowed values are <code>Exact</code> or <code>Equivalent</code>.</p> <ul> <li><code>Exact</code> means a request should be intercepted only if it exactly matches a specified rule.</li> <li><code>Equivalent</code> means a request should be intercepted if modifies a resource listed in <code>rules</code>, even via another API group or version.</li> </ul> <p>In the example given above, the webhook that only registered for <code>apps/v1</code> could use <code>matchPolicy</code>:</p> <ul> <li><code>matchPolicy: Exact</code> would mean the <code>extensions/v1beta1</code> request would not be sent to the webhook</li> <li><code>matchPolicy: Equivalent</code> means the <code>extensions/v1beta1</code> request would be sent to the webhook (with the objects converted to a version the webhook had specified: <code>apps/v1</code>)</li> </ul> <p>Specifying <code>Equivalent</code> is recommended, and ensures that webhooks continue to intercept the resources they expect when upgrades enable new versions of the resource in the API server.</p> <p>When a resource stops being served by the API server, it is no longer considered equivalent to other versions of that resource that are still served. For example, <code>extensions/v1beta1</code> deployments were first deprecated and then removed (in Kubernetes v1.16).</p> <p>Since that removal, a webhook with a <code>apiGroups:[&quot;extensions&quot;], apiVersions:[&quot;v1beta1&quot;], resources:[&quot;deployments&quot;]</code> rule does not intercept deployments created via <code>apps/v1</code> APIs. For that reason, webhooks should prefer registering for stable versions of resources.</p> <p>This example shows a validating webhook that intercepts modifications to deployments (no matter the API group or version), and is always sent an <code>apps/v1</code> <code>Deployment</code> object:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>ValidatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">matchPolicy</span>:<span style="color:#bbb"> </span>Equivalent<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">rules</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">operations</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;CREATE&#34;</span>,<span style="color:#b44">&#34;UPDATE&#34;</span>,<span style="color:#b44">&#34;DELETE&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiGroups</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;apps&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersions</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;v1&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">resources</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#34;deployments&#34;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">scope</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;Namespaced&#34;</span><span style="color:#bbb"> </span></span></span></code></pre></div><p>The <code>matchPolicy</code> for an admission webhooks defaults to <code>Equivalent</code>.</p> <h3 id="matching-requests-matchconditions">Matching requests: <code>matchConditions</code></h3> <div style="margin-top: 10px; margin-bottom: 10px;"> <b>FEATURE STATE:</b> <code>Kubernetes v1.28 [beta]</code> </div> <p>You can define <em>match conditions</em> for webhooks if you need fine-grained request filtering. These conditions are useful if you find that match rules, <code>objectSelectors</code> and <code>namespaceSelectors</code> still doesn't provide the filtering you want over when to call out over HTTP. Match conditions are <a href="/docs/reference/using-api/cel/">CEL expressions</a>. All match conditions must evaluate to true for the webhook to be called.</p> <p>Here is an example illustrating a few different uses for match conditions:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>ValidatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">matchPolicy</span>:<span style="color:#bbb"> </span>Equivalent<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">rules</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">operations</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#39;CREATE&#39;</span>,<span style="color:#b44">&#39;UPDATE&#39;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiGroups</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#39;*&#39;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersions</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#39;*&#39;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">resources</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#39;*&#39;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">failurePolicy</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;Ignore&#39;</span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Fail-open (optional)</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">sideEffects</span>:<span style="color:#bbb"> </span>None<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">clientConfig</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">service</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">namespace</span>:<span style="color:#bbb"> </span>my-namespace<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">caBundle</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;&lt;omitted&gt;&#39;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># You can have up to 64 matchConditions per webhook</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">matchConditions</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;exclude-leases&#39;</span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Each match condition must have a unique name</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">expression</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;!(request.resource.group == &#34;coordination.k8s.io&#34; &amp;&amp; request.resource.resource == &#34;leases&#34;)&#39;</span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Match non-lease resources.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;exclude-kubelet-requests&#39;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">expression</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;!(&#34;system:nodes&#34; in request.userInfo.groups)&#39;</span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Match requests made by non-node users.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;rbac&#39;</span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Skip RBAC requests, which are handled by the second webhook.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">expression</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;request.resource.group != &#34;rbac.authorization.k8s.io&#34;&#39;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># This example illustrates the use of the &#39;authorizer&#39;. The authorization check is more expensive</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># than a simple expression, so in this example it is scoped to only RBAC requests by using a second</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># webhook. Both webhooks can be served by the same endpoint.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>rbac.my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">matchPolicy</span>:<span style="color:#bbb"> </span>Equivalent<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">rules</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">operations</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#39;CREATE&#39;</span>,<span style="color:#b44">&#39;UPDATE&#39;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiGroups</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#39;rbac.authorization.k8s.io&#39;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">apiVersions</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#39;*&#39;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">resources</span>:<span style="color:#bbb"> </span>[<span style="color:#b44">&#39;*&#39;</span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">failurePolicy</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;Fail&#39;</span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Fail-closed (the default)</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">sideEffects</span>:<span style="color:#bbb"> </span>None<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">clientConfig</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">service</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">namespace</span>:<span style="color:#bbb"> </span>my-namespace<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">caBundle</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;&lt;omitted&gt;&#39;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># You can have up to 64 matchConditions per webhook</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">matchConditions</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;breakglass&#39;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># Skip requests made by users authorized to &#39;breakglass&#39; on this webhook.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># The &#39;breakglass&#39; API verb does not need to exist outside this check.</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">expression</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#39;!authorizer.group(&#34;admissionregistration.k8s.io&#34;).resource(&#34;validatingwebhookconfigurations&#34;).name(&#34;my-webhook.example.com&#34;).check(&#34;breakglass&#34;).allowed()&#39;</span><span style="color:#bbb"> </span></span></span></code></pre></div><div class="alert alert-info note callout" role="alert"> <strong>Note:</strong> You can define up to 64 elements in the <code>matchConditions</code> field per webhook. </div> <p>Match conditions have access to the following CEL variables:</p> <ul> <li><code>object</code> - The object from the incoming request. The value is null for DELETE requests. The object version may be converted based on the <a href="#matching-requests-matchpolicy">matchPolicy</a>.</li> <li><code>oldObject</code> - The existing object. The value is null for CREATE requests.</li> <li><code>request</code> - The request portion of the <a href="#request">AdmissionReview</a>, excluding <code>object</code> and <code>oldObject</code>.</li> <li><code>authorizer</code> - A CEL Authorizer. May be used to perform authorization checks for the principal (authenticated user) of the request. See <a href="https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz">Authz</a> in the Kubernetes CEL library documentation for more details.</li> <li><code>authorizer.requestResource</code> - A shortcut for an authorization check configured with the request resource (group, resource, (subresource), namespace, name).</li> </ul> <p>For more information on CEL expressions, refer to the <a href="/docs/reference/using-api/cel/">Common Expression Language in Kubernetes reference</a>.</p> <p>In the event of an error evaluating a match condition the webhook is never called. Whether to reject the request is determined as follows:</p> <ol> <li>If <strong>any</strong> match condition evaluated to <code>false</code> (regardless of other errors), the API server skips the webhook.</li> <li>Otherwise: <ul> <li>for <a href="#failure-policy"><code>failurePolicy: Fail</code></a>, reject the request (without calling the webhook).</li> <li>for <a href="#failure-policy"><code>failurePolicy: Ignore</code></a>, proceed with the request but skip the webhook.</li> </ul> </li> </ol> <h3 id="contacting-the-webhook">Contacting the webhook</h3> <p>Once the API server has determined a request should be sent to a webhook, it needs to know how to contact the webhook. This is specified in the <code>clientConfig</code> stanza of the webhook configuration.</p> <p>Webhooks can either be called via a URL or a service reference, and can optionally include a custom CA bundle to use to verify the TLS connection.</p> <h4 id="url">URL</h4> <p><code>url</code> gives the location of the webhook, in standard URL form (<code>scheme://host:port/path</code>).</p> <p>The <code>host</code> should not refer to a service running in the cluster; use a service reference by specifying the <code>service</code> field instead. The host might be resolved via external DNS in some API servers (e.g., <code>kube-apiserver</code> cannot resolve in-cluster DNS as that would be a layering violation). <code>host</code> may also be an IP address.</p> <p>Please note that using <code>localhost</code> or <code>127.0.0.1</code> as a <code>host</code> is risky unless you take great care to run this webhook on all hosts which run an API server which might need to make calls to this webhook. Such installations are likely to be non-portable or not readily run in a new cluster.</p> <p>The scheme must be &quot;https&quot;; the URL must begin with &quot;https://&quot;.</p> <p>Attempting to use a user or basic auth (for example <code>user:password@</code>) is not allowed. Fragments (<code>#...</code>) and query parameters (<code>?...</code>) are also not allowed.</p> <p>Here is an example of a mutating webhook configured to call a URL (and expects the TLS certificate to be verified using system trust roots, so does not specify a caBundle):</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>MutatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">clientConfig</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">url</span>:<span style="color:#bbb"> </span><span style="color:#b44">&#34;https://my-webhook.example.com:9443/my-webhook-path&#34;</span><span style="color:#bbb"> </span></span></span></code></pre></div><h4 id="service-reference">Service reference</h4> <p>The <code>service</code> stanza inside <code>clientConfig</code> is a reference to the service for this webhook. If the webhook is running within the cluster, then you should use <code>service</code> instead of <code>url</code>. The service namespace and name are required. The port is optional and defaults to 443. The path is optional and defaults to &quot;/&quot;.</p> <p>Here is an example of a mutating webhook configured to call a service on port &quot;1234&quot; at the subpath &quot;/my-path&quot;, and to verify the TLS connection against the ServerName <code>my-service-name.my-service-namespace.svc</code> using a custom CA bundle:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>MutatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">clientConfig</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">caBundle</span>:<span style="color:#bbb"> </span>&lt;CA_BUNDLE&gt;<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">service</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">namespace</span>:<span style="color:#bbb"> </span>my-service-namespace<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-service-name<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">path</span>:<span style="color:#bbb"> </span>/my-path<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">port</span>:<span style="color:#bbb"> </span><span style="color:#666">1234</span><span style="color:#bbb"> </span></span></span></code></pre></div><div class="alert alert-info note callout" role="alert"> <strong>Note:</strong> You must replace the <code>&lt;CA_BUNDLE&gt;</code> in the above example by a valid CA bundle which is a PEM-encoded CA bundle for validating the webhook's server certificate. </div> <h3 id="side-effects">Side effects</h3> <p>Webhooks typically operate only on the content of the <code>AdmissionReview</code> sent to them. Some webhooks, however, make out-of-band changes as part of processing admission requests.</p> <p>Webhooks that make out-of-band changes (&quot;side effects&quot;) must also have a reconciliation mechanism (like a controller) that periodically determines the actual state of the world, and adjusts the out-of-band data modified by the admission webhook to reflect reality. This is because a call to an admission webhook does not guarantee the admitted object will be persisted as is, or at all. Later webhooks can modify the content of the object, a conflict could be encountered while writing to storage, or the server could power off before persisting the object.</p> <p>Additionally, webhooks with side effects must skip those side-effects when <code>dryRun: true</code> admission requests are handled. A webhook must explicitly indicate that it will not have side-effects when run with <code>dryRun</code>, or the dry-run request will not be sent to the webhook and the API request will fail instead.</p> <p>Webhooks indicate whether they have side effects using the <code>sideEffects</code> field in the webhook configuration:</p> <ul> <li><code>None</code>: calling the webhook will have no side effects.</li> <li><code>NoneOnDryRun</code>: calling the webhook will possibly have side effects, but if a request with <code>dryRun: true</code> is sent to the webhook, the webhook will suppress the side effects (the webhook is <code>dryRun</code>-aware).</li> </ul> <p>Here is an example of a validating webhook indicating it has no side effects on <code>dryRun: true</code> requests:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>ValidatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">sideEffects</span>:<span style="color:#bbb"> </span>NoneOnDryRun<span style="color:#bbb"> </span></span></span></code></pre></div><h3 id="timeouts">Timeouts</h3> <p>Because webhooks add to API request latency, they should evaluate as quickly as possible. <code>timeoutSeconds</code> allows configuring how long the API server should wait for a webhook to respond before treating the call as a failure.</p> <p>If the timeout expires before the webhook responds, the webhook call will be ignored or the API call will be rejected based on the <a href="#failure-policy">failure policy</a>.</p> <p>The timeout value must be between 1 and 30 seconds.</p> <p>Here is an example of a validating webhook with a custom timeout of 2 seconds:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>ValidatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">timeoutSeconds</span>:<span style="color:#bbb"> </span><span style="color:#666">2</span><span style="color:#bbb"> </span></span></span></code></pre></div><p>The timeout for an admission webhook defaults to 10 seconds.</p> <h3 id="reinvocation-policy">Reinvocation policy</h3> <p>A single ordering of mutating admissions plugins (including webhooks) does not work for all cases (see <a href="https://issue.k8s.io/64333">https://issue.k8s.io/64333</a> as an example). A mutating webhook can add a new sub-structure to the object (like adding a <code>container</code> to a <code>pod</code>), and other mutating plugins which have already run may have opinions on those new structures (like setting an <code>imagePullPolicy</code> on all containers).</p> <p>To allow mutating admission plugins to observe changes made by other plugins, built-in mutating admission plugins are re-run if a mutating webhook modifies an object, and mutating webhooks can specify a <code>reinvocationPolicy</code> to control whether they are reinvoked as well.</p> <p><code>reinvocationPolicy</code> may be set to <code>Never</code> or <code>IfNeeded</code>. It defaults to <code>Never</code>.</p> <ul> <li><code>Never</code>: the webhook must not be called more than once in a single admission evaluation.</li> <li><code>IfNeeded</code>: the webhook may be called again as part of the admission evaluation if the object being admitted is modified by other admission plugins after the initial webhook call.</li> </ul> <p>The important elements to note are:</p> <ul> <li>The number of additional invocations is not guaranteed to be exactly one.</li> <li>If additional invocations result in further modifications to the object, webhooks are not guaranteed to be invoked again.</li> <li>Webhooks that use this option may be reordered to minimize the number of additional invocations.</li> <li>To validate an object after all mutations are guaranteed complete, use a validating admission webhook instead (recommended for webhooks with side-effects).</li> </ul> <p>Here is an example of a mutating webhook opting into being re-invoked if later admission plugins modify the object:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>MutatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">reinvocationPolicy</span>:<span style="color:#bbb"> </span>IfNeeded<span style="color:#bbb"> </span></span></span></code></pre></div><p>Mutating webhooks must be <a href="#idempotence">idempotent</a>, able to successfully process an object they have already admitted and potentially modified. This is true for all mutating admission webhooks, since any change they can make in an object could already exist in the user-provided object, but it is essential for webhooks that opt into reinvocation.</p> <h3 id="failure-policy">Failure policy</h3> <p><code>failurePolicy</code> defines how unrecognized errors and timeout errors from the admission webhook are handled. Allowed values are <code>Ignore</code> or <code>Fail</code>.</p> <ul> <li><code>Ignore</code> means that an error calling the webhook is ignored and the API request is allowed to continue.</li> <li><code>Fail</code> means that an error calling the webhook causes the admission to fail and the API request to be rejected.</li> </ul> <p>Here is a mutating webhook configured to reject an API request if errors are encountered calling the admission webhook:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">apiVersion</span>:<span style="color:#bbb"> </span>admissionregistration.k8s.io/v1<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">kind</span>:<span style="color:#bbb"> </span>MutatingWebhookConfiguration<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">webhooks</span>:<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>- <span style="color:#008000;font-weight:bold">name</span>:<span style="color:#bbb"> </span>my-webhook.example.com<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">failurePolicy</span>:<span style="color:#bbb"> </span>Fail<span style="color:#bbb"> </span></span></span></code></pre></div><p>The default <code>failurePolicy</code> for an admission webhooks is <code>Fail</code>.</p> <h2 id="monitoring-admission-webhooks">Monitoring admission webhooks</h2> <p>The API server provides ways to monitor admission webhook behaviors. These monitoring mechanisms help cluster admins to answer questions like:</p> <ol> <li> <p>Which mutating webhook mutated the object in a API request?</p> </li> <li> <p>What change did the mutating webhook applied to the object?</p> </li> <li> <p>Which webhooks are frequently rejecting API requests? What's the reason for a rejection?</p> </li> </ol> <h3 id="mutating-webhook-auditing-annotations">Mutating webhook auditing annotations</h3> <p>Sometimes it's useful to know which mutating webhook mutated the object in a API request, and what change did the webhook apply.</p> <p>The Kubernetes API server performs <a href="/docs/tasks/debug/debug-cluster/audit/">auditing</a> on each mutating webhook invocation. Each invocation generates an auditing annotation capturing if a request object is mutated by the invocation, and optionally generates an annotation capturing the applied patch from the webhook admission response. The annotations are set in the audit event for given request on given stage of its execution, which is then pre-processed according to a certain policy and written to a backend.</p> <p>The audit level of a event determines which annotations get recorded:</p> <ul> <li> <p>At <code>Metadata</code> audit level or higher, an annotation with key <code>mutation.webhook.admission.k8s.io/round_{round idx}_index_{order idx}</code> gets logged with JSON payload indicating a webhook gets invoked for given request and whether it mutated the object or not.</p> <p>For example, the following annotation gets recorded for a webhook being reinvoked. The webhook is ordered the third in the mutating webhook chain, and didn't mutated the request object during the invocation.</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#080;font-style:italic"># the audit event recorded</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>{<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;kind&#34;: </span><span style="color:#b44">&#34;Event&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;apiVersion&#34;: </span><span style="color:#b44">&#34;audit.k8s.io/v1&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;annotations&#34;: </span>{<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;mutation.webhook.admission.k8s.io/round_1_index_2&#34;: &#34;{\&#34;configuration\&#34;:\&#34;my-mutating-webhook-configuration.example.com\&#34;,\&#34;webhook\&#34;:\&#34;my-webhook.example.com\&#34;,\&#34;mutated\&#34;: </span><span style="color:#a2f;font-weight:bold">false</span>}&#34;<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># other annotations</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>...<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>}<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># other fields</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>...<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>}<span style="color:#bbb"> </span></span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#080;font-style:italic"># the annotation value deserialized</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>{<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;configuration&#34;: </span><span style="color:#b44">&#34;my-mutating-webhook-configuration.example.com&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;webhook&#34;: </span><span style="color:#b44">&#34;my-webhook.example.com&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;mutated&#34;: </span><span style="color:#a2f;font-weight:bold">false</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>}<span style="color:#bbb"> </span></span></span></code></pre></div><p>The following annotation gets recorded for a webhook being invoked in the first round. The webhook is ordered the first in the mutating webhook chain, and mutated the request object during the invocation.</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#080;font-style:italic"># the audit event recorded</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>{<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;kind&#34;: </span><span style="color:#b44">&#34;Event&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;apiVersion&#34;: </span><span style="color:#b44">&#34;audit.k8s.io/v1&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;annotations&#34;: </span>{<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;mutation.webhook.admission.k8s.io/round_0_index_0&#34;: &#34;{\&#34;configuration\&#34;:\&#34;my-mutating-webhook-configuration.example.com\&#34;,\&#34;webhook\&#34;:\&#34;my-webhook-always-mutate.example.com\&#34;,\&#34;mutated\&#34;: </span><span style="color:#a2f;font-weight:bold">true</span>}&#34;<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># other annotations</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>...<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>}<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># other fields</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>...<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>}<span style="color:#bbb"> </span></span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#080;font-style:italic"># the annotation value deserialized</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>{<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;configuration&#34;: </span><span style="color:#b44">&#34;my-mutating-webhook-configuration.example.com&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;webhook&#34;: </span><span style="color:#b44">&#34;my-webhook-always-mutate.example.com&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;mutated&#34;: </span><span style="color:#a2f;font-weight:bold">true</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>}<span style="color:#bbb"> </span></span></span></code></pre></div></li> <li> <p>At <code>Request</code> audit level or higher, an annotation with key <code>patch.webhook.admission.k8s.io/round_{round idx}_index_{order idx}</code> gets logged with JSON payload indicating a webhook gets invoked for given request and what patch gets applied to the request object.</p> <p>For example, the following annotation gets recorded for a webhook being reinvoked. The webhook is ordered the fourth in the mutating webhook chain, and responded with a JSON patch which got applied to the request object.</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#080;font-style:italic"># the audit event recorded</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>{<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;kind&#34;: </span><span style="color:#b44">&#34;Event&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;apiVersion&#34;: </span><span style="color:#b44">&#34;audit.k8s.io/v1&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;annotations&#34;: </span>{<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;patch.webhook.admission.k8s.io/round_1_index_3&#34;: </span><span style="color:#b44">&#34;{\&#34;configuration\&#34;:\&#34;my-other-mutating-webhook-configuration.example.com\&#34;,\&#34;webhook\&#34;:\&#34;my-webhook-always-mutate.example.com\&#34;,\&#34;patch\&#34;:[{\&#34;op\&#34;:\&#34;add\&#34;,\&#34;path\&#34;:\&#34;/data/mutation-stage\&#34;,\&#34;value\&#34;:\&#34;yes\&#34;}],\&#34;patchType\&#34;:\&#34;JSONPatch\&#34;}&#34;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># other annotations</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>...<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>}<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#080;font-style:italic"># other fields</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>...<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>}<span style="color:#bbb"> </span></span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#080;font-style:italic"># the annotation value deserialized</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>{<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;configuration&#34;: </span><span style="color:#b44">&#34;my-other-mutating-webhook-configuration.example.com&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;webhook&#34;: </span><span style="color:#b44">&#34;my-webhook-always-mutate.example.com&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;patchType&#34;: </span><span style="color:#b44">&#34;JSONPatch&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;patch&#34;: </span>[<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>{<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;op&#34;: </span><span style="color:#b44">&#34;add&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;path&#34;: </span><span style="color:#b44">&#34;/data/mutation-stage&#34;</span>,<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">&#34;value&#34;: </span><span style="color:#b44">&#34;yes&#34;</span><span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>}<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span>]<span style="color:#bbb"> </span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span>}<span style="color:#bbb"> </span></span></span></code></pre></div></li> </ul> <h3 id="admission-webhook-metrics">Admission webhook metrics</h3> <p>The API server exposes Prometheus metrics from the <code>/metrics</code> endpoint, which can be used for monitoring and diagnosing API server status. The following metrics record status related to admission webhooks.</p> <h4 id="api-server-admission-webhook-rejection-count">API server admission webhook rejection count</h4> <p>Sometimes it's useful to know which admission webhooks are frequently rejecting API requests, and the reason for a rejection.</p> <p>The API server exposes a Prometheus counter metric recording admission webhook rejections. The metrics are labelled to identify the causes of webhook rejection(s):</p> <ul> <li> <p><code>name</code>: the name of the webhook that rejected a request.</p> </li> <li> <p><code>operation</code>: the operation type of the request, can be one of <code>CREATE</code>, <code>UPDATE</code>, <code>DELETE</code> and <code>CONNECT</code>.</p> </li> <li> <p><code>type</code>: the admission webhook type, can be one of <code>admit</code> and <code>validating</code>.</p> </li> <li> <p><code>error_type</code>: identifies if an error occurred during the webhook invocation that caused the rejection. Its value can be one of:</p> <ul> <li><code>calling_webhook_error</code>: unrecognized errors or timeout errors from the admission webhook happened and the webhook's <a href="#failure-policy">Failure policy</a> is set to <code>Fail</code>.</li> <li><code>no_error</code>: no error occurred. The webhook rejected the request with <code>allowed: false</code> in the admission response. The metrics label <code>rejection_code</code> records the <code>.status.code</code> set in the admission response.</li> <li><code>apiserver_internal_error</code>: an API server internal error happened.</li> </ul> </li> <li> <p><code>rejection_code</code>: the HTTP status code set in the admission response when a webhook rejected a request.</p> </li> </ul> <p>Example of the rejection count metrics:</p> <pre tabindex="0"><code># HELP apiserver_admission_webhook_rejection_count [ALPHA] Admission webhook rejection count, identified by name and broken out for each admission type (validating or admit) and operation. Additional labels specify an error type (calling_webhook_error or apiserver_internal_error if an error occurred; no_error otherwise) and optionally a non-zero rejection code if the webhook rejects the request with an HTTP status code (honored by the apiserver when the code is greater or equal to 400). Codes greater than 600 are truncated to 600, to keep the metrics cardinality bounded. # TYPE apiserver_admission_webhook_rejection_count counter apiserver_admission_webhook_rejection_count{error_type=&#34;calling_webhook_error&#34;,name=&#34;always-timeout-webhook.example.com&#34;,operation=&#34;CREATE&#34;,rejection_code=&#34;0&#34;,type=&#34;validating&#34;} 1 apiserver_admission_webhook_rejection_count{error_type=&#34;calling_webhook_error&#34;,name=&#34;invalid-admission-response-webhook.example.com&#34;,operation=&#34;CREATE&#34;,rejection_code=&#34;0&#34;,type=&#34;validating&#34;} 1 apiserver_admission_webhook_rejection_count{error_type=&#34;no_error&#34;,name=&#34;deny-unwanted-configmap-data.example.com&#34;,operation=&#34;CREATE&#34;,rejection_code=&#34;400&#34;,type=&#34;validating&#34;} 13 </code></pre><h2 id="best-practices-and-warnings">Best practices and warnings</h2> <h3 id="idempotence">Idempotence</h3> <p>An idempotent mutating admission webhook is able to successfully process an object it has already admitted and potentially modified. The admission can be applied multiple times without changing the result beyond the initial application.</p> <h4 id="example-of-idempotent-mutating-admission-webhooks">Example of idempotent mutating admission webhooks:</h4> <ol> <li> <p>For a <code>CREATE</code> pod request, set the field <code>.spec.securityContext.runAsNonRoot</code> of the pod to true, to enforce security best practices.</p> </li> <li> <p>For a <code>CREATE</code> pod request, if the field <code>.spec.containers[].resources.limits</code> of a container is not set, set default resource limits.</p> </li> <li> <p>For a <code>CREATE</code> pod request, inject a sidecar container with name <code>foo-sidecar</code> if no container with the name <code>foo-sidecar</code> already exists.</p> </li> </ol> <p>In the cases above, the webhook can be safely reinvoked, or admit an object that already has the fields set.</p> <h4 id="example-of-non-idempotent-mutating-admission-webhooks">Example of non-idempotent mutating admission webhooks:</h4> <ol> <li> <p>For a <code>CREATE</code> pod request, inject a sidecar container with name <code>foo-sidecar</code> suffixed with the current timestamp (e.g. <code>foo-sidecar-19700101-000000</code>).</p> </li> <li> <p>For a <code>CREATE</code>/<code>UPDATE</code> pod request, reject if the pod has label <code>&quot;env&quot;</code> set, otherwise add an <code>&quot;env&quot;: &quot;prod&quot;</code> label to the pod.</p> </li> <li> <p>For a <code>CREATE</code> pod request, blindly append a sidecar container named <code>foo-sidecar</code> without looking to see if there is already a <code>foo-sidecar</code> container in the pod.</p> </li> </ol> <p>In the first case above, reinvoking the webhook can result in the same sidecar being injected multiple times to a pod, each time with a different container name. Similarly the webhook can inject duplicated containers if the sidecar already exists in a user-provided pod.</p> <p>In the second case above, reinvoking the webhook will result in the webhook failing on its own output.</p> <p>In the third case above, reinvoking the webhook will result in duplicated containers in the pod spec, which makes the request invalid and rejected by the API server.</p> <h3 id="intercepting-all-versions-of-an-object">Intercepting all versions of an object</h3> <p>It is recommended that admission webhooks should always intercept all versions of an object by setting <code>.webhooks[].matchPolicy</code> to <code>Equivalent</code>. It is also recommended that admission webhooks should prefer registering for stable versions of resources. Failure to intercept all versions of an object can result in admission policies not being enforced for requests in certain versions. See <a href="#matching-requests-matchpolicy">Matching requests: matchPolicy</a> for examples.</p> <h3 id="availability">Availability</h3> <p>It is recommended that admission webhooks should evaluate as quickly as possible (typically in milliseconds), since they add to API request latency. It is encouraged to use a small timeout for webhooks. See <a href="#timeouts">Timeouts</a> for more detail.</p> <p>It is recommended that admission webhooks should leverage some format of load-balancing, to provide high availability and performance benefits. If a webhook is running within the cluster, you can run multiple webhook backends behind a service to leverage the load-balancing that service supports.</p> <h3 id="guaranteeing-the-final-state-of-the-object-is-seen">Guaranteeing the final state of the object is seen</h3> <p>Admission webhooks that need to guarantee they see the final state of the object in order to enforce policy should use a validating admission webhook, since objects can be modified after being seen by mutating webhooks.</p> <p>For example, a mutating admission webhook is configured to inject a sidecar container with name &quot;foo-sidecar&quot; on every <code>CREATE</code> pod request. If the sidecar <em>must</em> be present, a validating admisson webhook should also be configured to intercept <code>CREATE</code> pod requests, and validate that a container with name &quot;foo-sidecar&quot; with the expected configuration exists in the to-be-created object.</p> <h3 id="avoiding-deadlocks-in-self-hosted-webhooks">Avoiding deadlocks in self-hosted webhooks</h3> <p>A webhook running inside the cluster might cause deadlocks for its own deployment if it is configured to intercept resources required to start its own pods.</p> <p>For example, a mutating admission webhook is configured to admit <code>CREATE</code> pod requests only if a certain label is set in the pod (e.g. <code>&quot;env&quot;: &quot;prod&quot;</code>). The webhook server runs in a deployment which doesn't set the <code>&quot;env&quot;</code> label. When a node that runs the webhook server pods becomes unhealthy, the webhook deployment will try to reschedule the pods to another node. However the requests will get rejected by the existing webhook server since the <code>&quot;env&quot;</code> label is unset, and the migration cannot happen.</p> <p>It is recommended to exclude the namespace where your webhook is running with a <a href="#matching-requests-namespaceselector">namespaceSelector</a>.</p> <h3 id="side-effects-1">Side effects</h3> <p>It is recommended that admission webhooks should avoid side effects if possible, which means the webhooks operate only on the content of the <code>AdmissionReview</code> sent to them, and do not make out-of-band changes. The <code>.webhooks[].sideEffects</code> field should be set to <code>None</code> if a webhook doesn't have any side effect.</p> <p>If side effects are required during the admission evaluation, they must be suppressed when processing an <code>AdmissionReview</code> object with <code>dryRun</code> set to <code>true</code>, and the <code>.webhooks[].sideEffects</code> field should be set to <code>NoneOnDryRun</code>. See <a href="#side-effects">Side effects</a> for more detail.</p> <h3 id="avoiding-operating-on-the-kube-system-namespace">Avoiding operating on the kube-system namespace</h3> <p>The <code>kube-system</code> namespace contains objects created by the Kubernetes system, e.g. service accounts for the control plane components, pods like <code>kube-dns</code>. Accidentally mutating or rejecting requests in the <code>kube-system</code> namespace may cause the control plane components to stop functioning or introduce unknown behavior. If your admission webhooks don't intend to modify the behavior of the Kubernetes control plane, exclude the <code>kube-system</code> namespace from being intercepted using a <a href="#matching-requests-namespaceselector"><code>namespaceSelector</code></a>.</p> </div> <div id="pre-footer"> <h2>Feedback</h2> <p class="feedback--prompt">Was this page helpful? </p> <button class="btn btn-primary mb-4 feedback--yes">Yes</button> <button class="btn btn-primary mb-4 feedback--no">No</button> <p class="feedback--response feedback--response__hidden"> Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on <a target="_blank" rel="noopener" href="https://stackoverflow.com/questions/tagged/kubernetes"> Stack Overflow</a>. Open an issue in the <a href="https://www.github.com/kubernetes/website/">GitHub Repository</a> if you want to <a class="feedback--link" target="_blank" rel="noopener" href="https://github.com/kubernetes/website/issues/new?title=Issue%20with%20k8s.io"> report a problem</a> or <a class="feedback--link" target="_blank" rel="noopener" href="https://github.com/kubernetes/website/issues/new?title=Improvement%20for%20k8s.io"> suggest an improvement</a>. </p> </div> <script> const yes = document.querySelector('.feedback--yes'); const no = document.querySelector('.feedback--no'); document.querySelectorAll('.feedback--link').forEach(link => { link.href = link.href + window.location.pathname; }); const sendFeedback = (value) => { if (!gtag) { console.log('!gtag'); } gtag('event', 'click', { 'event_category': 'Helpful', 'event_label': window.location.pathname, value }); }; const disableButtons = () => { yes.disabled = true; yes.classList.add('feedback--button__disabled'); no.disabled = true; no.classList.add('feedback--button__disabled'); }; yes.addEventListener('click', () => { sendFeedback(1); disableButtons(); document.querySelector('.feedback--response').classList.remove('feedback--response__hidden'); }); no.addEventListener('click', () => { sendFeedback(0); disableButtons(); document.querySelector('.feedback--response').classList.remove('feedback--response__hidden'); }); </script> <div class="text-muted mt-5 pt-3 border-top"> Last modified August 18, 2023 at 9:03 AM PST: <a href="https://github.com/kubernetes/website/commit/60bf42a52786684e8090f0eb5a8c458d8494a5bd">Update test cases for v1.28 (60bf42a527)</a> </div> </main> <div class="d-none d-xl-block td-toc d-print-none col-xl-4"> <div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> <a href="https://github.com/kubernetes/website/edit/main/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a> <a href="https://github.com/kubernetes/website/new/main/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" target="_blank"><i class="fa fa-edit fa-fw"></i> Create child page</a> <a href="https://github.com/kubernetes/website/issues/new?title=Dynamic%20Admission%20Control" target="_blank"><i class="fab fa-github fa-fw"></i> Create an issue</a> <a id="print" href="https://kubernetes.io/docs/reference/access-authn-authz/_print/"><i class="fa fa-print fa-fw"></i> Print entire section</a> </div> <nav id="TableOfContents"> <ul> <li><a href="#what-are-admission-webhooks">What are admission webhooks?</a></li> <li><a href="#experimenting-with-admission-webhooks">Experimenting with admission webhooks</a> <ul> <li><a href="#prerequisites">Prerequisites</a></li> <li><a href="#write-an-admission-webhook-server">Write an admission webhook server</a></li> <li><a href="#deploy-the-admission-webhook-service">Deploy the admission webhook service</a></li> <li><a href="#configure-admission-webhooks-on-the-fly">Configure admission webhooks on the fly</a></li> <li><a href="#authenticate-apiservers">Authenticate API servers </a></li> </ul> </li> <li><a href="#webhook-request-and-response">Webhook request and response</a> <ul> <li><a href="#request">Request</a></li> <li><a href="#response">Response</a></li> </ul> </li> <li><a href="#webhook-configuration">Webhook configuration</a> <ul> <li><a href="#matching-requests-rules">Matching requests: rules</a></li> <li><a href="#matching-requests-objectselector">Matching requests: objectSelector</a></li> <li><a href="#matching-requests-namespaceselector">Matching requests: namespaceSelector</a></li> <li><a href="#matching-requests-matchpolicy">Matching requests: matchPolicy</a></li> <li><a href="#matching-requests-matchconditions">Matching requests: <code>matchConditions</code></a></li> <li><a href="#contacting-the-webhook">Contacting the webhook</a></li> <li><a href="#side-effects">Side effects</a></li> <li><a href="#timeouts">Timeouts</a></li> <li><a href="#reinvocation-policy">Reinvocation policy</a></li> <li><a href="#failure-policy">Failure policy</a></li> </ul> </li> <li><a href="#monitoring-admission-webhooks">Monitoring admission webhooks</a> <ul> <li><a href="#mutating-webhook-auditing-annotations">Mutating webhook auditing annotations</a></li> <li><a href="#admission-webhook-metrics">Admission webhook metrics</a></li> </ul> </li> <li><a href="#best-practices-and-warnings">Best practices and warnings</a> <ul> <li><a href="#idempotence">Idempotence</a></li> <li><a href="#intercepting-all-versions-of-an-object">Intercepting all versions of an object</a></li> <li><a href="#availability">Availability</a></li> <li><a href="#guaranteeing-the-final-state-of-the-object-is-seen">Guaranteeing the final state of the object is seen</a></li> <li><a href="#avoiding-deadlocks-in-self-hosted-webhooks">Avoiding deadlocks in self-hosted webhooks</a></li> <li><a href="#side-effects-1">Side effects</a></li> <li><a href="#avoiding-operating-on-the-kube-system-namespace">Avoiding operating on the kube-system namespace</a></li> </ul> </li> </ul> </nav> </div> </div> </div> </div> </div> <footer class="d-print-none"> <div class="footer__links"> <nav> <a class="text-white" href="/docs/home/">Documentation</a> <a class="text-white" href="/blog/">Blog</a> <a class="text-white" href="/training/">Training</a> <a class="text-white" href="/partners/">Partners</a> <a class="text-white" href="/community/">Community</a> <a class="text-white" href="/case-studies/">Case Studies</a> </nav> </div> <div class="container-fluid"> <div class="row"> <div class="col-6 col-sm-2 text-xs-center order-sm-2"> <ul class="list-inline mb-0"> <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="User mailing list" aria-label="User mailing list"> <a class="text-white" target="_blank" href="https://discuss.kubernetes.io"> <i class="fa fa-envelope"></i> </a> </li> <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="Twitter" aria-label="Twitter"> <a class="text-white" target="_blank" href="https://twitter.com/kubernetesio"> <i class="fab fa-twitter"></i> </a> </li> <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="Calendar" aria-label="Calendar"> <a class="text-white" target="_blank" href="https://calendar.google.com/calendar/embed?src=calendar%40kubernetes.io"> <i class="fas fa-calendar-alt"></i> </a> </li> <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="Youtube" aria-label="Youtube"> <a class="text-white" target="_blank" href="https://youtube.com/kubernetescommunity"> <i class="fab fa-youtube"></i> </a> </li> </ul> </div> <div class="col-6 col-sm-2 text-right text-xs-center order-sm-3"> <ul class="list-inline mb-0"> <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="GitHub" aria-label="GitHub"> <a class="text-white" target="_blank" href="https://github.com/kubernetes/kubernetes"> <i class="fab fa-github"></i> </a> </li> <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="Slack" aria-label="Slack"> <a class="text-white" target="_blank" href="https://slack.k8s.io"> <i class="fab fa-slack"></i> </a> </li> <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="Contribute" aria-label="Contribute"> <a class="text-white" target="_blank" href="https://git.k8s.io/community/contributors/guide"> <i class="fas fa-edit"></i> </a> </li> <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="Stack Overflow" aria-label="Stack Overflow"> <a class="text-white" target="_blank" href="https://stackoverflow.com/questions/tagged/kubernetes"> <i class="fab fa-stack-overflow"></i> </a> </li> </ul> </div> <div class="col-12 col-sm-8 text-center order-sm-2"> <small class="text-white">&copy; 2024 The Kubernetes Authors | Documentation Distributed under <a href="https://git.k8s.io/website/LICENSE" class="light-text">CC BY 4.0</a></small> <br/> <small class="text-white">Copyright &copy; 2024 The Linux Foundation &reg;. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our <a href="https://www.linuxfoundation.org/trademark-usage" class="light-text">Trademark Usage page</a></small> <br/> <small class="text-white">ICP license: 京ICP备17074266号-3</small> </div> </div> </div> </footer> <script src="/js/jquery-3.6.0.min.js" integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" crossorigin="anonymous"></script> <script src="/js/popper-1.16.1.min.js" intregrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script> <script src="/js/bootstrap-4.6.1.min.js" integrity="sha384-VHvPCCyXqtD5DqJeNxl2dtTyhF78xXNXdkwX1CZeRusQfRKp+tA7hAShOK/B/fQ2" crossorigin="anonymous"></script> <script src="/js/script.js"></script> <script async src="/js/mermaid-8.13.4.min.js" integrity="sha384-5hHNvPeMrNH14oM3IcQofDoBhiclNK3g2+hnEinKzQ07C4AliMeVpnvxuiwEGpaO" crossorigin="anonymous"></script> <script src="/js/main.min.5c0bf7f21dc4f66485f74efbbeeff28a7e4f8cddaac1bae47043159c922ff3a3.js" integrity="sha256-XAv38h3E9mSF9077vu/yin5PjN2qwbrkcEMVnJIv86M=" crossorigin="anonymous"></script> <script> let splitInstance = null; function enableSplitter(mediaQuery) { if (mediaQuery.matches) { if (!splitInstance) { splitInstance = Split(["#sidebarnav", "#maindoc"], { sizes: [20, 80], minSize: 100, }); } } else { if (splitInstance) { splitInstance.destroy(); splitInstance = null; } } } const screenWidthMediaQuery = window.matchMedia("(min-width: 768px)"); const eleNav = document.getElementById("sidebarnav"); if (eleNav !== null) { enableSplitter(screenWidthMediaQuery); screenWidthMediaQuery.addListener(enableSplitter); } </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10