本仓库演示如何在 CNB 流水线中,通过腾讯云 CVM 跳板机安全地更新容器服务 K8s 集群。
适用场景:不希望将 CVM 服务器或 K8s API Server 暴露到公网,全程通过腾讯云内网完成操作。
整个流程通过 tcloud-cmd 插件调用腾讯云 Open API,向内网 CVM 跳板机下发命令,由跳板机执行 kubectl 操作更新 K8s 集群,全程无需公网暴露。
配置方式见 .cnb.yml 文件。运行结果见 云原生构建 流水线输出。
本 Demo 演示了两种常见的集群更新方式,用户可以在此基础上编写更复杂的步骤:
| 方式 | 说明 |
|---|---|
| 直接更新镜像 | 通过命令直接修改 Deployment 的容器镜像版本 |
| kubectl apply | 使用仓库中的 busybox-deployment.yaml 定义文件更新 Deployment |
腾讯云上正常运行的 K8s 集群,需开通 内网访问 API Server:
标准腾讯云 CVM 服务器作为跳板机,需满足:
跳板机中存储了各个目标集群的 kubeconfig 访问文件,并确认可以正常访问目标 K8s 集群。
# 示例:使用指定 kubeconfig 验证连通性
kubectl --kubeconfig /root/.kube/cls-56jhh1ss-config get nodes
如果跳板机和目标 K8s 集群在不同 VPC 中,可使用腾讯云 对等连接 打通 VPC 网络。
📖 详情参考:对等连接文档
本样例中,跳板机和目标集群分属广州地区两个不同 VPC 子网。