2.3. 策略控制器
策略控制器监控并报告集群是否合规。通过开箱即用的策略模板应用预定义策略控制器和策略,以使用 Red Hat Advanced Cluster Management for Kubernetes 策略框架。策略控制器是 Kubernetes 自定义资源定义(CRD)实例。
有关 CRD 的更多信息,请参阅使用 CustomResourceDefinitions 扩展 Kubernetes API。策略控制器会修复策略违反情况,以使集群状态兼容。
您可以使用产品策略框架创建自定义策略和策略控制器。如需更多信息,请参阅 创建自定义策略控制器(已弃用)。
查看以下主题以了解有关以下 Red Hat Advanced Cluster Management for Kubernetes 策略控制器的更多信息:
重要 :只有配置策略控制器策略支持 enforce
功能。当策略控制器不支持 enforce
功能时,您必须手动修复策略。
有关管理您的策略的更多主题,请参阅监管。
2.3.1. Kubernetes 配置策略控制器
配置策略控制器可用于配置任何 Kubernetes 资源,并在集群中应用安全策略。
配置策略控制器与本地 Kubernetes API 服务器通信,以获取集群中的配置列表。有关 CRD 的更多信息,请参阅使用 CustomResourceDefinitions 扩展 Kubernetes API。
配置策略控制器是在安装过程中在 hub 集群上创建的。配置策略控制器支持 enforce
功能并监控以下策略的合规性:
当将配置策略的 remediationAction
设置为 enforce
时,控制器会在目标受管集群上创建副本策略。您还可以在配置策略中使用模板。如需更多信息,请参阅配置策略中的模板支持。
继续读取以了解更多有关配置策略控制器的信息:
2.3.1.1. 配置策略控制器 YAML 结构
Name: configuration-policy-example Namespace: Labels: APIVersion: policy.open-cluster-management.io/v1 Kind: ConfigurationPolicy Metadata: Finalizers: finalizer.policy.open-cluster-management.io Spec: Conditions: Ownership: NamespaceSelector: Exclude: Include: RemediationAction: Status: CompliancyDetails: Configuration-Policy-Example: Default: Kube - Public: Compliant: Compliant Events:
2.3.1.2. 配置策略示例
apiVersion: policy.open-cluster-management.io/v1 kind: ConfigurationPolicy metadata: name: policy-config spec: namespaceSelector: include: ["default"] exclude: [] remediationAction: inform severity: low object-templates: - complianceType: musthave objectDefinition: apiVersion: v1 kind: Pod metadata: name: pod spec: containers: - image: 'pod-image' name: ports: - containerPort: 80
2.3.1.3. 配置策略 YAML 标
字段 | 描述 |
---|---|
apiVersion |
必需。将值设置为 |
kind |
必需。将值设为 |
metadata.name | 必需。策略的名称。 |
spec | 必需。有关监控哪些配置策略以及如何进行修复的规格。 |
spec.namespace |
命名空间对象或资源是必需的。策略应用到的 hub 集群中的命名空间。至少为 |
spec.remediationAction |
必需。指定您的策略的修复。输入 |
spec.remediationAction.severity |
必需。当策略不合规时,指定严重性。使用以下参数值: |
spec.remediationAction.complianceType | 必需。用于列出必须被评估或应用到受管集群的角色的预期行为和任何 Kubernetes 对象。您必须使用以下操作动词作为参数值:
|
请参阅 CM-Configuration-Management
文件夹的 Red Hat Advanced Cluster Management 使用 NIST Special Publication 800-53(Rev. 4) 的策略示例。了解策略如何应用到您的 hub 集群,请参阅支持的策略以了解更多详细信息。