cicd自动部署服务到K8S中

本文介绍了使用GitLab进行代码仓库管理,Harbor作为镜像仓库,Kubernetes(K8s)作为容器编排系统,并通过Rancher进行容器服务管理的自动化部署流程。在代码推送至master分支后,触发CICD流程,将镜像推送到本地Harbor仓库,并使用sed命令更新K8s配置文件中的镜像版本,最后通过kubectl应用更新的配置完成服务自动部署。
摘要由CSDN通过智能技术生成

整体架构:

代码仓库:gitlab的部署

镜像仓库:harbor的部署

容器编排系统:k8s

容器服务管理工具:rancher导入本地k8s集群
 

cicd推送镜像到本地仓库

上面组件和服务部署,前面的博客都有介绍到,这里不在赘述。镜像推送到本地仓库后,下一步就是自动部署了。代码如下

deploy_sha:
  stage: deploy_sha
  tags:
    - deploy
  only:
    - master
  script: |
    set -e -o pipefail
    echo /home/.kube/$SERVICE_NAME.yml
    echo $SERVICE_NAME
    echo $CI_COMMIT_SHA
    sed -i 's/- image.*/- image: 172.16.xx.xx:85\/testproject\/'$SERVICE_NAME':'$CI_COMMIT_SHA'/'  /home/.kube/$SERVICE_NAME.yml
    kubectl --kubeconfig=/home/.kube/kube_config_cluster.yml  apply -f  /home/.kube/$SERVICE_NAME.yml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值