微服务部署与变更管理实践
1. Argo CD 实现 GitOps 部署
1.1 背景与需求
此前,我们创建了 Helm 图表,它为将微服务部署到 Kubernetes 集群提供了更便捷的方式。Helm 具备向 Kubernetes 集群执行部署的能力,理论上我们已可以将航班信息服务部署到暂存环境。然而,当前的部署方式非常依赖手动操作,每次部署都需使用 Helm CLI,并且我们还需跟踪已部署服务的当前状态和版本,以便在部署仓库更新时判断是否需要进行新的部署。
1.2 Argo CD 简介
Argo CD 是一种 GitOps 部署工具,它以 Git 仓库作为工作负载和服务所需部署状态的来源。当它检查我们指定的仓库时,会判断我们定义的目标状态是否与环境中的运行状态匹配。若不匹配,Argo CD 可以“同步”部署,使其与 Helm 图表中的声明一致。这种声明式方法与我们的原则以及所采用的其他工具(如 Terraform)相契合。
1.3 登录 Argo CD
在登录 Argo CD 之前,我们需要获取 Argo 管理员用户的密码。Argo CD 采用了一种巧妙的方式,将默认密码设置为其运行所在的 Kubernetes 对象的名称。可通过以下 kubectl 命令查找 Argo CD Pod:
$ kubectl get pods -n "argocd" | grep argocd-server
NAME READY STATUS RESTARTS AGE
超级会员免费看
订阅专栏 解锁全文
8万+

被折叠的 条评论
为什么被折叠?



