用途:这是一个面向 Talos Linux 上 Kubernetes 集群的只读 SRE 与诊断技能,可用于团队自有集群(包括书籍配套的本地 Docker 实验环境,如 spikes/talos-gitops/ 下的 ops hub 与 dev/staging/prod 分支)或真实组织的集群。它通过读取集群发现真实问题、评估平台成熟度,仅在用户明确要求时通过 GitOps 方式修复,绝不直接改动集群。
主要能力(按章节对应脚本):preconditions.py 负责守卫与实验环境清单,是安全入口;health.py 检查节点、etcd 与控制平面健康;reliability.py 检查探针、副本数与 PDB;security_drift.py 检查特权容器、runAsRoot、hostPath 与 NetworkPolicy;certs.py 预测证书到期引发的故障;report.py 生成平台成熟度评分报告;remediate.py 检测问题后打开 GitOps PR,由 ArgoCD 在人工合并后同步;vuln.py 检查 Talos/K8s 版本时效、镜像供应链与 CVE 扫描(trivy/grype);upgrade.py 评估升级准备度,包括版本偏差与弃用 API 预检(pluto/kubent)及 A/B 方案;worthiness.py 提供“这到底是不是 K8s 工作负载”的建议(服务数量/规模/自动扩缩容)。
使用方式:需先指定集群(dev/staging/prod 或任意 kube context),未指定时默认 dev,而非当前 kube context;若用户已命名则跳过询问。所有命令在执行前会先展示,脚本会把每个 kubectl/talosctl 调用回显到 stderr,结论基于其输出。默认只读,仅 remediate.py 会改变状态且改动的是 git(开 PR)。步骤按顺序执行并快速失败,始终先运行 preflight,失败即停止并报告。
限制:prerequisites.enforce() 会拒绝未知 context,集群必须存在于 kubeconfig;该技能面向集群而非单一代码仓库。当前资料未提供收费、价格与平台支持范围等信息。