kubernetes原生ci/cd工具tekton版本升级至v0.18.1
前言
最近没啥好写的,一直都在弄hpa的问题,也就是解决hpa没生效的问题,以及最优minReplica最小基数的问题。也已经划水了两篇博客了,所以今天就来简单记录一下之前做过的一个小任务,也就是将项目中用到的tekton版本升级至最新版的过程吧。
分析
项目中用到了tekton这个kubernetes原生的ci/cd工具,虽然公司就是做ci/cd的,但是还用了Google的ci/cd,讲起来的确是有点儿ashamed,但因为项目组的原因,蚍蜉撼树是行不通的,那就用咯。话说写博客的时候,就有点儿想法了,为什么公司不出个原生的ci/cd尼,和kubernetes结合的那种,声明yaml格式的,不是网页界面点点的那种???也许可以和产品提提,万一成了尼?直接和tekton对标的那种。
ok,废话不多说,项目中用到的tekton版本是v0.12.1要升级到最新版v0.18.1,问题就来了,为啥要升级,升级是为了解决一个问题来的。在使用过程中,想要看见构建出错日志,但是如果是多步构建,也就是tekton的clustertask.yaml有多个step标签时,如果前面的步骤失败了,那么后边所有的步骤报错都是一样的,如下:
Skipping step because a previous step failed
因为这时候通过tekton client拿到的报错信息就不知道为什么原因报错,还得一步一步往回追溯。虽然项目中用到的步骤也就是两步,如果看见这样的报错,那么就知道是第一步出错了,但是如果是多步构建,就会有问题了。所以有必要解决一下这个问题。相应的GitHub issue,同时查阅相应的issue修复记录在这个merge request修复了,标号是2455,然后查阅相应的更新日志,发现这个已经在v0.13.0的Fixes中修复了,因此只需要将版本升级到v0.13.0之上就可以了,但是既然要升级,那么干嘛不升级到最新版本尼,所以和大佬简单汇报了一下,就得了一个任务,将tekton升级到最新版本v0.18.1,ps,发现写博客的时候,v0.19.0已经出来了。。
实践
通过对比发现,项目中用的v0.12.1的tekton.yaml是通过官方的v0.12.1的release.yaml修改了镜像来的,同时简单对比了一下v0.12.1和v0.18.1的yaml,发现两者更改并不大,只是一些label的修改和小的修改,所以基本可以判断直接将tekton v0.18.1的release.yaml拿来改一改,apply就好了,大概是样子的。
[root@master ~]# kubectl delete -f tekton-v0.12.1.yaml
[root@master ~]# kubectl apply -f tekton-v0.18.1.yaml
可以检查一下:
[root@master ~]# kubectl get pods -n tekton-pipelines
NAME READY STATUS RESTARTS AGE
tekton-pipelines-controller-87cbf5c9d-km6zs 1/1 Running 3 12d
tekton-pipelines-webhook-5cd5857498-hdj26 1/1 Running 3 12d
提供服务的资源就是这两个pod。
这里附上tekton-v0.18.1.yaml的链接
这是从
kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.18.1/release.yaml
这里wget下来的,然后转存到我的docker 私有仓库的,因此,如果有在自己的环境尝试安装tekton,可以使用如下命令:
kubectl apply -f https://github.com/wencaiwulue/knativetest/blob/master/yaml/tekton-v0.18.1.yaml
tekton client升级
前面是tekton的部署升级,这里简单说一说tekton clinet 的升级,因为在项目中用到了tekton client,操作tekton,因此,tekton的版本升级后,相应的client端也需要升级。首先祭出大招:
go get -u github.com/tektoncd/pipeline@v0.18.1
go mod tidy -v
go mod build
这三步跑下来,就应该能解决冲突问题了。
完
kubernetes原生ci/cd工具tekton版本升级至v0.18.1相关推荐
- k8s原生的CI/CD工具tekton
Tekton是什么 Tekton是一个谷歌开源的kubernetes原生CI/CD系统,功能强大且灵活,开源社区也正在快速的迭代和发展壮大.google cloud已经推出了基于Tekton的服务(h ...
- 云原生CI/CD:tekton/pipeline之认证篇
云原生CI/CD:tekton/pipeline之认证篇 既然说tekton/pipeline是CI/CD,必然需要用到拉取git仓库代码,仓库代码可能是私有的,看下tekton/pipeline在这 ...
- 云原生CI/CD:Tekton之trigger介绍
云原生CI/CD:Tekton之trigger组件 简介 上面背景图片用了一张手枪扳机的图片,啥意思呢?trigger对于pipeline的作用就像扳机对于手枪的作用的,读完文章再来体会这句话. 前面 ...
- 云原生CI/CD:Tekton/pipelin之pipeline概念篇
云原生CI/CD:Tekton/pipelin之pipeline概念篇 本节介绍下tekton中pipeline概念.作为云原生的CI/CD神器在之前介绍的task和taskrun之后,还有什么强大的 ...
- 云原生CI/CD框架Tekton国内部署方式
Tekton 是一款功能非常强大而灵活的 CI/CD 开源的云原生框架.致力于提供全功能.标准化的云原生 CI/CD 解决方案.[本文主要是通过流水线自动化的将tekton镜像同步到腾讯云仓库,并部署 ...
- Kubernetes原生CI/CD构建框架Tekton详解
流水线(Pipeline)是把一个重复的过程分解为若干个子过程,使每个子过程与其他子过程并行进行的技术.本文主要介绍了诞生于云原生时代的流水线框架 Tekton. 什么是流水线? 在计算机中,流水线是 ...
- 云原生 CI/CD 框架 Tekton 初体验
Tekton 是一款功能非常强大而灵活的 CI/CD 开源的云原生框架.Tekton 的前身是 Knative 项目的 build-pipeline 项目,这个项目是为了给 build 模块增加 pi ...
- 开源云原生CI/CD框架Tekton国内部署方式
Tekton 是一款功能非常强大而灵活的 CI/CD 开源的云原生框架.致力于提供全功能.标准化的云原生 CI/CD 解决方案.[本文主要是通过流水线自动化的将tekton镜像同步到腾讯云仓库,并部署 ...
- kubernetes之CI/CD工具jenkins第二篇,helm的使用
1. kubernetes之CI/CD第二篇-jenkins结合helm部署应用: 1. 概述: 在前期的博文中我已经初步介绍过kubernetes环境下的CI/CD的使用.主要是jenkins ...
最新文章
- 无线网络(5) 无线网络安全性
- 《当程序员的那些狗日日子》(十五)首次接单
- 【C语言数据结构】单链表
- Delphi中运行时改变panel的位置及大小
- cmd code page
- Leetcode 2 两数相加 Python
- 发布:NetBeans IDE 8.1 Beta
- HDU - 5438 Ponds 拓扑 dfs
- Go 1.15 正式发布;华为确认成立屏幕驱动芯片部门;微信 iOS 版 7.0.15 正式版发布| 极客头条
- linux cpp建立文件夹,Linux小知识之CMake创建工程的一般流程
- ajax实例详解(2)
- html黑底白字的代码,黑色背景代码-背景是黑色的,怎么样才能让字变成白色 爱问知识人...
- 数字图像处理(冈萨雷斯)学习 第二章 数字图像基础
- django注册登录
- 用浏览器控制台获取一些网页资源
- L​I​N​U​X​环​境​中​部​署​J​A​V​A​项​目​步​骤
- 《你是我生命中最美的相遇》
- 【100 种语言速成】第 4 节:Lua
- python 降低图片分辨率的两种方法
- Spark Mllib里的分布式矩阵(行矩阵、带有行索引的行矩阵、坐标矩阵和块矩阵概念、构成)(图文详解)...