Jenkins+Argocd+Kubernetes+Gitlab+Harbor搭建CI/CD流程(七)之持续部署

前面我们完成了持续集成,利用jenkins将构建好的镜像上传到了harbor仓库中,接下来我们需要利用argocd实现持续部署,本文只写了argocd的简单用法,至于它是什么,原理是什么,怎么玩的更6,这些都得你自己去别的文章或视频里了解。通俗易懂地来说,我们就是先将deploy、service、ingress等kubernetes资源配置文件上传到gitlab中,然后在argocd中创建应用时,填上存放这些yaml文件的gitlab地址,argocd就会自动根据这些kubernetes资源配置文件在kubernetes集群中创建对应的资源了

一、上传yaml文件

在192.168.100.100这台机器上,上一章我们在/root/cicd目录中从gitlab拉取了nginx项目的代码

cd /root/cicd/nginx
vim nginx-deployment.yaml
添加以下内容:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - image: 192.168.100.100:888/cicd/nginx:v1
        name: nginx
        ports:
        - containerPort: 80
        
vim nginx-service.yaml
添加以下内容:
apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  ports:
  - port: 80
    targetPort: 80
    nodePort: 30001
  type: NodePort
  selector:
    app: nginx

git add nginx-deployment.yaml
git add nginx-service.yaml
git commit -m "nginx"
git push origin master

然后我们就可以在gitlab中看到刚刚上传的两个yaml文件了 

二、 argocd安装部署

cd ~
wget https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl apply -n argocd -f install.yaml
kubectl create namespace argocd

由于镜像的问题,部署argocd的过程还是需要等待挺久的,我第一次部署等了差不多30分钟,后面几次部署时快时慢,下图就是部署好的了情况

 将argocd的服务改成nodeport类型

kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "NodePort"}}'

获取初始密码

kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

查看argocd的web界面的端口

kubectl get service -n argocd

在浏览器中输入部署argocd服务器的IP+argocd端口访问argocdweb界面,这里输入192.168.100.100:32613

 初始账号为admin,初始密码就是刚刚获取的初始密码

三、在argocd的web界面上创建应用

在kubernetes集群中创建新的命名空间demo

kubectl create ns demo

浏览器输入kubernetes集群的IP地址+端口号30001,即可访问到我们的nginx应用了,这里输入192.168.100.100:30001,至于为什么端口号是30001,那是因为之前在nginx-service.yaml文件中设置好的

以下就是应用web界面显示内容:

当需要更换版本的时候,修改yaml文件的镜像配置,重新上传到gitlab上,然后在argocd上点击更新一下就ok了。由于能力受限,我觉得这个流程还不是完全的自动,相信结合更好的配置信息和别的工具会让这个流程更加自动化的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值