关于 huawei-cloud-kubectl-cce-installer
用于通过 Huawei Cloud 的 `kubectl cce` 查询指定 CCE Kubernetes 资源的技能,面向需要检查集群对象的用户。它仅允许限定范围的只读查询;本地安装工具仅作为前置条件缺失时的恢复步骤。
主要功能
- 01通过 `kubectl cce` 查询资源
- 02仅支持 get、describe 和 logs
- 03要求指定集群、区域及资源范围
- 04缺少工具时提供安装流程
- 05安装或替换前要求明确确认
适用场景
- 01查看指定命名空间中的 Pod 状态
- 02检查指定 Deployment 或 Service
- 03读取特定资源的描述或日志
- 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.mdinstallation.mdplugin-usage.mdscripts/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。在这种情况下,不要回退到其他凭据。
工作流
-
在查询任何资源之前,验证目标区域和集群 ID。如果缺少其中任一项,或无法在该区域将集群 ID 解析为一个现有 UUID,则不要运行
kubectl cce;请用户提供正确的区域和集群 ID。 -
确认资源类型、命名空间,以及必要时的准确资源名称。
-
检查本地前置条件:
bash scripts/install_kubectl_cce.sh --check -
当
kubectl和kubectl-cce均可用时,查询所请求的资源。 -
当任一可执行文件缺失时,阅读 installation.md,然后展示安装计划。安装或替换属于 R1 级本地更改,需要明确确认:
bash scripts/install_kubectl_cce.sh --bin-dir <directory> sudo bash scripts/install_kubectl_cce.sh --execute --bin-dir <directory> -
使用
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 用法、源代码回退、确认和故障排除。 |
| 验收标准 | 资源查询和安装验收检查。 |