
# 基于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，参考[快速创建和管理容器舰队](https://support.huaweicloud.com/qs-ucs/ucs_qs_0012.html)。
- "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基准、合规审计、监管合规
   
   - **资源策略**：资源配额、资源限制、成本优化
   
   - **网络策略**：网络策略、入站/出站限制、服务网格规则
   
   
   ![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002623045955.png "点击放大")
   可以根据推荐筛选策略定义，Skill同时会评估集群纳管状态和舰队组归属情况，确认策略执行风险。
   
   
2. **创建舰队组策略实例**
   
   确认策略定义后， Skill调用CreateClusterGroupPolicyInstance在舰队组上创建策略实例，设置enforcementAction=warn(初始建议使用 warn 模式，违规仅报告不阻止)。
   Skill会预览方案，包含：
   - 策略定义名称和作用范围
   
   - 目标舰队组和成员集群列表
   
   - 执行动作(warn)
   
   - 策略参数配置
   
   
   用户确认后Skill才执行创建操作。
   ![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002623046251.png "点击放大")
   ![](https://support.huaweicloud.com/bestpractice-ucs/public_sys-resources/caution_3.0-zh-cn.png)
   创建策略实例必须使用正确的scope-specific操作：集群级使用CreateClusterPolicyInstance(参数 --clusterid)，舰队组级使用CreateClusterGroupPolicyInstance(参数 --clustergroupid)。不存在通用的CreatePolicyInstance操作。
   
   
3. **启用策略执行**
   
   策略实例创建后，需要启用策略执行才能使策略生效。Skill将调用EnableClusterGroupPolicy，自动启用策略。
   ![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002592566856.png "点击放大")
   ![](https://support.huaweicloud.com/bestpractice-ucs/public_sys-resources/caution_3.0-zh-cn.png)
   启用策略也必须使用scope-specific操作：集群级使用EnableClusterPolicy(参数 --clusterid)，舰队组级使用EnableClusterGroupPolicy(参数 --clustergroupid)。不存在通用的EnablePolicy操作。
   
   
4. **查看执行任务状态**
   
   策略启用后，Skill调用ListPolicyJobs查看策略执行任务的状态，调用 ShowPolicyJob 查看具体的执行任务详情。
   执行任务状态值：
   - Success： 策略执行部署成功，合规检查已生效
   
   - InProgress： 策略执行正在部署中，合规检查待启动
   
   - Failed： 策略执行失败，需要查看任务详情定位问题
   
   
   ![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002593246996.png "点击放大")
   如果执行任务失败，Skill会提供诊断建议(如集群未纳管、舰队组无成员、IAM权限不足等)。
   
   
5. **合规审计**
   
   策略执行成功后，进行合规审计确认舰队整体合规状态。Skill调用ListPolicyInstances查看所有策略实例状态，通过ListPolicyJobs和ShowPolicyJob查看合规审计结果。
   ![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002623526635.png "点击放大")
   如果发现违规，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
   
   
   ![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002592727498.png "点击放大")
   
   
7. **配置策略范围**
   
   策略创建完成后，可通过策略的命名空间范围和参数配置控制策略的精确行为。
   表1作用范围配置方式 
   | 配置方式    | 说明                 | 适用场景                      |
   |:---|:---|:---|
   | 限定命名空间  | 仅在指定命名空间中生效        | 安全基线策略，仅应用于关键命名空间         |
   | 全命名空间   | 在所有命名空间生效          | general 类型策略的默认行为，通用治理规则  |
   | 不指定命名空间 | 由策略定义的targetKind决定 | targetKind为Pod的策略生效在所有Pod |
      
   在AI CLI中输入以下提示词更新策略范围：
   ```
   修改策略范围，排除kube-system等系统命名空间。
   ```
   ![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002592727698.png "点击放大")
   ![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002623167343.png "点击放大")
   ListPolicyInstances和ListPolicyDefinitions不支持过滤参数，只返回全量数据。如需定位特定策略实例，提供policyinstanceid让Skill使用ShowPolicyInstance查看详情，再通过UpdatePolicyInstance更新参数配置。
   
   
 
#### 常见问题诊断
当策略治理过程中遇到问题，可在AI CLI中直接描述现象，Skill会调用相应诊断工具返回结构化报告。
表2常见问题与诊断方式 
| 问题现象                       | 诊断提示词                                  |
|:---|:---|
| 策略执行任务一直显示Failed           | 策略执行任务状态显示Failed，请诊断。                  |
| 策略实例创建失败                   | 创建前先查看策略定义列表，找正确的constraintTemplateID。 |
| 集群未纳管到UCS                  | 请先纳管集群再启用策略执行。                         |
| 舰队组没有成员集群                  | 请先向舰队组添加集群。                            |
| IAM权限不足                    | 报IAM denied，请在IAM控制台创建自定义策略并授权。        |
| ListPolicyInstances结果和预期不符 | 我需要查看策略实例，查看实例ID。                      |
| 策略实例已存在冲突                  | 报409 Conflict，查看是否已注册。                 |
| 策略实例需要更换目标范围               | 想更换策略的作用范围，需要先删除旧的再创建新的。               |
| 策略定义列表为空                   | 请列出策略定义。                               |
| 合规审计结果过时                   | 请查看舰队合规状态。                             |
   
#### 相关文档
- [UCS 介绍](https://support.huaweicloud.com/productdesc-ucs/ucs_productdesc_0001.html)
- [容器舰队概述](https://support.huaweicloud.com/usermanual-ucs/ucs_01_0008.html)
- [UCS集群概述](https://support.huaweicloud.com/usermanual-ucs/ucs_01_0200.html)
- [UCS权限概述](https://support.huaweicloud.com/usermanual-ucs/ucs_01_0010.html)
 
