Cloud Deploy 용어

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

포기

출시 버전을 영구적으로 비활성화하려면 다음 안내를 따르세요.

애플리케이션

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

애플리케이션 전달

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

아티팩트

배포할 컨테이너 이미지(빌드 아티팩트)와 배포에 사용되는 매니페스트 및 Skaffold 구성과 같은 구성 파일(대상 아티팩트)

자동화

자동화를 사용하면 사람의 개입 없이 해당 파이프라인의 출시 버전 및 출시에 대한 일부 작업을 수행할 수 있도록 배포 파이프라인과 대상을 구성할 수 있습니다. 예를 들어 특정한 대상으로의 승격이 적절한 상황에서 자동으로 발생하도록 배포 파이프라인을 설정할 수 있습니다. 자세히 알아보기

자동화 규칙

자동화의 동작은 자동화 규칙에 의해 부분적으로 정의됩니다. 자동화 규칙은 출시 버전 승격과 같이 자동화되는 대상을 정의합니다.

사용 가능한 자동화 규칙은 자동화 규칙 사용 문서에 나와 있습니다.

자동화 실행

자동화의 인스턴스입니다.

카나리아 배포

변경사항을 먼저 일부 사용자에게 출시하고 안정성을 확인한 다음 완전히 출시하는 배포 전략입니다.

하위 출시

동시 배포의 경우 하위 대상에 배포하기 위해 생성된 출시입니다.

컨트롤러 출시도 참조하세요.

하위 대상

동시 배포의 경우 동시에 배포할 여러 GKE, GKE Enterprise 또는 Cloud Run 개별 대상 중 하나를 나타내는 대상입니다.

멀티 대상, 동시 배포, 하위 출시도 참조하세요.

지속적 배포

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

지속적 배포

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

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

컨트롤러 출시

동시 배포를 위해 생성된 출시입니다. 컨트롤러 출시는 단일 대상 클러스터 또는 서비스에 배포하는 데 사용되지 않으며, 각 하위 대상에 대한 하나의 하위 출시가 있습니다.

동시 배포, 멀티 대상도 참조하세요.

커스텀 대상

지원되는 대상 유형 중 하나가 아닌 사용자 정의 커스텀 대상 유형을 사용하는 대상입니다.

선언적

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

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

전달 파이프라인

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

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

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

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

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

후크 배포

배포 전후에 실행할 수 있는 임의 작업입니다. 자세히 알아보기

매개변수 배포

매니페스트에 추가할 수 있지만 렌더링 중에 확인되지 않는 자리표시자입니다. 대신 이러한 자리표시자의 값이 각 대상별 매니페스트가 렌더링된 후 할당됩니다. 자세히 알아보기

배포 전략

사용자에게 미치는 영향을 최소화하면서 애플리케이션에 변경사항을 안전하게 배포하는 기법입니다.

실행 환경

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

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

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

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

하이드레이션

렌더링을 참조하세요.

작업

배포 또는 확인 등 출시에서 수행할 특정 작업입니다. 자세히 알아보기

작업 실행

출시의 하위 리소스이며, 작업 실행은 작업의 인스턴스입니다. 즉, 배포 또는 확인과 같은 작업을 수행하려는 시도를 나타냅니다. 자세히 알아보기

매니페스트

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

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

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

멀티 대상

동시 배포를 구성하거나 수행할 때 멀티 대상은 단일 파이프라인 단계이지만 두 개 이상의 대상 런타임을 구성할 수 있습니다.

하위 대상, 동시 배포, 컨트롤러 출시도 참조하세요.

동시 배포

동일한 전달 파이프라인 단계에서 동시에 두 개 이상의 대상에 애플리케이션을 배포하는 방법입니다. 예를 들어 이 기술을 사용하면 프로덕션 환경에서 여러 클러스터 또는 서비스에 배포할 수 있습니다.

단계

논리적으로 함께 그룹화된 출시의 작업 모음(예: 배포 또는 배포 및 확인)입니다. 자세히 알아보기

파이프라인

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

파이프라인 인스턴스

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

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

파이프라인 불일치

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

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

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

진행

배포 파이프라인 구성 파일의 구성으로, 한 대상에서 다른 대상으로의 승격 시퀀스를 설명합니다(예: test에서 staging, prod까지).

프로모션

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

등록

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

출시

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

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

렌더링

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

출시

출시 버전을 배포 대상과 연결하는 리소스입니다. 배포 파이프라인에서 출시당 rollout이 생성되므로 배포 파이프라인의 3개 대상에서 단순 진행을 수행하면 대상별로 하나씩 3개의 rollout 리소스가 생성됩니다.

카나리아 배포 전략을 사용하는 등의 복잡한 배포의 경우 rollout이 더 복잡할 수 있습니다. 자세히 알아보기

표준 배포 전략

표준 배포 전략은 대상에 애플리케이션을 배포하는 기본 방법입니다. 전달 파이프라인에 정의된 각 단계에서 애플리케이션은 이전에 배포된 상태로 교체될 때마다 대상에 완전히 배포됩니다.

단계

전달 파이프라인에 있는 하나의 대상 또는 멀티 대상입니다. 예를 들어 다음과 같은 간단한 배포 파이프라인에서 단계를 수행할 수 있습니다.

  • dev
  • staging
  • prod

각 단계는 하나의 단계입니다.

동시 배포를 수행할 때 멀티 대상은 단일 단계이지만 하위 대상은 별도의 단계가 아닙니다.

정지(배포 파이프라인)

지정된 배포 파이프라인에서 출시의 생성과 승격을 방지합니다. 자세한 내용은 배포 파이프라인 정지를 참조하세요.

타겟

애플리케이션을 배포할 특정 런타임 환경(Kubernetes 클러스터, Cloud Run 서비스 또는 기타 지원되는 런타임)입니다. 또한 해당 환경의 구성입니다.

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

대상은 멀티 대상이거나 동시 배포를 지원하는 하위 대상일 수 있습니다.

대상 아티팩트

대상에 애플리케이션을 렌더링하고 배포하는 데 사용되는 구성 파일입니다. 여기에는 Kubernetes 매니페스트 또는 Cloud Run 서비스 정의, Skaffold 구성 파일, 이를 만드는 데 사용된 렌더링 소스가 포함됩니다.

확인

테스트에서 임의 컨테이너를 실행하여 배포가 성공했는지 확인하는 기능입니다. 배포 확인 자세히 알아보기