前言

最近没啥好写的,一直都在弄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相关推荐

  1. k8s原生的CI/CD工具tekton

    Tekton是什么 Tekton是一个谷歌开源的kubernetes原生CI/CD系统,功能强大且灵活,开源社区也正在快速的迭代和发展壮大.google cloud已经推出了基于Tekton的服务(h ...

  2. 云原生CI/CD:tekton/pipeline之认证篇

    云原生CI/CD:tekton/pipeline之认证篇 既然说tekton/pipeline是CI/CD,必然需要用到拉取git仓库代码,仓库代码可能是私有的,看下tekton/pipeline在这 ...

  3. 云原生CI/CD:Tekton之trigger介绍

    云原生CI/CD:Tekton之trigger组件 简介 上面背景图片用了一张手枪扳机的图片,啥意思呢?trigger对于pipeline的作用就像扳机对于手枪的作用的,读完文章再来体会这句话. 前面 ...

  4. 云原生CI/CD:Tekton/pipelin之pipeline概念篇

    云原生CI/CD:Tekton/pipelin之pipeline概念篇 本节介绍下tekton中pipeline概念.作为云原生的CI/CD神器在之前介绍的task和taskrun之后,还有什么强大的 ...

  5. 云原生CI/CD框架Tekton国内部署方式

    Tekton 是一款功能非常强大而灵活的 CI/CD 开源的云原生框架.致力于提供全功能.标准化的云原生 CI/CD 解决方案.[本文主要是通过流水线自动化的将tekton镜像同步到腾讯云仓库,并部署 ...

  6. Kubernetes原生CI/CD构建框架Tekton详解

    流水线(Pipeline)是把一个重复的过程分解为若干个子过程,使每个子过程与其他子过程并行进行的技术.本文主要介绍了诞生于云原生时代的流水线框架 Tekton. 什么是流水线? 在计算机中,流水线是 ...

  7. 云原生 CI/CD 框架 Tekton 初体验

    Tekton 是一款功能非常强大而灵活的 CI/CD 开源的云原生框架.Tekton 的前身是 Knative 项目的 build-pipeline 项目,这个项目是为了给 build 模块增加 pi ...

  8. 开源云原生CI/CD框架Tekton国内部署方式

    Tekton 是一款功能非常强大而灵活的 CI/CD 开源的云原生框架.致力于提供全功能.标准化的云原生 CI/CD 解决方案.[本文主要是通过流水线自动化的将tekton镜像同步到腾讯云仓库,并部署 ...

  9. kubernetes之CI/CD工具jenkins第二篇,helm的使用

    1. kubernetes之CI/CD第二篇-jenkins结合helm部署应用: 1. 概述:    在前期的博文中我已经初步介绍过kubernetes环境下的CI/CD的使用.主要是jenkins ...

最新文章

  1. 无线网络(5) 无线网络安全性
  2. 《当程序员的那些狗日日子》(十五)首次接单
  3. 【C语言数据结构】单链表
  4. Delphi中运行时改变panel的位置及大小
  5. cmd code page
  6. Leetcode 2 两数相加 Python
  7. 发布:NetBeans IDE 8.1 Beta
  8. HDU - 5438 Ponds 拓扑 dfs
  9. Go 1.15 正式发布;华为确认成立屏幕驱动芯片部门;微信 iOS 版 7.0.15 正式版发布| 极客头条
  10. linux cpp建立文件夹,Linux小知识之CMake创建工程的一般流程
  11. ajax实例详解(2)
  12. html黑底白字的代码,黑色背景代码-背景是黑色的,怎么样才能让字变成白色 爱问知识人...
  13. 数字图像处理(冈萨雷斯)学习 第二章 数字图像基础
  14. django注册登录
  15. 用浏览器控制台获取一些网页资源
  16. L​I​N​U​X​环​境​中​部​署​J​A​V​A​项​目​步​骤
  17. 《你是我生命中最美的相遇》
  18. 【100 种语言速成】第 4 节:Lua
  19. python 降低图片分辨率的两种方法
  20. Spark Mllib里的分布式矩阵(行矩阵、带有行索引的行矩阵、坐标矩阵和块矩阵概念、构成)(图文详解)...

热门文章

  1. 基于PHP+小程序(MINA框架)+Mysql数据库的评选投票小程序系统设计与实现
  2. 白盒测试方法 + 实战
  3. openssl从PFX导出私钥、公钥
  4. 关于aop,AOP的应用场景?什么事AOP?
  5. 这是个转贴,QB教程,很不错
  6. Android Killer的安装和配置 -安卓逆向的必备神器
  7. 图片饱和度、色调、明度的计算
  8. 关于extern用法说明
  9. ros中自定义msg消息并用其他功能包调用
  10. 想要制作令人震撼的大屏可视化,要如何提升自己的可视化效果?