VMware용 Google Distributed Cloud(소프트웨어만 해당) 개요

Google Distributed Cloud는Google Cloud 인프라와 서비스를 데이터 센터로 확장하는 완전 관리형 소프트웨어 및 하드웨어 솔루션입니다. Google Distributed Cloud는 Google 제공 하드웨어에서 실행되는 연결형 및 에어 갭 적용 구성 모두에서 사용할 수 있습니다. Google Distributed Cloud는 VMware 또는 베어메탈의 자체 하드웨어에서 실행되는 소프트웨어 전용 제품으로도 제공됩니다. 이 가이드는 VMware vSphere 환경의 자체 하드웨어에서 실행되는 Google Distributed Cloud 소프트웨어를 대상으로 합니다.

Google Distributed Cloud는 온프레미스 환경에서 사용할 수 있도록 GKE를 확장하는 자체 Kubernetes 패키지가 있는 Google Kubernetes Engine(GKE)을 기반으로 합니다. Google Distributed Cloud를 사용하면Google Cloud 기능을 사용하면서 자체 프레미스에서 GKE 클러스터를 만들고 관리하고 업그레이드할 수 있으며, Google 인프라를 사용하여 클러스터에서 컨테이너화된 애플리케이션을 대규모로 배포 및 운영할 수 있습니다.

Google Distributed Cloud 소프트웨어를 설치하면 컨테이너화된 워크로드를 대규모로 제어, 관리, 운영할 수 있는 다양한Google Cloud 기능을 사용할 수 있습니다. VMware에서 사용할 수 있는 기능에 대한 자세한 내용은 GKE 개요를 참조하세요.

이 페이지에서는 VMware에서 Google Distributed Cloud가 작동하는 방법에 대한 개요를 제공하여 최소 또는 프로덕션 설치로 이동하기 전에 필요한 배경 정보를 제공합니다.

작동 방식

Google Distributed Cloud는 GKE를 확장하여 자체 프레미스의 vSphere 환경에서 GKE 클러스터를 만들고 해당 클러스터를 Fleet의 일부로 일반 GKE 클러스터 및 다른 환경의 클러스터와 함께 Google Cloud 에서 관리할 수 있도록 합니다.

Google Distributed Cloud 소프트웨어는Google Cloud가 아닌 데이터 센터에서 실행되므로 GKE 소프트웨어 자체 외에도 일부 관리자 및 컨트롤 플레인 소프트웨어를 설치해야 합니다. 데이터 센터에서 실행되는 소프트웨어는 설치 및 업그레이드 프로세스 과정에서 다운로드됩니다.

다음은 완료된 설치 결과를 단순화시킨 다이어그램입니다.

관리자 클러스터 및 사용자 클러스터 다이어그램
사용자 클러스터가 하나인 Google Distributed Cloud 아키텍처

주요 구성요소

다음 구성요소는 Google Distributed Cloud의 VMware에의 소프트웨어 전용 설치를 구성합니다.

  • 사용자 클러스터는 애플리케이션을 구현하는 워크로드가 실행되는 곳입니다(예: Google Cloud기반 GKE). 워크로드를 실행하는 노드를 워커 노드라고 합니다. 또한 사용자 클러스터에는 하나 이상의 컨트롤 플레인 노드가 있습니다. 앞의 다이어그램에서 사용자 클러스터에는 컨트롤 플레인 노드가 1개 있습니다.

  • 관리자 클러스터는 하나 이상의 사용자 클러스터를 관리합니다. 앞의 다이어그램에서 관리자 클러스터에는 컨트롤 플레인 노드가 3개 있습니다.

  • 관리자 워크스테이션은 클러스터 생성자 및 개발자가 설치를 관리하는 데 필요한 도구가 포함된 별도의 머신입니다.

    • 관리자 워크스테이션에서 gkectl을 실행하면 클러스터를 만들고 업데이트하고 다른 관리 작업을 수행할 수 있습니다.
    • 관리자 워크스테이션에서 kubectl을 실행하면 워크로드 배포 및 관리를 포함하여 관리자 및 사용자 클러스터와 상호작용할 수 있습니다.
  • Google Cloud 콘솔은 VMware용 클러스터를 포함하여 Google Cloud 프로젝트에 대한 웹 인터페이스를 제공합니다. 관리자 워크스테이션에서 명령어를 실행하는 대신 Google Cloud 콘솔에서 클러스터 만들기를 포함한 관리 작업의 하위 집합을 수행할 수 있습니다.

  • 클러스터 관리자와 개발자는 kubectl 및 가상 IP 주소(VIP)를 사용하여 관리자 및 사용자 클러스터의 컨트롤 플레인에 액세스합니다. 클러스터를 만드는 동안 VIP를 구성합니다. 사용자 클러스터에서 워크로드를 호출하는 사용자 및 개발자는 서비스 및 인그레스 VIP를 사용합니다. 설치의 각 노드에는 자체 IP 주소도 있습니다. Google Distributed Cloud의 IP 계획에 대한 자세한 내용은 IP 주소 계획을 참조하세요.

