Argo CD与微服务变更管理实践
1. Argo CD实现GitOps部署
之前我们创建了Helm Chart,它为将微服务部署到Kubernetes集群提供了更便捷的方式。Helm具备向Kubernetes集群执行部署的能力,我们已经有足够的条件将航班信息服务部署到暂存环境。但目前的部署方式非常依赖手动操作,每次部署都需要使用Helm CLI,并且还需要跟踪已部署服务的当前状态和版本,以便在部署仓库更新时判断是否需要进行新的部署。
Argo CD是一款GitOps部署工具,它将Git仓库作为工作负载和服务的期望部署状态的来源。当它检查指定的仓库时,会判断定义的目标状态是否与环境中的运行状态匹配。若不匹配,Argo CD可以“同步”部署,使其与Helm Chart中声明的内容一致。
1.1 登录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
msur-argocd-server-c6d4ffcf-9z4c2 1/1 Running 0 51s
复制Pod的名称,这将作为登录密码。例如,上述结果中的密码为 <