Anthos 사용자 클러스터에 배포

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

이 문서에서는 Anthos 클러스터에 애플리케이션을 배포하는 방법을 설명합니다. Anthos 대상 지원에 따라 AWS, Azure, 온프레미스 클러스터에 배포가 가능합니다.

Google Cloud Deploy를 사용하면 Connect 게이트웨이를 사용하여 액세스할 수 있는 Anthos 사용자 클러스터에 컨테이너 기반 워크로드를 배포할 수 있습니다.

시작하기 전에

  • 배포 대상이 되는 Anthos 사용자 클러스터를 준비합니다.

    Anthos 사용자 클러스터로 만든 클러스터를 사용하거나 기존 Kubernetes 클러스터를 등록할 수도 있습니다. Anthos용으로 만든 클러스터는 멤버십이 자동으로 적용됩니다. Fleet에 등록하는 기존 클러스터의 경우 등록할 때 멤버십 이름을 지정합니다. 대상 구성에 이 멤버십 이름이 필요합니다.

    Google Cloud CLI 버전 407.0.0 이상을 사용할 경우 Google Kubernetes Engine 클러스터를 등록할 때 gcloud container fleet memberships register 명령어--install-connect-agent 플래그를 포함해야 합니다. Connect 에이전트는 더 이상 기본적으로 설치되지 않습니다.

  • 하나 이상의 등록된 클러스터를 Google Cloud에 연결하도록 Connect 게이트웨이를 설정합니다.

    Google Cloud Deploy 실행 서비스 계정으로 사용될 동일한 서비스 계정을 사용하여 게이트웨이를 설정해야 합니다. 그렇지 않으면 Anthos 클러스터에 배포하는 데 필요한 권한이 실행 서비스 계정에 포함되지 않습니다.

Anthos에 배포하도록 Google Cloud Deploy 설정

  1. 대상 구성을 만듭니다.

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

  2. 게이트웨이를 통해 연결된 클러스터와 상호작용할 수 있도록 실행 서비스 계정필요한 역할을 부여합니다.

    이러한 권한 부여는 기본 Google Cloud Deploy 서비스 계정 또는 커스텀 서비스 계정 중 무엇을 사용하든 필요한 단계입니다.

  3. Anthos 클러스터의 기반이 되는 Kubernetes 클러스터의 실행 서비스 계정RBAC를 설정합니다.

  4. 선택사항: 기본 클러스터가 GKE 클러스터가 아닌 경우 클러스터가 Artifact Registry에서 가져올 수 있도록 imagePullSecret을 구성해야 할 수 있습니다.

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

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

    anthosCluster:
     membership: projects/[project_name]/locations/global/memberships/[membership_name]
    

    이 Anthos 리소스 식별자에는 다음 요소가 사용됩니다.

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

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

    • [membership_name]은 Fleet에 클러스터를 등록할 때 선택한 이름입니다.

    location의 경우 모든 Anthos 클러스터 멤버십이 global이므로 이 리소스 식별자에서 /locations/global/을 변경할 필요가 없습니다.

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

      apiVersion: deploy.cloud.google.com/v1
      kind: Target
      metadata:
       name: qsdev
      description: development cluster
      anthosCluster:
       membership: projects/my-app/locations/global/memberships/my-app-dev-cluster

다음 단계