简介
argocd学习起来其实不难,详细的可以直接官方文档
https://argo-cd.readthedocs.io/en/stable/
操作
首先安装
创建ns
kubectl create namespace argocd
部署yaml文件
这里我建议下载到本地使用git托管
wget https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl apply -n argocd -f install.yaml
修改argocd-server这个service为lb,或者以你喜欢的形式去暴露服务
之后获取默认的登陆密码
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
用户名是admin
安装argocd cli
就一个二进制
https://github.com/argoproj/argo-cd/releases/tag/v2.1.7
下载完扔到PATH里面就好了
添加集群
argocd cluster add default --kubeconfig ~/.kube/k3s
之后创建app
这里我喜欢在web界面去创建,当然,使用cli也可以
cicd 思路
其实ci这里到推送完镜像就结束了,所以ci这部分就不说了,这里我使用的是drone ci下面是实例
# clone 代码
git clone https://git.bboysoul.cn/bboysoul/argocd-yaml.git
cd argocd-yaml/blog
# 更新镜像
kubectl set image -f deploy.yaml blog=registry.bboysoul.cn/rpi/blog:$tag --local --dry-run=client -o yaml >temp
mv temp deploy.yaml
# 推送代码
git add .
git commit -m "change image registry.bboysoul.cn/rpi/blog:$tag"
git push origin master
cd ../../
rm -rf argocd-yaml
# 登陆argocd
argocd login --insecure --username admin --password pass 10.10.100.76
# 手动同步应用
argocd app sync blog
# 等待应用同步完成
argocd app wait blog
最后说几句
之前我是直接使用脚本去set image去更新镜像的,使用了argocd之后很多事情都方便了很多,不用去判断集群,不用去判断环境,推荐使用