Fleet에 연결

모든 Google Distributed Cloud 클러스터는 Kubernetes 클러스터의 논리적 그룹인 Fleet의 구성원입니다. Fleet를 사용하면 조직에서 개별 클러스터부터 전체 클러스터 그룹까지 수준 높은 관리를 수행할 수 있으며, Google에서 사용하는 것과 유사한 권장사항을 팀에서 채택할 수 있습니다. Google Cloud 콘솔에서 Fleet 클러스터를 함께 보고 관리할 수 있으며 Fleet 지원 기능을 사용하여 규모에 맞게 워크로드를 관리, 제어, 운영할 수 있습니다. 온프레미스 환경에 사용할 수 있는 Fleet 기능의 전체 목록을 볼 수 있습니다.

각 Fleet 클러스터의 Google Cloud 연결은 Google Distributed Cloud 설치 프로세스의 일부로 배포되는 Connect Agent에서 관리됩니다. 이 에이전트의 작동 방식은 Connect Agent 개요에서 자세히 알아볼 수 있습니다.

또한 다음 섹션에 설명된 대로 Fleet 멤버십을 사용하여 Google Distributed Cloud 가격 책정을 관리할 수 있습니다.

가격 책정

Google Distributed Cloud의 일부로 생성된 온프레미스 GKE 클러스터는 vCPU당 요금이 청구됩니다. Google Cloud 프로젝트에서 Anthos API를 사용 설정하여 결제를 사용 설정합니다.

영업팀에 문의하는 방법을 포함한 전체 가격 책정 정보는 GKE 가격 책정을 참조하세요.

VMware에 Google Distributed Cloud 설치

Google Distributed Cloud 소프트웨어는 자체 인프라에서 실행되므로 특정 조직 및 사용 사례 요구사항을 충족하도록 구성하기 쉽습니다. 지원되는 부하 분산 모드, vSphere 구성, IP 주소 지정 옵션, 보안 기능, 연결 옵션 등에서 선택할 수 있습니다. 즉, Google Distributed Cloud 설정에는 설치 요구사항을 충족하기 위해 네트워킹, vSphere, 애플리케이션 팀과 협력하여 설치 전 및 중에 결정을 내리는 것이 포함됩니다. 이 문서 세트에는 팀의 의사 결정에 도움이 되는 가이드가 포함되어 있습니다.

하지만 Google Distributed Cloud의 작동만 확인하려는 경우를 위해 Google에서는 소규모 테스트 설치를 위한 기본적인 설치 경로를 제공합니다. 여기에서는 많은 선택이 자동으로 이루어져 워크로드를 빠르게 준비하고 실행할 수 있습니다.

각 경우의 설치 프로세스는 다음과 같습니다.

  1. 설치 계획을 세웁니다. 최소한 Google Distributed Cloud의 리소스 및 vSphere 요구사항을 충족할 수 있도록 하고 IP 주소를 계획해야 합니다.
  2. vSphere 인벤토리 객체 설정 및 Google 연결 등 Google Distributed Cloud를 지원하도록 온프레미스 환경을 설정합니다.
  3. Google Distributed Cloud를 설정하고 관리할 때 사용할 Google Cloud 프로젝트를 포함하여 Google Cloud 리소스를 설정합니다.
  4. 클러스터를 만드는 데 필요한 리소스와 도구로 관리자 워크스테이션을 만듭니다.
  5. 사용자 클러스터를 만들고 관리하고 업데이트하도록 관리자 클러스터를 만듭니다.
  6. 실제 워크로드를 실행할 사용자 클러스터를 만듭니다.

