tekton的长处

  • 联合k8s的诸多特点:整体上设计的非常奇妙
  • hub中有丰盛的 task 供咱们封装本人的pipeline
  • 我在通读它的源码后感叹其平凡之初
  • 瞎话说在k8s中还在玩jenkins的就比拟掉队了

作为k8s和cicd专家的我 在tekton实战中 开发或者须要留神的点

  • tekton全流水线实战和pipeline运行原理源码解读

01 封装几种常见的流水线

  • 01 build-push :只构建并推送镜像
  • 02 auth-clone-build-push-apply:新服务 or 同时调整镜像和yaml ,构建+部署yaml+替换image
  • 03 auth-set-image:只须要更新镜像版本,测试环境测好的镜像部署到线上
  • 04 auth-apply-yaml-image:只须要部署yaml,需替换IMAGE_HOLDER, 比方yaml的日志采集等字段更新了,或者configMap参数变更
  • 05 apply一个git仓库中的yaml文件,无需替换IMAGE_HOLDER
  • 06 apply-yaml-dir:apply一个git仓库中的目录,目录中有多个yaml文件
  • 07 apply一个内部的url对应的yaml文件,如装github上的开源组件
  • 08 auth-apply-yaml-image-var : 给须要传额定参数的流水线

02 对于镜像的随机标签问题

  • 应研发需要,为了避免镜像被净化,在镜像标签中增加工夫和commit字符串
  • 增加规定如下:

    • 如果GIT_REVISION为空,分支或tag信息则为master
    • 如果GIT_REVISION不为空,分支或tag信息则为对应的传参
    • 加分钟级别工夫
    • 加commit字符串
  • {IMAGE_BASE_PATH}:{GIT_REVISION}-{date}-{commitid}
  • 举例 xxx/web/nignx:v1.2.3-20220512-10-55-c8873a524
  • 举例 xxx/web/nignx:master-20220512-11-08-a47ac5b8c

03 对应代码仓库须要做的革新应该尽可能的少

  • deployment部署的yaml模板在git仓库中
  • 常常须要变更镜像版本的中央 用IMAGE_HOLDER做占位符
apiVersion: apps/v1kind: Deploymentmetadata:  name: nginx-deployment  labels:    app: nginxspec:  replicas: 3  selector:    matchLabels:      app: nginx  template:    metadata:      labels:        app: nginx    spec:      containers:        - name: nginx          image: IMAGE_HOLDER          ports:            - containerPort: 80

04 在cd时应该限度往在线k8s集群公布的权限

  • 在须要部署到k8s集群的流水线中增加鉴权步骤,逻辑如下
  • 用户须要传参USER_TOKEN
  • 如果是部署的指标集群名字中蕴含live,去校验接口验证USER_TOKEN

    • 胜利则放行
    • 失败则流水线进行
  • 校验接口每隔一段时间生成随机token
  • 随机token请找对应的SRE索要:目标就是研发公布的时候要告诉SRE,大家都晓得要往在线集群公布了,防止私下公布或误公布
  • 应用admintoken能够通过接口获取随机token,而后填入USER_TOKEN校验即可

其它注意事项就不开展了,有问题请购买课程后再答疑

  • 对于golang我的项目 go mod 援用公司内其余公有仓库的问题
  • 对于habor镜像仓库权限的问题等

k8s纯源码解读教程(3个课程内容合成一个大课程)

  • k8s底层原理和源码解说之精髓篇
  • k8s底层原理和源码解说之进阶篇
  • k8s纯源码解读课程,助力你变成k8s专家

k8s运维进阶调优课程

  • k8s运维巨匠课程
  • tekton全流水线实战和pipeline运行原理源码解读

k8s二次开发课程

  • k8s二次开发之基于实在负载的调度器
  • k8s-operator和crd实战开发 助你成为k8s专家

prometheus全组件的教程

  • 01_prometheus全组件配置应用、底层原理解析、高可用实战
  • 02_prometheus-thanos应用和源码解读
  • 03_kube-prometheus和prometheus-operator实战和原理介绍
  • 04_prometheus源码解说和二次开发

go语言课程

  • golang根底课程
  • golang运维平台实战,服务树,日志监控,工作执行,分布式探测
  • golang运维开发实战课程之k8s巡检平台

直播答疑sre职业倒退布局

  • k8s-prometheus课程答疑和运维开发职业倒退布局