后续演进
当前阶段完成混合云 Kubernetes 的基础链路后,后续按“Ansible 自动化收口、高可用、GitOps、可观测性、安全、恢复”推进。每个阶段都要保留实现命令、配置差异、验收命令和问题记录。
当前暂停状态
2026-06-11 已按验证环境收尾要求销毁两云测试资源:
aliyun: Destroy complete! Resources: 32 destroyed.
tencent: Destroy complete! Resources: 16 destroyed.
下一次恢复默认按 HA 规格继续:两云各 master_count = 3、worker_count = 1。恢复前先确认 Terraform state 为空、旧 generated/ 产物不再作为事实来源,然后重新执行 Terraform output、Ansible inventory 和 SSH/ping 验证。
恢复后第一优先级仍是 HA kubeadm join:逐台加入额外 master,观察 etcd member 状态,确认 learner started 后再 promote。GitOps、监控、日志和备份恢复都等 HA 控制面可重复通过后再推进。
阶段 0:Ansible 自动化收口
目标:
- Terraform 只管理云资源。
- Ansible 管理系统初始化、WireGuard 和 kubeadm。
- Shell scripts 暂时保留 Cilium、Cluster Mesh 和检查命令。
- 本地统一验证入口可重复执行。
计划命令:
make verify-local
make ansible-ping
make ansible-bootstrap
make ansible-underlay
make ansible-kubeadm
验收:
make ansible-check
make check-underlay
make check-clusters
阶段 1:高可用控制面
目标:
- 两云都支持多 master。
- API LB 后端健康检查稳定。
- kubeadm certificate key 和 join 命令可重复生成。
- 任一 master 故障时,集群 API 仍可访问。
计划命令:
make aliyun-plan
make aliyun-apply
make aliyun-output
make tencent-plan
make tencent-apply
make tencent-output
make ansible-inventory
make ansible-bootstrap
make ansible-underlay
make ansible-kubeadm
验收:
kubectl --context aliyun-guangzhou get nodes -o wide
kubectl --context tencent-guangzhou get nodes -o wide
kubectl --context aliyun-guangzhou get endpoints kubernetes
kubectl --context tencent-guangzhou get endpoints kubernetes
真实节点验证(HA):将 master_count 从 1 改为 3 后,Terraform 创建新实例并更新 LB 后端。Ansible bootstrap 与 underlay 已覆盖所有新节点。kubeadm join --control-plane 受 etcd v3.6 learner 限制影响,不能并行 join 多台 master。需按“案例 9”逐台 join 并 promote learner,见
website/docs/operations/problem-solving.md。
阶段 2:GitOps
目标:
- 选择 Argo CD 或 Flux。
- 建立
clusters/aliyun、clusters/tencent、apps/目录。 - 用 Git 管理基础组件和示例应用。
- Git 提交后自动同步到目标集群。
当前目录:
gitops/
├── clusters/
│ ├── aliyun/
│ └── tencent/
├── infrastructure/
│ ├── namespaces/
│ ├── monitoring/
│ └── logging/
└── apps/
└── demo/
验收:
kubectl --context aliyun-guangzhou -n argocd get pods
kubectl --context tencent-guangzhou -n argocd get pods
argocd app list
argocd app sync <app-name>
阶段 3:监控告警
目标:
- 部署 Prometheus、Grafana、Alertmanager。
- 采集节点、Pod、API Server、Cilium 指标。
- 建立基础仪表盘和告警规则。
建议组件:
kube-prometheus-stack
cilium metrics
node-exporter
kube-state-metrics
Alertmanager
初始 values 位于 gitops/infrastructure/monitoring/kube-prometheus-stack-values.yaml。
验收:
kubectl --context aliyun-guangzhou -n monitoring get pods
kubectl --context tencent-guangzhou -n monitoring get pods
kubectl --context aliyun-guangzhou -n monitoring port-forward svc/prometheus-operated 9090:9090
kubectl --context aliyun-guangzhou -n monitoring port-forward svc/grafana 3000:80
阶段 4:EFK 日志
目标:
- Fluent Bit 采集容器日志。
- Elasticsearch 或 OpenSearch 存储日志。
- Kibana 或 OpenSearch Dashboards 查询日志。
- 按集群、命名空间、Pod、容器维度检索。
验收:
kubectl --context aliyun-guangzhou -n logging get pods
kubectl --context tencent-guangzhou -n logging get pods
kubectl --context aliyun-guangzhou -n logging logs daemonset/fluent-bit
查询维度:
kubernetes.cluster_name
kubernetes.namespace_name
kubernetes.pod_name
kubernetes.container_name
log
当前默认低成本路线为 Fluent Bit + OpenSearch,初始 values 位于 gitops/infrastructure/logging/。
阶段 5:安全加固
目标:
- 收紧
admin_cidrs。 - 固定 WireGuard 来源。
- 整理 RBAC。
- 避免明文密钥进入 Git。
- 记录云侧和集群侧审计入口。
验收:
terraform fmt -check -recursive
terraform -chdir=aliyun validate
terraform -chdir=tencent validate
kubectl auth can-i --list --context aliyun-guangzhou
kubectl auth can-i --list --context tencent-guangzhou
阶段 6:备份恢复
目标:
- etcd 快照。
- 关键命名空间资源导出。
- 应用数据备份。
- 恢复演练。
验收:
scripts/snapshot-etcd.sh aliyun
scripts/snapshot-etcd.sh tencent
kubectl --context aliyun-guangzhou -n kube-system get pods
kubectl --context tencent-guangzhou -n kube-system get pods
恢复演练必须记录:
- 备份时间。
- 备份对象。
- 恢复命令。
- 恢复后验证命令。
- 遇到的问题。
阶段记录格式
每个新增阶段都按下面格式写回 plan.md 和 docs:
目标
修改文件
执行命令
验收命令
问题记录
回滚方式