지원되는 버전

이 문서에서는 지원되는 모든 Google Distributed Cloud 버전을 설명합니다. 해당하는 경우 이 문서에서 지원되지 않는 이전 버전에 대한 제한된 정보도 보관합니다. 요구사항과 동작의 버전별 차이점은 문서에 설명되어 있습니다. 마찬가지로 새 기능이 출시되면 해당 기능에 지원되는 버전이 기술됩니다.

지원되는 부 버전 및 사용 가능한 패치 목록은 버전 관리를 참조하세요.

1.29 출시 버전부터는 더 이상 이전 부 출시 버전을 위한 디렉터리가 생성되지 않습니다. 동작의 차이는 문서에 설명되어 있습니다. 마찬가지로 새 기능이 출시되면 해당 기능에 지원되는 버전이 기술됩니다.

다음 URL에서 부 버전 번호를 추가하여 이전 버전의 전체 문서를 찾을 수 있습니다.

https://cloud.google.com/anthos/clusters/docs/on-prem/VERSION/

VERSION을 1.0~1.16의 부 버전으로 바꾸고 URL을 브라우저의 주소 표시줄에 복사합니다.

데이터 보관 위치

VMware용 Distributed Cloud 소프트웨어만 실행하는 경우 클러스터, 애플리케이션, 비즈니스 데이터가 데이터 센터에 유지됩니다. 기본적으로 Google Distributed Cloud는 설정, 상태, 사용량과 같은 클러스터에 대한 Google Cloud 정보를 전송하지만 애플리케이션 데이터는 전송하지 않습니다.

데이터 센터에 보관되는 데이터

다음 데이터는 데이터 센터에 보관됩니다.

  • 컨테이너, 포드, PersistentVolume, 애플리케이션에서 처리하는 데이터
  • 모든 Kubernetes 객체는 컨트롤 플레인과 etcd 데이터베이스에 저장됩니다.
  • 관리자 클러스터의 컨트롤 플레인은 자체 서명된 etcd 비공개 키, 사용자 클러스터 키, 클러스터 인증 기관 (CA)을 저장합니다.
  • etcd 또는 관리자 워크스테이션에 저장된 애플리케이션 보안 비밀, OAuth 토큰, SSH 비공개 키, Container Registry 사용자 인증 정보, vCenter 및 F5 BIG-IP 사용자 인증 정보, 서비스 계정 키 파일 GKE On-Prem API로 전송되지 않으며 진단 스냅샷에서 삭제됩니다.
  • 관리자 클러스터, 사용자 클러스터, 사용자 인증 정보 구성 파일은 관리자 워크스테이션에 저장됩니다.
  • 감사 로그는 관리자 클러스터 컨트롤 플레인 노드 및 사용자 클러스터의 디스크에 기록됩니다.
  • 진단 스냅샷을 Cloud Storage에 업로드할 수 있습니다.

Google Cloud에 전송되는 데이터

다음 표에서는 전송되는 항목, 사용 및 저장 방법, 사용 중지 가능 여부를 보여줍니다.

데이터 전송되는 항목 사용 및 보관 기본값
연결 및 Fleet 등록
(gkehub.googleapis.com, gkeconnect.googleapis.com)
  • 클러스터 ID: Google Cloud 프로젝트, Fleet 멤버십 이름, 클러스터 UID, 공개 키, Kubernetes 버전, 클러스터 크기, ID 공급업체 구성
  • Google Cloud 콘솔 또는 Connect 게이트웨이에서 요청된 Kubernetes 데이터입니다.
  • Google Cloud 콘솔에서 로그아웃할 때까지 사용자 프로필에 있는 암호화된 Kubernetes 토큰
