策略
Kubernetes 策略是管理其他配置或运行时行为的配置。 Kubernetes 提供了多种形式的策略,如下所述
使用 API 对象应用策略
某些 API 对象充当策略。以下是一些示例
- 网络策略可用于限制工作负载的入口和出口流量。
- LimitRanges 管理不同对象类型之间的资源分配约束。
- ResourceQuotas 限制命名空间的资源消耗。
使用准入控制器应用策略
准入控制器在 API 服务器中运行,可以验证或更改 API 请求。一些准入控制器用于应用策略。例如,AlwaysPullImages 准入控制器修改一个新的 Pod,将镜像拉取策略设置为 Always
。
Kubernetes 有几个内置的准入控制器,可以通过 API 服务器 --enable-admission-plugins
标志进行配置。
关于准入控制器的详细信息,以及可用准入控制器的完整列表,请参阅专门的章节
使用 ValidatingAdmissionPolicy 应用策略
验证准入策略允许使用通用表达式语言 (CEL) 在 API 服务器中执行可配置的验证检查。例如,可以使用 ValidatingAdmissionPolicy
来禁止使用 latest
镜像标签。
ValidatingAdmissionPolicy
对 API 请求进行操作,可以用来阻止、审计和警告用户不符合配置。
关于 ValidatingAdmissionPolicy
API 的详细信息以及示例,请参阅专门的章节
使用动态准入控制应用策略
动态准入控制器(或准入 Webhook)在 API 服务器外部作为单独的应用程序运行,这些应用程序注册接收 Webhook 请求以执行 API 请求的验证或更改。
动态准入控制器可用于在 API 请求上应用策略,并触发其他基于策略的工作流。动态准入控制器可以执行复杂的检查,包括那些需要检索其他集群资源和外部数据的检查。例如,镜像验证检查可以从 OCI 注册表中查找数据,以验证容器镜像签名和证明。
关于动态准入控制的详细信息,请参阅专门的章节
实现
Kubernetes 生态系统中正在开发充当灵活策略引擎的动态准入控制器,例如
使用 Kubelet 配置应用策略
Kubernetes 允许在每个工作节点上配置 Kubelet。一些 Kubelet 配置充当策略
- 进程 ID 限制和预留用于限制和预留可分配的 PID。
- 节点资源管理器可以管理延迟敏感型和高吞吐量工作负载的计算、内存和设备资源。
本页上的项目引用提供 Kubernetes 所需功能的第三方产品或项目。 Kubernetes 项目的作者不对这些第三方产品或项目负责。有关更多详细信息,请参阅CNCF 网站指南。
在提出添加额外第三方链接的更改之前,您应该阅读内容指南。