Google Kubernetes Engine 클러스터에 배포

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

이 문서에서는 Google Kubernetes Engine 클러스터에 애플리케이션을 배포하는 방법을 설명합니다.

Google Cloud Deploy를 사용하면 모든 Google Kubernetes Engine 클러스터에 컨테이너 기반 워크로드를 배포할 수 있습니다. GKE 대상에 배포할 때는 모든 Google Cloud Deploy 기능이 지원됩니다.

시작하기 전에

skaffold.yaml 파일에서 deploy 스탠자는 kubectl을 포함하며, Skaffold가 렌더링되어 Kubernetes(GKE)에 배포됨을 나타냅니다. 이 애플리케이션에 사용하는 매니페스트가 아래에 나와 있습니다.

대상 구성 만들기

각 대상은 배포 파이프라인 YAML에서 구성하거나 별도의 파일에 포함할 수 있습니다. 또한 동일한 파일에 대상을 두 개 이상 구성할 수 있지만 서로 다른 kind: Target 스탠자에 있어야 합니다.

대상 정의에서 GKE 클러스터를 가리키는 gke 스탠자를 만듭니다.

GKE 클러스터를 지정하는 구문은 다음과 같습니다.

gke:
 cluster: projects/[project_name]/locations/[location]/clusters/[cluster_name]

이 GKE 리소스 식별자는 다음 요소를 사용합니다.

  • [project_name] 은 이 클러스터를 실행 중인 Google Cloud 프로젝트의 이름입니다.

    배포 대상 클러스터가 배포 파이프라인과 동일한 프로젝트에 있을 필요는 없습니다.

  • [location]은 클러스터가 생성된 리전입니다.

  • [cluster_name] 은 클러스터가 생성될 때 클러스터에 지정된 이름입니다.

    이 이름은 Google Cloud 콘솔에서 프로젝트의 클러스터 목록에서 찾을 수 있습니다.

    Google Cloud 콘솔의 클러스터 목록

다음은 GKE 클러스터를 가리키는 대상 구성의 예시입니다.

      apiVersion: deploy.cloud.google.com/v1
      kind: Target
      metadata:
       name: dev
      description: development cluster
      gke:
       cluster: projects/my-app/locations/us-central1/clusters/my-app-dev-cluster

Skaffold 구성 만들기

이 섹션에서는 GKE 클러스터에 배포할 때 사용할 간단한 Skaffold 구성의 예시를 제공하고 설명합니다.

다음은 GKE 클러스터에 배포하기 위한 예시 skaffold.yaml 파일입니다.

apiVersion: skaffold/v3alpha1
kind: Config
metadata:
  name: gke-application
deploy:
  kubectl:
    manifests:
      - [MANIFEST]

Google Cloud Deploy에서 Skaffold 사용에서 배포 파이프라인에 Skaffold를 사용하는 방법을 자세히 설명하고 있습니다.

Kubernetes 매니페스트 준비

GKE에 애플리케이션을 배포하려면 Google Cloud Deploy에 하나 이상의 Kubernetes 매니페스트를 제공합니다. 이 매니페스트는 렌더링된 후 하나 이상의 대상 클러스터에 적용되어 애플리케이션에 배포됩니다.

이러한 매니페스트가 없으면 Google Cloud Deploy 배포 파이프라인을 사용하여 배포하기 전에 매니페스트를 만듭니다.

Kustomize 또는 Helm을 사용하여 매니페스트를 만들 수 있습니다. 매니페스트가 템플릿화되었고 렌더링이 필요한 경우에도 Kustomize 또는 Helm을 사용할 수 있습니다.

요약 정리

Kubernetes 매니페스트, skaffold.yaml 구성, Google Cloud Deploy 대상 정의가 준비되었으며 Google Cloud Deploy 리소스로 대상을 등록했습니다. 이제 배포 파이프라인을 호출하여 출시 버전을 만들고 파이프라인에 정의된 대상의 진행을 따라 진행할 수 있습니다.

다음 단계