3.9. 管理 gatekeeper Operator 策略


使用 gatekeeper operator 策略在受管集群上安装 gatekeeper operator 和 gatekeeper。在以下部分中了解如何创建、查看和更新您的 gatekeeper Operator 策略。

需要的访问权限: 集群管理员

使用监管框架来安装 gatekeeper Operator。OpenShift Container Platform 目录中提供了 gatekeeper operator。如需更多信息,请参阅 OpenShift Container Platform 文档中的 Adding Operators to a cluster 部分。

使用配置策略控制器来安装 gatekeeper operator 策略。在安装过程中,Operator 组和订阅会拉取 gatekeeper operator 将其安装到受管集群中。然后,gatekeeper operator 会创建一个 gatekeeper CR 来配置 gatekeeper。查看 Gatekeeper operator CR 示例。

在支持 enforce(强制) 补救操作的情况下,gatekeeper operator 策略由 Red Hat Advanced Cluster Management 配置策略控制器监控。当设置为 enforce 时,控制器会自动创建 Gatekeeper Operator 策略。

3.9.2. 从控制台创建 gatekeeper 策略

通过从控制台创建 gatekeeper 策略来安装 gatekeeper 策略。另外,您可以查看一个 YAML 示例来部署 policy-gatekeeper-operator.yaml

登录到集群后,进入 Governance 页面。

选择 Create policy。在完成表单时,从 Specifications 字段中选择 Gatekeeper Operator。策略的参数值会自动填充,策略默认设置为 inform。将补救操作设置为 enforce 来安装 gatekeeper。

注: 默认值由 Operator 生成。如需了解可用于 gatekeeper operator 策略的可选参数的说明,请参阅 Gatekeeper Helm Chart

3.9.2.1. Gatekeeper operator CR

apiVersion: operator.gatekeeper.sh/v1alpha1
kind: Gatekeeper
metadata:
  name: gatekeeper
spec:
  audit:
    replicas: 1
    logLevel: DEBUG
    auditInterval: 10s
    constraintViolationLimit: 55
    auditFromCache: Enabled
    auditChunkSize: 66
    emitAuditEvents: Enabled
    resources:
      limits:
        cpu: 500m
        memory: 150Mi
      requests:
        cpu: 500m
        memory: 130Mi
  validatingWebhook: Enabled
  webhook:
    replicas: 2
    logLevel: ERROR
    emitAdmissionEvents: Enabled
    failurePolicy: Fail
    resources:
      limits:
        cpu: 480m
        memory: 140Mi
      requests:
        cpu: 400m
        memory: 120Mi
  nodeSelector:
    region: "EMEA"
  affinity:
    podAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        - labelSelector:
            matchLabels:
              auditKey: "auditValue"
          topologyKey: topology.kubernetes.io/zone
  tolerations:
    - key: "Example"
      operator: "Exists"
      effect: "NoSchedule"
  podAnnotations:
    some-annotation: "this is a test"
    other-annotation: "another test"
Copy to Clipboard Toggle word wrap

3.9.3. 升级 gatekeeper 和 gatekeeper operator

您可以升级 gatekeeper 和 gatekeeper operator 的版本。当使用 gatekeeper operator 策略安装 gatekeeper operator 时,请注意 installPlanApproval 的值。当 installPlanApproval 设置为 Automatic 时,Operator 会自动升级。

installPlanApproval 设置为 Manual 时,您必须为每个集群手动批准 gatekeeper operator 的升级。

3.9.4. 更新 gatekeeper operator 策略

查看以下部分以了解如何更新 gatekeeper operator 策略。

3.9.4.1. 从控制台查看 gatekeeper operator 策略

在控制台中查看您的 gatekeeper operator 策略及其状态。

从控制台登录到集群后,点 Governance 来查看您的策略的表列表。注: 您可以选择 Policies 标签页或 Cluster violations 选项卡来过滤策略列表。

选择 policy-gatekeeper-operator 策略来查看更多详细信息。选择 Clusters 选项卡来查看策略违反情况。

3.9.4.2. 禁用 gatekeeper operator 策略

禁用 gatekeeper operator 策略。

登录到 Red Hat Advanced Cluster Management for Kubernetes 控制台后,进入 Governance 页面来查看您的策略的表列表。

选择 policy-gatekeeper-operator 策略的 Actions 图标,然后点 Disable。此时会出现 Disable Policy 对话框。

点击 Disable policy。您的 policy-gatekeeper-operator 策略已被禁用。

3.9.5. 删除 gatekeeper operator 策略

通过 CLI 或控制台删除 gatekeeper operator 策略。

  • 通过 CLI 删除 gatekeeper operator 策略:

    1. 运行以下命令来删除 gatekeeper operator 策略:

      kubectl delete policies.policy.open-cluster-management.io <policy-gatekeeper-operator-name> -n <namespace>
      Copy to Clipboard Toggle word wrap

      删除策略后,它会从一个或多个目标集群中移除。

    2. 运行以下命令验证您的策略是否已移除:

      kubectl get policies.policy.open-cluster-management.io <policy-gatekeeper-operator-name> -n <namespace>
      Copy to Clipboard Toggle word wrap
  • 从控制台删除 gatekeeper operator 策略:

    进入 Governance 页面,以查看您的策略的表列表。

    与之前的控制台指令类似,点 policy-gatekeeper-operator 策略的 Actions 图标。点 Remove 以删除该策略。在 Remove policy 对话框中点击 Remove policy

您的 gatekeeper operator 策略被删除。

完成以下步骤以卸载 gatekeeper 策略、gatekeeper 和 gatekeeper operator 策略:

  1. 删除应用到受管集群的 gatekeeper ConstraintConstraintTemplate

    1. 编辑 gatekeeper operator 策略。找到您用来创建 gatekeeper ConstraintConstraintTemplateConfigurationPolicy 模板 。
    2. ConfigurationPolicy 模板的 complianceType 的值改为 mustnothave
    3. 保存并应用策略。
  2. 从受管集群中删除 gatekeeper 实例:

    1. 编辑 gatekeeper operator 策略。找到用于创建 Gatekeeper 自定义资源(CR)的 ConfigurationPolicy 模板。
    2. ConfigurationPolicy 模板的 complianceType 的值改为 mustnothave
  3. 删除受管集群中的 gatekeeper Operator:

    1. 编辑 gatekeeper operator 策略。找到用于创建 Subscription CR 的 ConfigurationPolicy 模板。
    2. ConfigurationPolicy 模板的 complianceType 的值改为 mustnothave

Gatekeeper 策略、gatekeeper 和 gatekeeper operator 策略会被卸载。

如需有关 gatekeeper 的详细信息,请参阅集成 gatekeeper 约束和约束模板。有关将第三方策略与产品集成的主题列表,请参阅集成第三方策略控制器

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat