mcpField
H
huawei-cloud-kubectl-cce-installer

huawei-cloud-kubectl-cce-installer

github.com/huaweicloud云与 DevOps59134 次安装2 天前更新
代码仓库

关于 huawei-cloud-kubectl-cce-installer

用于通过 Huawei Cloud 的 `kubectl cce` 查询指定 CCE Kubernetes 资源的技能,面向需要检查集群对象的用户。它仅允许限定范围的只读查询;本地安装工具仅作为前置条件缺失时的恢复步骤。

主要功能

  1. 01通过 `kubectl cce` 查询资源
  2. 02仅支持 get、describe 和 logs
  3. 03要求指定集群、区域及资源范围
  4. 04缺少工具时提供安装流程
  5. 05安装或替换前要求明确确认

适用场景

  1. 01查看指定命名空间中的 Pod 状态
  2. 02检查指定 Deployment 或 Service
  3. 03读取特定资源的描述或日志
  4. 04在查询前检查本地插件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/huaweicloud/huaweicloud-skills --skill huawei-cloud-kubectl-cce-installer

安装后在 Claude Code 中输入/huawei-cloud-kubectl-cce-installer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
acceptance-criteria.md
installation.md
plugin-usage.md
scripts/
install_kubectl_cce.sh

详细介绍

Huawei Cloud CCE Kubectl 资源查询

使用此技能通过 kubectl cce 检索特定的 CCE Kubernetes 资源。资源访问是主要任务。仅当 kubectl 或 kubectl-cce 插件不可用时,才将本地安装作为前置条件恢复步骤。

概述与安全

  • 使用 kubectl cce;不要使用直接的 Kubernetes API 客户端。
  • 仅允许只读命令:get、describe 和 logs。
  • 绝不使用 -A、--all-namespaces 或其他查询整个集群资源的方式。
  • 对于命名空间级资源,必须指定 --namespace <namespace>,并在可行时指定具体资源名称。
  • 对于 node、namespace、persistentvolume 和 storageclass 等集群级资源,必须指定准确的资源名称。不要列出所有实例。
  • 绝不运行 apply、create、delete、edit、patch、replace、scale、rollout、cordon、drain 或 exec。
  • 不要输出凭据、令牌、kubeconfig 内容或 Secret 数据。

前置条件与必要上下文

输入要求
cluster_id必填标准 UUID。可以使用 hcloud CCE ListClusters 解析准确的集群名称,但在解析为一个 UUID 之前,绝不运行 kubectl cce。
region必填。从请求或当前上下文获取,然后尝试 HW_REGION_NAME;否则询问用户。
资源类型必填,例如 pod、deployment、service、configmap 或 node。
命名空间或准确名称至少需要其中一项。命名空间级资源需要命名空间;集群级资源需要准确名称。

凭据遵循 plugin-usage.md 中的插件规则。仅当调用方提供凭据时,才使用显式的 --cli-access-key、--cli-secret-key 和可选的 --cli-security-token。在这种情况下,不要回退到其他凭据。

工作流

  1. 在查询任何资源之前,验证目标区域和集群 ID。如果缺少其中任一项,或无法在该区域将集群 ID 解析为一个现有 UUID,则不要运行 kubectl cce;请用户提供正确的区域和集群 ID。

  2. 确认资源类型、命名空间,以及必要时的准确资源名称。

  3. 检查本地前置条件:

    bash scripts/install_kubectl_cce.sh --check
    
  4. 当 kubectl 和 kubectl-cce 均可用时,查询所请求的资源。

  5. 当任一可执行文件缺失时,阅读 installation.md,然后展示安装计划。安装或替换属于 R1 级本地更改,需要明确确认:

    bash scripts/install_kubectl_cce.sh --bin-dir <directory>
    sudo bash scripts/install_kubectl_cce.sh --execute --bin-dir <directory>
    
  6. 使用 kubectl version --client 和 kubectl plugin list 验证安装,然后仅运行所请求的只读资源查询。

核心命令

对命名空间级查询,使用一个明确指定的命名空间:

kubectl cce --cluster-id <cluster-id> --region <region> \
  get pod <pod-name> --namespace <namespace> -o yaml

kubectl cce --cluster-id <cluster-id> --region <region> \
  describe deployment <deployment-name> --namespace <namespace>

kubectl cce --cluster-id <cluster-id> --region <region> \
  get service <service-name> --namespace <namespace> -o yaml

对集群级资源,使用准确的名称:

kubectl cce --cluster-id <cluster-id> --region <region> \
  get node <node-name> -o yaml

有关凭据模式、命令形式和 x509 重试行为,请阅读 plugin-usage.md。有关 Windows 用法和安装回退方案,请阅读 installation.md。如果命令因上游 x509 TLS 验证错误而失败,请在 cce 后立即添加 --cce-insecure-upstream-tls=true,重试同一命令一次。

风险级别

操作级别指引
资源查询和本地前置条件检查R3可以自动运行。
本地二进制文件安装、源码构建或插件替换R1先预览,并在使用 --execute 前获得明确确认。

输出格式

返回集群 ID、区域、资源类型、适用时的命名空间、资源名称,以及所请求的状态或字段。明确说明资源是否未找到、访问是否被拒绝、前置条件是否缺失,或是否需要确认安装。

参数与确认

发出查询前,请确认 cluster_id、region、资源类型、命名空间和确切资源名称。如果缺少 cluster_id,或无法在所提供的区域中解析该 ID,请停止操作,并向用户询问正确的区域和集群 ID。执行任何 --execute 操作前,请确认目标安装目录。

验证

安装后,运行 kubectl version --client 和 kubectl plugin list;查询后,确认返回的资源身份与请求的集群、命名空间和名称一致。

最佳实践

使用范围最小的资源查询;即使调用方有权访问整个集群,也应避免宽泛的列表操作。

备注

如果请求的资源无法限定到某个命名空间或确切名称,请让用户缩小目标范围,而不是扩大为集群范围的查询。

参考资料

文档用途
插件用法凭据、命令形式和 x509 重试。
安装本地先决条件、安装程序参数、Windows 用法、源代码回退、确认和故障排除。
验收标准资源查询和安装验收检查。

评论

支持 Markdown