Google Cloud Deploy 용어

이 문서의 용어는 Google Cloud Deploy에서 사용되는 방식에 따라 정의되어 있습니다.

애플리케이션

Google Cloud Deploy를 사용해서 배포하려는 소프트웨어입니다.

애플리케이션 전달

애플리케이션을 의도된 대상 환경에 전달하기 위해 필요한 애셋을 제공하는 과정을 의미합니다. Google Cloud Deploy에서 애플리케이션 전달은 애플리케이션의 Kubernetes 매니페스트를 생성 및 승격하고 클러스터에 전달하는 과정으로 구성됩니다.

지속적 전달

변경사항이 안전하게, 자주 그리고 대부분의 경우 자동으로 사용자에게 출시될 수 있는 소프트웨어 엔지니어링 방식입니다.

지속적 배포

코드 및 구성 변경사항이 자동으로 배포되도록 만드는 소프트웨어 엔지니어링 방식입니다.

지속적 전달은 하나 이상의 스테이지에서 수동 승인이 필요하지만 지속적 배포는 수동 승인 없이 자동으로 진행됩니다.

선언적

의도된 상태를 기술하고 해당 상태를 달성하기 위해 해당 시스템에 의존하는 Kubernetes 클러스터와 같은 시스템 구성입니다. 해당 상태를 달성하기 위한 특정 단계를 기술하는 필수 구성과 비교됩니다.

선언적 Kubernetes 매니페스트를 렌더링하고 배포하는 것 외에도 Google Cloud Deploy는 선언적 리소스 정의를 사용해서 렌더링 및 전달 프로세스를 정의합니다. skaffold.yamlclouddeploy.yaml은 Skaffold 정의 및 전달 파이프라인 정의에 사용되는 일반적인 파일 이름입니다.

전달 파이프라인

애플리케이션을 배포 진행 중에 각 대상에 전달하는 워크플로를 나타냅니다.

Google Cloud Deploy 문서에서는 CI 파이프라인과 같이 사용될 수 있는 다른 파이프라인과 구분하기 위해 '전달 파이프라인'이라는 용어가 사용됩니다.

Google Cloud Deploy에서 전달 파이프라인은 일반적으로 clouddeploy.yaml에 해당하는 YAML 구성 파일에 정의되어 있으며, 이 정의는 다음과 같이 구성됩니다.

  • 배포 대상
  • 이러한 대상 사이의 승격 시퀀스

또한 파이프라인 인스턴스를 참조하세요.

실행 환경

Google Cloud Deploy가 실행되는 Google Cloud 리소스 집합입니다. 다음과 같이 구성됩니다.

  • Google Cloud Deploy가 렌더링 및 배포 작업을 실행하는 기본 또는 비공개 작업자 풀

  • 렌더링 및 배포를 수행하도록 Google Cloud Deploy를 호출하는 기본 또는 대체 실행 환경 서비스 계정

  • Cloud Storage에서 렌더링된 매니페스트의 기본 또는 대체 스토리지 위치

하이드레이션

렌더링을 참조하세요.

매니페스트

포드, 배포, 서비스 또는 인그레스와 같은 Kubernetes 리소스를 생성, 수정, 삭제하는 데 사용되는 Kubernetes 구성 객체입니다.

Google Cloud Deploy에서 매니페스트는 렌더링된 상태 또는 렌더링되지 않은 상태 중 하나로 존재합니다. 렌더링되지 않은 매니페스트는 대상에 배포할 준비가 되지 않은 것입니다. 매니페스트에 특정 값을 채우는 렌더링 프로세스는 주로 Helm, Kustomize, kpt 같은 도구에서 수행됩니다. Google Cloud Deploy는 Skaffold를 사용해서 구성 렌더링을 조정합니다(skaffold render 명령어).

또한 렌더링도 참조하세요.

파이프라인

전달 파이프라인을 참조하세요.

파이프라인 인스턴스

release를 만들 때 작성되는 전달 파이프라인의 스냅샷입니다. Google Cloud Deploy는 release를 만들 때 정의된 대로 파이프라인을 사용해서 출시 버전의 모든 배포가 일관적으로 관리되도록 보장하기 위해 이 스냅샷을 유지합니다.

자세한 내용은 출시 버전별 파이프라인 인스턴스를 참조하세요.

파이프라인 불일치

출시 버전이 생성된 후 전달 파이프라인 또는 대상이 변경되면 release와 연관된 파이프라인 인스턴스가 이제 파이프라인 정의와 달라집니다.

파이프라인이 불일치하면 출시 버전을 승격하거나 롤백을 시도하기 전 Google Cloud Deploy에서 정의를 검사하라는 메시지가 표시됩니다.

자세한 내용은 출시 버전별 파이프라인 인스턴스를 참조하세요.

진행

clouddeploy.yaml에서 한 대상에서 다른 대상으로의 승격 시퀀스를 기술하는 구성입니다. 예를 들어 test에서 staging, prod로 진행됩니다.

승격

전달 파이프라인에 정의된 진행에 따라 한 대상에서 다른 대상으로 출시 버전을 진행하는 프로세스입니다.

등록

애플리케이션의 전달이 서비스에서 관리되도록 전달 파이프라인 형태로 Google Cloud Deploy 서비스에 애플리케이션을 제공합니다.

출시 버전

배포할 변경사항(코드, 구성 또는 둘 다)을 나타내는 Google Cloud Deploy 리소스입니다.

출시 버전 수명 주기는 Google Cloud Deploy 서비스 아키텍처 문서에 기술되어 있습니다.

렌더링

대상에서 배포를 위해 매니페스트를 준비합니다. 매니페스트를 렌더링할 때는 주로 매니페스트에 변수 값을 제공합니다. Google Cloud Deploy는 skaffold render를 사용해서 이를 수행합니다.

출시

출시 버전을 배포 대상과 연결하는 리소스입니다. rollout은 대상 및 출시 버전별로 생성되므로 3개 대상이 포함된 단순 진행에는 3개의 rollout이 있습니다.

대상

애플리케이션을 배포할 특정 런타임 환경(Kubernetes 클러스터)입니다. 또한 해당 환경의 구성입니다.

전달 파이프라인 구성 파일 또는 개별 파일에서 대상을 정의할 수 있습니다.