侧边栏壁纸
博主头像
背锅小王子博主等级

我从事运维工作有十年之久,主要从事云原生相关的工作,对k8s、devops、servicemesh、可观察性等较为熟悉!

  • 累计撰写 59 篇文章
  • 累计创建 64 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Gitops之Argocd(二)应用部署

背锅小王子
2022-11-26 / 0 评论 / 0 点赞 / 270 阅读 / 346 字
温馨提示:
本文最后更新于 2022-11-26,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

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仓库
    image
    选择Connect repo using HTTPS
    image-1669459355800
    image-1669459382190
    连接成功后显示如下:
    image-1669459447464

  • 配置项目
    在Settings中的Projects添加一个新的项目,配置如下:
    image-1669459931901

  • 创建APP
    image-1669460375180
    image-1669460489665

    创建后,argocd会自动部署应用到k8s集群中

    但是每次我们更新服务后,都需要等待3分钟左右,argocd才会更新应用,这是因为 argocd默认的检测频率就为3分钟,这样会很影响我们的使用效率,所以我们可以改成事件通知机制,只要gitlab中仓库(k8s-yaml)有代码变更,就会通知argocd进行部署

  • 配置gitlab事件通知
    在gitlab项目的Settings中的Webhooks中添加事件通知
    image-1669461206282
    配置完,可以测试一下webhook的连通性

  • 在k8s中添加对应的secret秘钥

kubectl create secret generic argocd-webhook --from-literal=webhook.gitlab.secret=test -n argocd
0

评论区