Tekton 및 재사용 가능한 파이핑의 전경
7461 단어 kubernetesdevopsdocker
우리는 공장 모델을 납품 소프트웨어에 도입하기 위해 DevOps 자동화 모델의 통합, 지속적인 통합과 지속적인 배치, 그리고 조직이 어떻게 상세한 파이프라인을 설계하는지 알고 있다.
만약에 클라우드 컴퓨터 분포식 시스템을 위해 이러한 DevOps 실천에 참여한 적이 있다면 이 CI/CD 파이프가 어떻게 신속하게 복잡한 도구와 집적 잡음이 되는지 알 수 있습니다. 이 도구와 집적은 자신의 전문가 조직을 구축하고 유지해야 하기 때문에 실천이 깨지기 시작한 창고를 증가시킬 수 있습니다.
여러 개의 분포식 서브시스템으로 구성된 대형 시스템은 통상적으로docker 용기로 배열이 실행될 때(예를 들어 Kubernetes)에 배치된다.이 시스템들에 대해 말하자면, 이 파이프들은 결코 쉽지 않다.문제는 트리거부터 구축 및 포장, 테스트 환경 만들기, 테스트 실행까지 최소한 5가지 도구를 사용해야 한다는 것이다. 마지막으로 원클릭으로 배치된 성배(성배가 있다면!).
무슨 글씨체
구글 Knative 프로젝트의 일부 우수 인사들은 상술한 문제가 매우 심각하다고 생각한다. 그들은 해결 방안을 제시했다. 이것은 지금까지 왼쪽 파이프를 건설하는 가장 좋은 시도 중의 하나라고 생각한다.텍턴.
Tekton은 고도의 재사용, 성명성, 구성 요소 기반의 클라우드 원본 구축 시스템을 제공함으로써 Kubernetes CRD를 이용하여 작업을 완성하고 이 파이프를 만들고 운행하는 데 필요한 단순성과 일치성을 가져오도록 한다.Tekton 철학에서 모든 파이프는 다음과 같은 세 가지 관건적인 부분으로 분해될 수 있다
작업 원리
Tekton은 위에서 설명한 특징을 만족시키는 자원을 정의하여 무엇을 해야 하는지, 그리고 언제 어떻게 조작을 밑바닥에 남겨야 하는지에 집중할 수 있도록 합니다.Tekton으로 생성된 파이프의 주요 구성 블록을 살펴보겠습니다.
단계
Tekton 구성 요소에서 가장 기본적인 것은 절차입니다. 본질적으로 Kubernetes 용기 규범입니다. 이것은 기존의 자원 유형으로 이미지를 정의하고 실행하는 데 필요한 정보를 허용합니다.예:
steps:
- image: ubuntu # contains bash
script: |
#!/usr/bin/env bash
echo "Hello from Bash!"
임무
작업은 하나 이상의 단계로 구성되어 있습니다. (임의의 입도나 정밀한 작업이 있을 수 있습니다.) 특정한 목표 (jar 압축 파일 구축,docker 이미지, 테스트 실행 등) 를 실현하는 파이프의 작업 단위입니다.예를 들어, 다음 작업은 maven 구축을 실행합니다.
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: mvn
spec:
workspaces:
- name: output
params:
- name: GOALS
description: The Maven goals to run
type: array
default: ["package"]
steps:
- name: mvn
image: gcr.io/cloud-builders/mvn
workingDir: /workspace/output
command: ["/usr/bin/mvn"]
args:
- -Dmaven.repo.local=$(workspaces.maven-repo.path)
- "$(inputs.params.GOALS)"
파이프
파이프는 일련의 작업의 집합으로 특정한 실행 순서에 따라 이러한 작업을 정의하고 배정할 수 있으며, 연속적인 집적 흐름의 일부분으로 삼을 수 있습니다.파이프의 모든 작업은 Kubernetes 클러스터의 Pod로 수행됩니다.비즈니스 요구 사항을 충족하도록 다양한 실행 조건을 구성할 수 있습니다.필요에 따라 파이프는 워크플로우의 일부일 수 있습니다.다음은 Tekton에서 파이프가 구현하는 기능에 대한 그림입니다.
그것들을 한데 모으다
대부분의 현대 프로젝트에서 우리가 원하는 것은 무엇인지 살펴보자.
만약 여러 개의 응용 프로그램이 이러한 절차를 필요로 한다면, 당신은 기본적으로 다음과 같은 절차를 할 수 있다.
Tekton과 파이프 구축
이제 데스크톱에서 가져온 약속에 대한 Tekton의 모든 내용을 보았습니다. 이를 어떻게 실현하는지 봅시다.
Tekton 설치
Tekton Pipelines의 핵심 구성 요소를 설치하려면(kube 클러스터를 시작하고 실행한 경우 먼저 설치하지 않은 경우) 다음 명령을 실행합니다.
kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml
설치가 완료되기 전에 시간이 좀 걸릴 수 있습니다.다음 명령을 사용하여 진행 상태를 확인할 수 있습니다.kubectl get pods --namespace tekton-pipelines
나열된 모든 구성 요소가 실행 중인지 확인하십시오.지속권
CI/CD 워크플로우를 실행하려면 Tekton에 저장할 영구 볼륨을 제공해야 합니다.기본적으로 Tekton은 기본 스토리지 클래스가 있는 5Gi 볼륨을 요청합니다.Kubernetes 클러스터 (예: Google Kubernetes 엔진에서 온 클러스터) 는 만들 때 영구 볼륨을 설정할 수 있으므로 추가 절차가 필요하지 않습니다.없으면 수동으로 만들어야 할 수도 있습니다.또는 Tekton에 구글 클라우드 저장소 또는 AWS 단순 저장소 서비스(Amazon S3) 저장소를 사용하도록 요구할 수 있습니다.Tekton의 성능은 선택한 스토리지 옵션에 따라 다를 수 있습니다.
kubectl create configmap config-artifact-pvc \
--from-literal=size=10Gi \
--from-literal=storageClassName=manual \
-o yaml -n tekton-pipelines \
--dry-run=client | kubectl replace -f -
Tekton 설치 및 구성에 대한 자세한 내용은 해당 제품documentation을 참조하십시오.진일보한 절차.
이 글에서 우리는 Tekton이 무엇을 가져왔는지, 다시 사용할 수 있는 작업에서 구축할 수 있는 고도의 확장 가능한 파이프를 작성하고, 이를 어떻게 신속하게 구축하여kubernetes 집단에서 운행하는지 보았다.다음 부분에서, 우리는 Tekton에서 간단한 자바 응용 프로그램을 위해 파이프를 구축하고 실행하는 방법을 연구할 것이다.
Reference
이 문제에 관하여(Tekton 및 재사용 가능한 파이핑의 전경), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/anadimisra/tekton-and-the-promise-of-reusable-pipelines-4jko텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)