9.11. cert-manager Operator 的网络策略配置
cert-manager Operator for Red Hat OpenShift 提供了预定义的 NetworkPolicy 资源,通过控制其组件的入口和出口流量来增强安全性。默认情况下,这个功能被禁用,以防止在升级过程中出现连接问题或破坏更改。要使用这个功能,您必须在 CertManager 自定义资源(CR)中启用它。
启用默认策略后,您必须手动配置额外的出口规则来允许出站流量。cert-manager Operator for Red Hat OpenShift 需要这些规则才能与 API 服务器和内部 DNS 之外的外部服务通信。
需要自定义出口规则的服务示例包括:
- ACME 服务器,例如 Let’s Encrypt
- DNS-01 质询供应商,如 AWS Route53 或 Cloudflare
- 外部 CA,如 HashiCorp Vault
在以后的版本中预期会默认启用网络策略,这会导致在升级过程中出现连接失败。要准备此更改,请配置所需的出口策略。
9.11.1. 默认入口和出口规则 复制链接链接已复制到粘贴板!
默认网络策略将以下入口和出口规则应用到每个组件。
| 组件 | Ingress 端口 | Egress 端口 | 描述 |
|---|---|---|---|
|
| 9402 | 6443, 5353 | 允许入口流量到指标服务器和到 OpenShift API 服务器的出口流量。 |
|
| 9402, 10250 | 6443 | 允许到指标和 webhook 服务器的入口流量,以及到 OpenShift API 服务器和内部 DNS 服务器的出口流量。 |
|
| 9402 | 6443 | 允许入口流量到指标服务器和到 OpenShift API 服务器的出口流量。 |
|
| 6443, 9402 | 6443 | 允许到 gRPC Istio 证书请求 API、指标服务器和出口流量到 OpenShift API 服务器的入口流量。 |
9.11.2. 网络策略配置参数 复制链接链接已复制到粘贴板!
您可以通过更新 CertManager 自定义资源(CR)来为 cert-manager Operator 组件启用并配置网络策略。CR 包括启用默认网络策略和定义自定义出口规则的以下参数。
| 字段 | 类型 | 描述 |
|---|---|---|
|
|
| 指定是否为 cert-manager Operator 组件启用默认网络策略。 重要 启用默认网络策略后,您无法禁用它们。这个限制可防止意外安全降级。在启用此设置前,请确保计划网络策略要求。 |
|
|
|
定义自定义网络策略配置列表。要应用配置,您必须将 |
|
|
|
指定此网络策略目标的组件。唯一有效的值为 |
|
|
|
定义指定组件的出口规则。设置为 |
|
|
| 定义指定供应商的网络端口和协议列表。 |
|
|
|
指定自定义网络策略的唯一名称,用于生成 |
9.11.3. 网络策略配置示例 复制链接链接已复制到粘贴板!
以下示例涵盖了与启用网络策略和自定义规则相关的各种场景:
启用网络策略管理示例
允许出口到所有外部签发者供应商的示例
允许到特定签发者供应商的出口示例
以下配置允许 cert-manager Operator 控制器执行 ACME 质询自我检查。此过程需要连接到 ACME 提供程序、DNS API 端点和递归 DNS 服务器。
9.11.4. 验证网络策略创建 复制链接链接已复制到粘贴板!
您可以验证是否创建了 default 和 custom NetworkPolicy 资源。
先决条件
-
您已在
CertManager自定义资源中为 cert-manager Operator for Red Hat OpenShift 启用了网络策略。
流程
运行以下命令,验证
cert-manager命名空间中的NetworkPolicy资源列表:oc get networkpolicy -n cert-manager
$ oc get networkpolicy -n cert-managerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出中列出了默认策略以及您创建的任何自定义策略。