您现在的位置是:主页 > 数据库技术 > 数据库技术

Knative中CICD该怎么入门

IDCBT2022-01-11服务器技术人已围观

简介今天给大家介绍一下Knative中CICD该怎么入门。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧

今天给大家介绍一下Knative中CICD该怎么入门。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。

Knative 社区很早就在讨论用 Tekton 替换 Build 模块的相关事宜。Knative Build 官方已经正式说明不再建议使用 Knative Build 了。

如果你知道 Knative Build 是什么,相信你理解起 Tekton 就是一件很容易的事儿了。

    Knative Build 对自己的一句话概述是:A Kubernetes-native Build resource.

    Tekton 对自己的一句话概述是: A K8s-native Pipeline resource. https://tekton.dev 可以看到两者的定位非常相近,但在功能上 Tekton 的设计更加丰富、完整,这也是社区最终采用 Tekton 的原因。接下来我们就看一下 Tekton 的核心概念。

    Tekton 极速入门

    Tekton 主要由以下五个核心概念组成:

      Task

      TaskRun

      Pipeline

      PipelineRun

      PipelineResource

      以上五个概念,每一个都是以 CRD 的形式提供服务的。下面分别简述一下这五个概念的含义。

      Task

      Task 就是一个任务执行模板,之所以说 Task 是一个模板是因为 Task 定义中可以包含变量,Task 在真正执行的时候需要给定变量的具体值。Tekton 的 Task 很类似于一个函数的定义,Task 通过 inputs.params 定义需要哪些入参,并且每一个入参还可以指定默认值。Task 的 steps 字段表示当前 Task 是有哪些子步骤组成的。每一个步骤具体就是一个镜像的执行,镜像的启动参数可以通过 Task 的入参使用模板语法进行配置。

      apiVersion: tekton.dev/v1alpha1
      kind: Task
      metadata:
        name: task-with-parameters
      spec:
        inputs:
          params:
            - name: flags
              type: array
            - name: someURL
              type: string
        steps:
          - name: build
            image: registry.cn-hangzhou.aliyuncs.com/knative-sample/alpine:3.9
            command: ["sh", "-c"]
            args: [ "echo ${inputs.params.flags} ; echo ${someURL}"]
      TaskRun

      Task 定义好以后是不能执行的,就像一个函数定义好以后需要调用才能执行一样。所以需要再定义一个 TaskRun 去执行 Task。TaskRun 主要是负责设置 Task 需要的参数,并通过 taskRef 字段引用要执行的 Task。

      apiVersion: tekton.dev/v1alpha1
      kind: TaskRun
      metadata:
        name: run-with-parameters
      spec:
        taskRef:
          name: task-with-parameters
        inputs:
          params:
            - name: flags
              value: "--set"
            - name: someURL
              value: "https://github.com/knative-sample"

      标签:

      很赞哦! ()

本栏推荐