Kubernetes 策略是用于管理其他配置或运行时行为的配置。Kubernetes 提供了多种形式的策略,如下所述:
一些 API 对象充当策略。以下是一些示例:
准入控制器 运行在 API 服务器中,可以验证或修改 API 请求。一些准入控制器用于应用策略。例如,AlwaysPullImages 准入控制器会修改新的 Pod,将镜像拉取策略设置为 Always。
Kubernetes 有几个内置的准入控制器,可通过 API 服务器的 --enable-admission-plugins 标志进行配置。
有关准入控制器的详细信息以及可用准入控制器的完整列表,请参阅专门章节。
验证准入策略允许使用通用表达式语言 (CEL) 在 API 服务器中执行可配置的验证检查。例如,ValidatingAdmissionPolicy 可用于禁止使用 latest 镜像标签。
ValidatingAdmissionPolicy 对 API 请求进行操作,可用于阻止、审计和向用户发出关于不合规配置的警告。
有关 ValidatingAdmissionPolicy API 的详细信息(含示例)记录在专门章节中。
动态准入控制器(或准入 Webhook)在 API 服务器之外作为独立应用程序运行,它们注册以接收 Webhook 请求,从而对 API 请求执行验证或修改。
动态准入控制器可用于对 API 请求应用策略,并触发其他基于策略的工作流。动态准入控制器可以执行复杂的检查,包括需要检索其他集群资源和外部数据的检查。例如,镜像验证检查可以查找来自 OCI 仓库的数据,以验证容器镜像的签名和认证。
有关动态准入控制的详细信息记录在专门章节中。
Kubernetes 生态系统中正在开发充当灵活策略引擎的动态准入控制器,例如:
Kubernetes 允许在每个工作节点上配置 Kubelet。一些 Kubelet 配置充当策略: