用途
本技能用于在华为云 CCE(Cloud Container Engine)集群中查询和分析 Kubernetes Events,帮助识别告警事件、重复失败模式、受影响资源,并生成可供后续诊断使用的分析结果。它提供两种视图:通过 kubectl 获取的当前 Event 视图,以及通过 LTS(云日志服务)获取的历史 Event 视图。
主要能力
- 查询整个集群或指定命名空间中的当前 Kubernetes Events
- 通过外部 kubeconfig 访问或 kubectl cce 插件读取 Events
- 在明确的时间窗口内从 LTS 查询历史 Event 记录
- 按类型、原因、命名空间、资源和时间戳过滤和分组 Events
- 检查 Events 中引用的受支持资源的当前状态
- 在本地分析已提供的事件结果,无需再次发起云请求
- 识别重复的告警模式,并将证据移交给诊断技能
典型使用场景包括:列出 CCE 集群的 Warning 事件、查找命名空间中重复的 FailedScheduling 事件、从 LTS 查询历史 ImagePullBackOff 事件、分析事件期间的高频 Kubernetes 事件原因等。
使用方式
所有命令均通过捆绑的调度器执行,格式为:
python3 scripts/huawei-cloud.py <tool-name> key=value key=value
核心工具包括:
huawei_get_cce_events:查询当前集群或命名空间的 Events。默认仅返回 Warning 事件,使用 Kubernetes API 服务端字段选择器。优先使用外部端点临时 kubeconfig,回退到 kubectl cce。
python3 scripts/huawei-cloud.py huawei_get_cce_events \
region=cn-north-4 cluster_id=<cluster-id> namespace=default
huawei_query_k8s_events_from_lts:从 LTS 查询指定时间窗口内的历史 Events。LTS 时间格式为 UTCYYYY-MM-DD HH:MM:SS。集群需已安装并健康运行 Cloud Native Log Collection 插件(log-agent),且配置了 default-event 的 Event-to-LTS LogConfig。
python3 scripts/huawei-cloud.py huawei_query_k8s_events_from_lts \
region=cn-north-4 cluster_id=<cluster-id> \
start_time="2026-05-30 06:00:00" \
end_time="2026-05-30 08:00:00" \
keywords=FailedScheduling
huawei_analyze_cce_events:查询并分析当前或历史 Events,按类型、原因、命名空间和资源进行聚合。也可直接传入 events 数组进行离线分析。
python3 scripts/huawei-cloud.py huawei_analyze_cce_events \
region=cn-north-4 cluster_id=<cluster-id> event_source=lts \
start_time="2026-05-30 06:00:00" end_time="2026-05-30 08:00:00"
前置条件
运行时依赖包括:Python 3.8+、hcloud(KooCLI)、kubectl、kubectl-cce(当集群无可用外部端点时),以及 LTS 命令支持和 Cloud Native Log Collection 插件。
凭证配置方面:外部 kubeconfig 访问使用 hcloud 凭证优先级(显式参数 > 本地 profile > 环境变量)。kubectl cce 回退需要显式参数或环境变量提供 AK/SK 及目标集群的 project_id。LTS 查询需要有效的华为云凭证和已授权的项目。
IAM 权限要求:cce:cluster:get(检查集群外部端点可用性)、cce:cluster:createCert(生成临时 kubeconfig)、lts:logs:search(查询 LTS 历史 Event)。Kubernetes 身份还需要目标命名空间或集群中 Events 的只读 get 和 list 权限。
适用场景
适用于 CCE 集群运维、故障排查和事件分析场景,例如:集群中出现调度失败、镜像拉取失败等问题时快速定位;分析事件趋势和重复模式;为 Pod、工作负载、节点、存储或网络诊断提供证据移交。
限制
- 本技能为只读,不会创建、修改或删除 Kubernetes、CCE、LTS 或云资源。
- 当前 Event 查询仅支持命名空间和 Event 类型(Warning、Normal、all)的服务端选择。
- 历史查询要求事件发生前已启用 default Event-to-LTS 收集,技能无法恢复未收集的历史记录。
- 技能不会自动为用户选择集群、命名空间、事件过滤器或诊断/修复操作。
- 无活动告警不能证明集群健康,应结合历史 LTS Events 检查。
- Event-to-LTS 路径依赖健康的 log-agent 插件及已启用的默认 Event 收集。
- 事件摘要应脱敏敏感的生产工作负载、Pod 和节点标识符。
安全规则
绝不打印、持久化或硬编码 AK/SK、安全令牌、kubeconfig 内容或临时客户端凭证。禁止使用 echo $HUAWEI_AK 或 echo $HUAWEI_SK 检查凭证。建议使用本地 hcloud profile 进行外部 kubeconfig 访问,并使用最小权限 IAM 身份和只读 Kubernetes RBAC 权限。