Anthos 사용자 클러스터에 배포

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

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

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

시작하기 전에

  • 배포할 Anthos 사용자 클러스터를 준비합니다.

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

    gcloud 버전 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

다음 단계