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