基于Gitlab-CI的容器应用DevOps工作流简单实践

前言

        基于Gitlab,Gitlab-Runner和Gitlab集成的CICD的DevOps工作流部署容器应用到测试或生产环境,可以快速方便的通过代码迭代自动部署到相应环境中,我已经提前准备好了容器内环境的Gitlab和Gitlab-Runner,有需要的同学可以鉴别参考,以及准备好Harbor私有镜像仓用来镜像的存储和转移,以此为前提进行我们的实践。

参考

        gitlab-runner + k8s 实现自动部署_慕课手记 (imooc.com)

一、打通Gitlab和K8S的工作流

这里我会介绍两个办法,一个是通过安装好Kubectl软件的镜像来导入k8s-api-config去和我们的K8S集群进行互动。另一个则是在Gitlab-Runner的镜像去直接导入。

1.配置文件变量导入镜像法

(1)构建镜像

        构建一个Kubectl镜像来方便我们部署的时候进行操作,下面我们用一个dockerfile来构建

FROM alpine:latest

ARG KUBE_LATEST_VERSION=v1.23.10

# 使用alpine:latest作为基础镜像

# 下载kubectl二进制文件并设置可执行权限
RUN apk add --update -t deps curl && \
    curl -L https://storage.googleapis.com/kubernetes-release/release/${KUBE_LATEST_VERSION}/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl && \
    chmod +x /usr/local/bin/kubectl

# 安装必要的依赖(curl),并下载kubectl二进制文件到/usr/local/bin目录,并赋予可执行权限

# 清理安装过程中的临时文件和缓存
RUN apk del --purge deps && \
    rm /var/cache/apk/*

# 删除已安装的依赖包及其依赖,以及清理apk缓存,减小镜像体积

        使用docker build来构建,构建完后,打上标签,然后登录harbor仓库给推送过去方便我们的统一管理和维护性迭代。

docker build --build-arg KUBE_LATEST_VERSION="v1.23.10" -t kubectl:v1.23.10 .
docke
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值