1、gitlab创建仓库
在gitlab中为创建一个单独的仓库,用来管理k8s中应用的资源配置文件,例如:k8s-yaml
按照环境对项目做区分:
- dev
- test
- pre
- prod
路径划分以及包含的应用资源部署文件:
/dev/项目名称
- deploy.yml
- svc.yml
- ing.yml
- kustomization.yaml
- cm.yml
- secret.yml
查看 kustomization.yaml 内容
resources:
- deploy.yml
- svc.yml
- ing.yml
- cm.yml
- secret.yml
2、argocd部署应用
-
配置gitlab仓库
选择Connect repo using HTTPS
连接成功后显示如下:
-
配置项目
在Settings中的Projects添加一个新的项目,配置如下:
-
创建APP
创建后,argocd会自动部署应用到k8s集群中
但是每次我们更新服务后,都需要等待3分钟左右,argocd才会更新应用,这是因为 argocd默认的检测频率就为3分钟,这样会很影响我们的使用效率,所以我们可以改成事件通知机制,只要gitlab中仓库(k8s-yaml)有代码变更,就会通知argocd进行部署
-
配置gitlab事件通知
在gitlab项目的Settings中的Webhooks中添加事件通知
配置完,可以测试一下webhook的连通性 -
在k8s中添加对应的secret秘钥
kubectl create secret generic argocd-webhook --from-literal=webhook.gitlab.secret=test -n argocd
评论区