文档首页/ 华为云UCS/ 最佳实践/ 舰队/ 基于AI Skill的UCS多集群舰队策略治理合规最佳实践
更新时间:2026-06-15 GMT+08:00
分享

基于AI Skill的UCS多集群舰队策略治理合规最佳实践

UCS(华为云UCS)多集群舰队管理服务提供舰队级的集群纳管和分类分组能力,通过策略实例实现一致的合规治理。 本文介绍如何通过AI CLI工具加载“huawei-cloud-ucs-policy-governor”Skill,以一条提示词完成从发现策略定义到创建舰队组策略实例、启用策略执行、合规审计、逐步升级为deny的端到端治理完整流程。

前提条件

  • 已安装AI CLI工具并配置华为云凭证环境变量:HUAWEI_CLOUD_AK、HUAWEI_CLOUD_SK、HUAWEI_CLOUD_REGION。
  • 已安装hcloud CLI(7.2.2及以上版本),首次使用需执行“printf "y\n" | hcloud version”接受隐私声明。
  • CCE集群或自管理Kubernetes集群已纳管到UCS,且已加入舰队组。本文的操作步骤假设读者已经拥有一个或多个已纳管到UCS的CCE集群或自管理集群,并已通过UCS控制台完成了集群纳管和舰队分组。 如果尚未完成,请先使用“huawei-cloud-ucs-cluster-onboarding-manager”Skill集群纳管到UCS,参考快速创建和管理容器舰队
  • “huawei-cloud-ucs-policy-governor”Skill采用预览优先设计:读操作(查询策略定义、查看执行状态)可立即执行,写操作(创建策略实例、启用策略执行、禁用策略)先返回预览方案,用户确认后再执行。

IAM权限要求

API Action

权限

用途

ucs:clusterPolicyInstance:create

创建策略

创建集群级策略实例

ucs:clusterGroupPolicyInstance:create

创建策略

创建舰队组级策略实例

ucs:policyInstance:update

更新策略

修改策略实例配置

ucs:policyInstance:get

获取策略

查看策略实例详情

ucs:policyInstance:delete

删除策略

删除策略实例

ucs:policyInstance:list

列出策略

列出所有策略实例

ucs:policyDefinition:list

列出定义

列出可用策略定义

ucs:policyDefinition:get

获取定义

查看策略定义详情

ucs:clusterPolicy:enable

启用策略

启用集群级策略执行

ucs:clusterPolicy:disable

禁用策略

禁用集群级策略执行

ucs:clusterGroupPolicy:enable

启用策略

启用舰队组级策略执行

ucs:clusterGroupPolicy:disable

禁用策略

禁用舰队组级策略执行

ucs:policyJob:list

列出任务

列出策略执行任务

ucs:policyJob:get

获取任务

查看策略执行任务详情