Connect Agent를 사용하여Google Cloud 콘솔, Connect 게이트웨이, Fleet에서 클러스터를 관리합니다. kube-apiserver는 각 요청을 인증, 승인, 감사 로깅합니다. 필수
클러스터 설정 및 상태
(gkeonprem.googleapis.com)
  • 이름, UID, 설명, 주석, 버전, 수명 주기 상태, 컨트롤 플레인 VIP
  • 노드 풀 이름, 노드 IP 또는 DHCP 설정, 포드 및 서비스 CIDR, 부하 분산기 VIP, 부하 분산기 설정
  • vCenter 주소, 데이터 센터, 클러스터, 리소스 풀, 데이터 스토어, 폴더, 스토리지 정책 이름(vCenter 사용자 인증 정보 아님)
  • 클러스터 관리자의 이메일 주소입니다.
Google Cloud 콘솔, Google Cloud CLI 또는 Terraform을 사용하여 클러스터를 관리할 수 있습니다. GKE On-Prem API는 이 데이터를 gkeOnPremAPI.location에 설정된 리전에 저장합니다. Google Cloud 프로젝트에서 GKE On-Prem API가 사용 설정된 경우 버전 1.16 이상에서 사용 설정됩니다. 사용 중지하려면 gkeOnPremAPI.enabled를 false로 설정합니다.
결제 사용량
(anthos.googleapis.com)
vCPU 용량, 노드 수, 라이선스 사용 권한 상태 측정, 결제, 라이선스 확인에 사용됩니다. 필수. 결제 레코드는 서비스 중단 중에 버퍼링되고 나중에 전송됩니다.
건강 데이터
(logging.googleapis.com, monitoring.googleapis.com, opsconfigmonitoring.googleapis.com)
  • 측정항목: CPU, 메모리, 디스크, 네트워크 사용, kubelet 측정항목, 노드 및 시스템 포드의 kube-state-metrics
  • 모든 관리자 클러스터 구성요소와 kube-system, gke-system, gke-connect, istio-system, config-management-system 사용자 클러스터 네임스페이스의 컨테이너 로그 및 상태 점검 결과
  • 메타데이터: 노드, 포드, 배포, 서비스의 이름과 라벨
Cloud Monitoring, Google Cloud 콘솔 상태 뷰, 고객 지원 문제 해결에 사용됩니다. stackdriver.projectID에 설정된 Google Cloud 프로젝트에 저장됩니다. 측정항목은 stackdriver.clusterLocation 리전에 저장되고 로그는 로그 라우터 설정을 따릅니다. 전체 고객 지원 및 SLA 적용 범위에 필요한 시스템 로그 및 측정항목의 경우 사용 Stackdriver 리소스에서 enableCloudLoggingForApplications 또는 enableGMPForApplications을 true로 설정하지 않는 한 애플리케이션 로그 및 측정항목에 대해 사용 중지됩니다.
감사 로그
(anthosaudit.googleapis.com)
관리자 활동 감사 로그: kube-apiserver를 통해 누가 무엇을 언제 변경했는지 기록합니다. 항목에는 시간, 클러스터, 호스트 또는 VM, 사용자 또는 서비스 계정, RBAC 역할, 작업, 결과가 포함됩니다. 읽기 요청은 기록되지 않습니다. cloudAuditLogging.projectID에 설정된 Google Cloud 프로젝트의 Cloud 감사 로그에 _Required 버킷으로 저장되고 400일 동안 보관됩니다. 선택사항. 이 기능을 사용 설정하려면 cloudAuditLogging 섹션을 작성합니다. 관리자 클러스터의 경우 생성 시에만 사용 설정할 수 있습니다. 사용자 클러스터에 대해 사용 중지하려면 섹션을 삭제하고 클러스터를 업데이트합니다.

다음 단계

  • 최소 개념 증명 설치를 시작하려면 최소 인프라 설정을 참조하세요.
  • Google Distributed Cloud 설치를 계획하거나 프로덕션 설치를 시작하는 데 필요한 고려사항을 검토하려면 설치 개요를 참조하세요.