2.4. 策略示例

查看策略示例,了解如何在 Red Hat Advanced Cluster Management for Kubernetes 中创建和管理策略时如何在 hub 集群上定义规则、流程和控制。

:您可以将现有策略复制到 Policy YAML 中。当您粘贴现有策略时,会自动输入参数字段的值。您还可以使用搜索功能搜索策略 YAML 文件中的内容。

查看以下策略示例以查看具体策略是如何应用的:

更多主题请参阅监管和风险

2.4.1. 内存用量策略

Kubernetes 配置策略控制器负责监控内存用量策略的状态。使用内存用量策略来限制或约束您的内存和计算用量。如需更多信息,请参阅 Kubernetes 文档中的限制范围。在以下部分了解更多有关内存用量策略结构的详细信息。

2.4.1.1. 内存用量策略 YAML 结构

您的内存用量策略可能类似以下 YAML 文件:

   apiVersion: policy.open-cluster-management.io/v1
   kind: Policy
   metadata:
     name: policy-limitrange
     namespace:
   spec:
     complianceType:
     remediationAction:
     namespaces:
       exclude:
       include:
     object-templates:
       - complianceType:
         objectDefinition:
           apiVersion:
           kind:
           metadata:
             name:
           spec:
             limits:
             - default:
                 memory:
               defaultRequest:
                 memory:
               type:
           ...

2.4.1.2. 内存用量策略表

字段描述

apiVersion

必需。将值设置为 policy.open-cluster-management.io/v1

kind

必需。将值设为 Policy 以表示策略类型。

metadata.name

必需。用于标识策略资源的名称。

metadata.namespaces

可选。

spec.namespace

必需。策略应用到的节点集群内命名空间。输入 include 的参数值,这是您要将策略应用到的命名空间。exclude 参数指定您明确不希望将策略应用到的命名空间。:在策略控制器的对象模板中指定的命名空间会覆盖对应父策略中的命名空间。

remediationAction

可选。指定您的策略的修复。参数值是 enforceinform重要:有些策略可能不支持 enforce 功能。

disabled

必需。将值设为 truefalsedisabled 参数提供启用和禁用策略的功能。

spec.complianceType

必需。将值设为 "musthave"

spec.object-template

可选。用于列出必须接受评估或应用到受管集群的任何其他 Kubernetes 对象。

2.4.1.3. 内存用量策略示例

   apiVersion: policy.open-cluster-management.io/v1
   kind: Policy
   metadata:
     name: policy-limitrange
     namespace: mcm
   spec:
     complianceType: musthave
     remediationAction: inform
     namespaces:
       exclude: ["kube-*"]
       include: ["default"]
     object-templates:
       - complianceType: musthave
         objectDefinition:
           apiVersion: v1
           kind: LimitRange # limit memory usage
           metadata:
             name: mem-limit-range
           spec:
             limits:
             - default:
                 memory: 512Mi
               defaultRequest:
                 memory: 256Mi
               type: Container
           ...

如需更多信息,请参阅管理内存用量策略。查看由控制器监控的其他配置策略,请参阅 Kubernetes 配置策略控制器页面。