操作步骤

  1. 发现策略定义

    创建策略实例前,需要先了解可用的策略定义,找到合适的constraintTemplateID。

    在AI CLI中输入以下提示词即可开始:

    我的集群已纳管到UCS,请帮我为生产舰队组创建一个安全基线策略实例,
    先启用策略执行,从warn逐步升级到deny,
    每个写操作先预览,我确认后再执行。 

    Skill首先会调用ListPolicyDefinitions, 返回所有可用的策略定义列表。策略定义按类别分为:

    • 集群安全策略(ClusterSecurityPolicies):安全基线、Pod安全标准、特权容器限制
    • 合规策略:CIS基准、合规审计、监管合规
    • 资源策略:资源配额、资源限制、成本优化
    • 网络策略:网络策略、入站/出站限制、服务网格规则

    可以根据推荐筛选策略定义,Skill同时会评估集群纳管状态和舰队组归属情况,确认策略执行风险。

  2. 创建舰队组策略实例

    确认策略定义后, Skill调用CreateClusterGroupPolicyInstance在舰队组上创建策略实例,设置enforcementAction=warn(初始建议使用 warn 模式,违规仅报告不阻止)。

    Skill会预览方案,包含:

    • 策略定义名称和作用范围
    • 目标舰队组和成员集群列表
    • 执行动作(warn)
    • 策略参数配置

    用户确认后Skill才执行创建操作。

    创建策略实例必须使用正确的scope-specific操作:集群级使用CreateClusterPolicyInstance(参数 --clusterid),舰队组级使用CreateClusterGroupPolicyInstance(参数 --clustergroupid)。不存在通用的CreatePolicyInstance操作。

  3. 启用策略执行

    策略实例创建后,需要启用策略执行才能使策略生效。Skill将调用EnableClusterGroupPolicy,自动启用策略。

    启用策略也必须使用scope-specific操作:集群级使用EnableClusterPolicy(参数 --clusterid),舰队组级使用EnableClusterGroupPolicy(参数 --clustergroupid)。不存在通用的EnablePolicy操作。

  4. 查看执行任务状态

    策略启用后,Skill调用ListPolicyJobs查看策略执行任务的状态,调用 ShowPolicyJob 查看具体的执行任务详情。

    执行任务状态值:

    • Success: 策略执行部署成功,合规检查已生效
    • InProgress: 策略执行正在部署中,合规检查待启动
    • Failed: 策略执行失败,需要查看任务详情定位问题

    如果执行任务失败,Skill会提供诊断建议(如集群未纳管、舰队组无成员、IAM权限不足等)。

  5. 合规审计

    策略执行成功后,进行合规审计确认舰队整体合规状态。Skill调用ListPolicyInstances查看所有策略实例状态,通过ListPolicyJobs和ShowPolicyJob查看合规审计结果。

    如果发现违规,Skill会提供修复建议:

    1. 查看违规详情,定位受影响的Kubernetes资源
    2. 通过DownloadFederationKubeconfig获取集群访问凭证,在集群上修复违规
    3. 禁用策略 → 重新启用策略触发新的执行任务
    4. 确认新的执行任务状态为Success

  6. 策略升级 — warn → deny

    修复违规并验证合规后,将策略的enforcementAction从warn升级为deny:

    1. 通过UpdatePolicyInstance将enforcementAction更新为deny(需提供policyinstanceid,Skill会先通过ShowPolicyInstance查询实例ID)
    2. 重新启用策略验证合规: 先用DisableClusterPolicy禁用策略,再用EnableClusterPolicy--retry=true 重新启用
    3. 再次查看执行任务状态,确认所有策略实例状态为Available,所有执行任务状态为Success

  7. 配置策略范围

    策略创建完成后,可通过策略的命名空间范围和参数配置控制策略的精确行为。

    表1 作用范围配置方式

    配置方式

    说明

    适用场景

    限定命名空间

    仅在指定命名空间中生效

    安全基线策略,仅应用于关键命名空间

    全命名空间

    在所有命名空间生效

    general 类型策略的默认行为,通用治理规则

    不指定命名空间

    由策略定义的targetKind决定

    targetKind为Pod的策略生效在所有Pod

    在AI CLI中输入以下提示词更新策略范围:
    修改策略范围,排除kube-system等系统命名空间。 

    ListPolicyInstances和ListPolicyDefinitions不支持过滤参数,只返回全量数据。如需定位特定策略实例,提供policyinstanceid让Skill使用ShowPolicyInstance查看详情,再通过UpdatePolicyInstance更新参数配置。

常见问题诊断

当策略治理过程中遇到问题,可在AI CLI中直接描述现象,Skill会调用相应诊断工具返回结构化报告。

表2 常见问题与诊断方式

问题现象

诊断提示词

策略执行任务一直显示Failed

策略执行任务状态显示Failed,请诊断。

策略实例创建失败

创建前先查看策略定义列表,找正确的constraintTemplateID。

集群未纳管到UCS

请先纳管集群再启用策略执行。

舰队组没有成员集群

请先向舰队组添加集群。

IAM权限不足

报IAM denied,请在IAM控制台创建自定义策略并授权。

ListPolicyInstances结果和预期不符

我需要查看策略实例,查看实例ID。

策略实例已存在冲突

报409 Conflict,查看是否已注册。

策略实例需要更换目标范围

想更换策略的作用范围,需要先删除旧的再创建新的。

策略定义列表为空

请列出策略定义。

合规审计结果过时

请查看舰队合规状态。

相关文档