通过kubevela和harbor在持续交付中集成镜像仓库

本文介绍如何利用KubeVela实现从代码更新到应用部署的自动化流程。包括配置私有镜像仓库、构建及推送镜像、创建应用及触发器等步骤,并演示了如何通过Harbor触发器自动更新应用。

目录

前言

前提条件

第一部分——本地配置镜像仓库的访问

解决docker push报错

配置镜像仓库访问

第二部分——构建&推送镜像

第三部分——创建应用&触发器

创建应用#

为应用新建触发器#

配置 Harbor 触发器#

第四部分——更新代码&镜像

更新代码

更新镜像 

检查持续交付流程

总结#

参考资料


前言

本文针对私有化场景和本地化的持续交付流程,如果需要做持续集成,需要通过gitlab ci或者jenkins等平台工具将git——harbor/acr/...打通,构建完整的pipeline。

前提条件

开始本教程前,你需要:

1.私有的镜像仓库

参考我的另一篇文章的第一部分——安装harbor私有仓库

通过harbor和rancher在私有化场景发布应用

2.控制平面的k8s集群

参考我的另一篇文章 

sealer——一键构建k8s集群

3.kubevela core和velaux

参考kubevela官方提供的quick start docs

kubevela快速安装

第一部分——本地配置镜像仓库的访问

解决docker push报错

这里将sea.hub:81作为harbor地址,使用默认的library项目。

首先需要配置/etc/docker/daemon.json中的insecure-registries参数,这里贴出我的配置文件

这一步是因为我的harbor仓库的url是http,但是docker push默认走的是https访问,否则会报错:server gave HTTP response to HTTPS client

{
  "registry-mirrors": [
     "https://bxsfpjcb.mirror.aliyuncs.com"
  ],
  "max-concurrent-downloads": 10,
  "log-driver": "json-file",
  "log-level": "warn",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
    },
  "insecure-registries":
        ["sea.hub:81"],
  "data-root":"/var/lib/docker"
}

然后重启docker

systemctl daemon-reload;systemctl restart docker

因为是内网环境,所以需要修改本地hosts文件配置域名解析

配置镜像仓库访问

登陆到registry,harbor默认的账户名是admin,密码是Harbor12345

docker login -u admin -p Harbor12345 sea.hub:81

会生成一个auth文件/root/.docker/co

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

常鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值