Tekton 및 재사용 가능한 파이핑의 전경

구름과 용기 기술의 출현은'별급'분포식 계산의 새로운 시대를 열었는데 이것은 10년 전에는 들은 적이 없고 상상하기 어려운 것이다.DevOps는 10년 전 또 다른 흥미로운 운동이 준비 중이며, 이러한 복잡한 해결 방안을 고속과 정확한 방식으로 제공할 수 있다고 밝혔다.이 두 가지 범례의 전환은 손을 잡고 함께 나아가며 서로 보완하여 우리가 오늘날 알고 있는 (또는 여전히 공부하고 있는) 방식으로 분포식 계산을 형성한다.
우리는 공장 모델을 납품 소프트웨어에 도입하기 위해 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에서 파이프가 구현하는 기능에 대한 그림입니다.

    그것들을 한데 모으다


    대부분의 현대 프로젝트에서 우리가 원하는 것은 무엇인지 살펴보자.

    만약 여러 개의 응용 프로그램이 이러한 절차를 필요로 한다면, 당신은 기본적으로 다음과 같은 절차를 할 수 있다.
  • 셀 테스트, Linting, 이미지 구축, 실행 테스트(통합 또는 엔드 투 엔드), 이미지 게시 등 일반적인 작업 정의
  • 여러 파이핑을 정의하거나 유사한 모듈에 사용할 표준화된 파이핑 생성
  • 패라메트릭 파이핑은 자동화 수준이 낮거나 CI/CD 구성이 낮은 파이핑으로 실행되고 확장됩니다
  • 이것이 바로 이 도구의 강력한 점이다. 임의의 수량의 파이프를 작성할 수 있으며, 여러 개의 도구를 집적하거나 복잡한 배열을 관리할 필요가 없다.이런 철저한 자동화 CI/CD 파이프 건식 방법은 소프트웨어 개발진이 사용할 수 있는 좋은 도구임에 틀림없다.

    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에서 간단한 자바 응용 프로그램을 위해 파이프를 구축하고 실행하는 방법을 연구할 것이다.

    좋은 웹페이지 즐겨찾기