Google Distributed Cloud는Google Cloud 인프라와 서비스를 데이터 센터로 확장하는 완전 관리형 소프트웨어 및 하드웨어 솔루션입니다. Google Distributed Cloud는 자체 하드웨어에서 실행되는 소프트웨어 전용 제품으로도 제공됩니다. Google Distributed Cloud 소프트웨어는 VMware 또는 베어메탈에 설치할 수 있습니다. 이 가이드는 베어메탈 머신에서 직접 실행되는 Google Distributed Cloud 소프트웨어를 대상으로 합니다.
Google Distributed Cloud 소프트웨어는 온프레미스 환경에서 사용할 수 있도록 GKE를 확장하는 자체 Kubernetes 패키지가 있는 Google Kubernetes Engine(GKE)을 기반으로 합니다. Google Distributed Cloud를 사용하면Google Cloud 기능을 사용하면서 자체 프레미스에서 GKE 클러스터를 만들고 관리하고 업그레이드할 수 있으며, Google 인프라를 사용하여 클러스터에서 컨테이너화된 애플리케이션을 대규모로 배포 및 운영할 수 있습니다.
베어메탈용 Distributed Cloud 소프트웨어만 사용하는 이유는 무엇인가요?
기존 엔터프라이즈 인프라에서 베어메탈용 Distributed Cloud 소프트웨어만 실행하면 직접 하드웨어 액세스, 엔터프라이즈 보안, 환경 전반의 중앙 관리가 제공됩니다.
직접적인 하드웨어 제어 및 성능
물리적 서버에 직접 배포하면 애플리케이션 규모, 지연 시간, 성능을 직접 제어할 수 있으며 기존 인프라를 사용하여 비용을 절감할 수 있습니다. Google Distributed Cloud는 기존의 회사 데이터 센터 전반에서 애플리케이션 배포와 상태를 관리하여 보다 효율적으로 운영할 수 있습니다. GPU 및 SSD와 같은 특수 하드웨어 유형에 맞게 워크로드를 최적화하고 하이퍼바이저 오버헤드 없이 네트워크 에지에서 지연 시간이 짧은 애플리케이션을 실행할 수 있습니다.
운영체제 수준 보안
노드 운영체제 및 네트워크 구성을 직접 제어할 수 있으므로 규정 준수 요구사항에 맞게 보안 정책을 맞춤설정할 수 있습니다. 클러스터는 경량형 보안 연결을 통해 Google API와 통신하므로 기존 보안 제어를 유지하면서 가상 머신 복잡성을 제거합니다.
중앙 집중식 관리 및 모니터링
Cloud Monitoring 및 Connect Agent를 사용하여Google Cloud 콘솔에서 클러스터를 관리, 모니터링, 문제 해결합니다. 이러한 중앙 가시성은 분산된 데이터 센터에서 안정성을 유지하고 애플리케이션 규모를 조정하는 데 도움이 됩니다.
엔터프라이즈 안정성 및 운영
Google Distributed Cloud에는 프로덕션에 즉시 사용 가능한 운영 기능이 포함되어 있습니다.
- 고가용성: 여러 컨트롤 플레인 노드를 지원하므로 노드가 실패하더라도 환경을 관리할 수 있습니다.
- 자동화된 프리플라이트 검사: 기본 제공되는 검증을 통해 설치 전에 하드웨어 및 운영체제 구성을 확인할 수 있습니다.
- 통합 부하 분산: 레이어 4 및 레이어 7 부하 분산 메커니즘은 클러스터 생성 중에 자동으로 배포됩니다.
- 데이터베이스 유지보수: 자동 디스크 조각 모음(
etcddefrag)은 스토리지를 회수하여etcd상태와 안정성을 유지합니다.
작동 방식
Google Cloud에서 실행되는 GKE 클러스터에서 Google은 Kubernetes 컨트롤 플레인 및 네트워크 인프라를 관리합니다. 데이터 센터에서 실행되는 Google Distributed Cloud 클러스터의 경우 Google Cloud 는 물리적 Linux 서버에 다운로드하여 설치하는 관리 및 컨트롤 플레인 소프트웨어를 제공합니다. 사용자는 이러한 온프레미스 클러스터를 Google Cloud 에서 클라우드 기반 클러스터와 함께 통합 Fleet의 일부로서 관리합니다.
다음 다이어그램은 관리자 클러스터와 사용자 클러스터가 있는 완료된 설치의 아키텍처를 보여줍니다.
주요 구성요소
소프트웨어 전용 베어메탈 배포는 다음 구성요소로 구성됩니다.
- 관리자 클러스터: Kubernetes Resource Management(KRM)를 사용하여 사용자 클러스터의 수명 주기를 관리합니다. 표준 배포는 하나 이상의 사용자 클러스터의 수명 주기를 관리하는 관리자 클러스터로 구성됩니다. 관리자 클러스터는 컨트롤 플레인 노드 역할을 하는 하나 이상의 물리적 Linux 머신으로 구성됩니다. 설치의 각 노드 머신에는 고유 IP 주소가 포함됩니다.
- 사용자 클러스터: 컨테이너화된 워크로드를 실행합니다. 각 사용자 클러스터는 1개 이상의 컨트롤 플레인 노드와 1개의 워커 노드로 구성됩니다.
- 관리자 워크스테이션: 구성 파일과 관리 도구를 호스팅하는 전용 머신입니다.
bmctl: 클러스터를 만들고 업데이트하고 관리합니다.kubectl: 관리자 및 사용자 클러스터와 상호작용하고 워크로드를 관리합니다.
- GKE On-Prem API: 클러스터 수명 주기 관리를 위한 Google Cloud호스팅 API입니다. Google Cloud 콘솔, Google Cloud CLI, Terraform과 같은 클라이언트를 사용하면 관리자 워크스테이션에 로그인하지 않고도 온프레미스 클러스터를 관리할 수 있습니다.
- Google Cloud 콘솔: 온프레미스 클러스터를 포함하여 Google Cloud프로젝트에 대한 웹 인터페이스를 제공합니다. Google Cloud 콘솔에 클러스터 상태 및 Fleet 상태 모니터링을 도와주는 클러스터의 주요 측정항목이 표시됩니다.
- 가상 IP 주소(VIP): 설치 중에 구성된 가상 IP입니다.
클러스터 관리자와 개발자는
kubectl을 사용하여 컨트롤 플레인 VIP를 통해 클러스터 컨트롤 플레인에 액세스합니다. 애플리케이션 사용자와 개발자는 서비스 및 인그레스 VIP를 사용하여 각각 워크로드에 액세스하고 노출합니다.
Fleet에 연결
사용자 클러스터와 관리자 클러스터(선택사항)는 환경 전반에서 통합 관리를 제공하는 Kubernetes 클러스터의 논리적 그룹인 Fleet에 등록됩니다. Fleet를 사용하면 조직에서 개별 클러스터부터 전체 클러스터 그룹까지 수준 높은 관리를 수행할 수 있으며, Google에서 사용하는 것과 유사한 권장사항을 팀에서 채택할 수 있습니다.Google Cloud 콘솔에서 클러스터를 함께 보고 Fleet 지원 기능을 사용하여 워크로드를 대규모로 관리, 제어, 운영할 수 있습니다.
각 클러스터는 클러스터 설치 중에 자동으로 배포되는 Connect Agent를 통해 Google Cloud 에 연결됩니다. Fleet 멤버십은 Google Distributed Cloud의 결제도 결정합니다.
가격 책정
Google Distributed Cloud로 만든 온프레미스 클러스터는 vCPU당 요금이 청구됩니다. 결제를 사용 설정하려면 Google Cloud프로젝트에서 Anthos API를 사용 설정합니다.
가격 책정 세부정보 및 영업팀 연락처 정보는 Google Kubernetes Engine 가격 책정을 참조하세요.
버전
Google Distributed Cloud 버전에 대한 자세한 내용은 버전 지원 정책을 참조하세요.
이 문서에서는 지원되는 모든 Google Distributed Cloud 버전을 설명합니다. 해당하는 경우 Google은 이 문서에서 지원되지 않는 이전 버전에 대한 제한된 정보도 보관합니다. 요구사항과 동작의 버전별 차이점은 문서에 설명되어 있습니다. 새 기능이 출시되면 해당 기능에 지원되는 버전이 기술됩니다.
지원되는 부 버전 및 사용 가능한 패치 목록은 버전 관리를 참조하세요.
1.29 출시 버전부터는 이전 부 출시 버전 문서를 위해 번호가 지정된 디렉터리를 더 이상 만들지 않습니다. 다음 URL에 마이너 버전 번호를 추가하면 버전 1.16 이하의 보관처리된 문서를 찾을 수 있습니다.
https://cloud.google.com/anthos/clusters/docs/bare-metal/VERSION/
VERSION을 1.0~1.16의 부 버전으로 바꾸고 URL을 브라우저의 주소 표시줄에 복사합니다.
베어메탈용 Distributed Cloud 소프트웨어 전용 설치
Google Distributed Cloud를 사용하여 만든 클러스터는 자체 인프라에서 실행되므로 쉽게 구성할 수 있습니다. 특정 조직 및 사용 사례에 맞는 배포 모델을 선택하면 지원되는 부하 분산 모드, IP 주소 지정 옵션, 보안 기능, 연결 옵션 등에서 선택할 수 있습니다. 클러스터를 설정하려면 설치 이전이나 도중에 결정을 내려야 합니다. 이 문서 세트에는 팀에서 적합한 기능과 옵션을 결정하는 데 도움이 되는 가이드가 포함되어 있습니다. 조직의 설치 요구사항을 충족하는지 확인하려면 네트워킹 및 애플리케이션팀에 문의하세요.
데이터 보관 위치
베어메탈용 Distributed Cloud 소프트웨어만 실행하는 경우 클러스터, 애플리케이션, 비즈니스 데이터가 데이터 센터에 유지됩니다. 기본적으로 Google Distributed Cloud는 설정, 상태, 사용량과 같은 클러스터에 대한 Google Cloud정보를 전송하지만 애플리케이션 데이터는 전송하지 않습니다.
데이터 센터에 보관되는 데이터
다음 데이터는 데이터 센터에 보관됩니다.
- 컨테이너, 포드, PersistentVolume, 로컬 스토리지 백엔드, 애플리케이션이 처리하는 데이터
- 컨트롤 플레인(
kube-apiserver,kube-scheduler,kube-controller-manager) 및 모든 Kubernetes 객체를 저장하는etcd데이터베이스 - 클러스터 CA,
etcdCA, 프런트 프록시 CA를 포함한 인증 기관(CA)의 비공개 키 관리자 클러스터의 사용자 클러스터 네임스페이스는 사용자 클러스터 CA를 저장합니다. - 애플리케이션 보안 비밀, OAuth 토큰, SSH 비공개 키, Container Registry 사용자 인증 정보, 서비스 계정 키 파일은
etcd또는 관리자 워크스테이션에 저장됩니다. GKE On-Prem API로 전송되지 않으며 기본 진단 스냅샷에는 클러스터 사용자 인증 정보가 포함되지 않습니다. - 클러스터 구성 파일은 관리자 워크스테이션에 저장됩니다. 클러스터가 GKE On-Prem API에 등록된 경우 일부 설정이 전송됩니다. 자세한 내용은 Google Cloud에 전송되는 데이터를 참고하세요.
- 감사 로그는 컨트롤 플레인 노드에서 Cloud 감사 로그를 사용 중지한 경우에만 디스크에 기록됩니다.
- 진단 스냅샷 업로드를 위한 서비스 계정을 설정하면 파일이 Cloud Storage에 업로드됩니다. Cloud Customer Care와 스냅샷을 공유할지 여부를 선택할 수 있습니다.
Google Cloud에 전송되는 데이터
다음 표에서는 전송되는 항목, 사용 및 저장 방법, 사용 중지 가능 여부를 보여줍니다.
| 데이터 | 전송되는 항목 | 사용 및 보관 | 기본값 |
|---|---|---|---|
| 연결 및 Fleet 등록 ( gkehub.googleapis.com,
gkeconnect.googleapis.com) |
|
Google Cloud 콘솔, Connect 게이트웨이, Connect Agent가 있는 Fleet에서 클러스터를 관리합니다. | 필수 |
| 클러스터 설정 및 상태 ( gkeonprem.googleapis.com) |
|
Google Cloud 콘솔, Google Cloud CLI 또는 Terraform을 사용하여 클러스터를 관리할 수 있습니다. gkeOnPremAPI.location에 설정된 리전의 GKE On-Prem API에 의해 저장되며 기본값은 clusterOperations.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) |
|
Cloud Monitoring, Google Cloud 콘솔 상태 뷰, 고객 지원 문제 해결에 사용됩니다. clusterOperations.projectID에 설정된 Google Cloud 프로젝트에 저장됩니다. 측정항목은 clusterOperations.location에 설정된 리전에 저장되고 로그는 로그 라우터 설정을 따릅니다. |
전체 고객 지원 및 SLA 적용 범위에 필요한 시스템 로그 및 측정항목의 경우 사용 Stackdriver 리소스에서 enableCloudLoggingForApplications 또는 enableGMPForApplications을 true로 설정하지 않는 한 애플리케이션 로그 및 측정항목에 대해 사용 중지됩니다. |
| 감사 로그 ( anthosaudit.googleapis.com) |
관리자 활동 감사 로그(audit-proxy): kube-apiserver를 통해 누가 무엇을 언제 변경했는지에 대한 정보입니다. 항목에는 시간, 클러스터, 호스트 또는 VM, 사용자 또는 서비스 계정, RBAC 역할, 작업, 결과가 포함됩니다. 읽기 요청은 기록되지 않습니다. |
Google Cloud 프로젝트의 Cloud 감사 로그, _Required 버킷에 저장되고 400일 동안 보관됩니다. |
사용 사용 중지하려면 clusterOperations.disableCloudAuditLogging를 true로 설정합니다.
그러면 감사 로그가 컨트롤 플레인 노드의 디스크에만 보관됩니다. |
다음 단계
Google Distributed Cloud를 시작하려면 다음 가이드를 참조하세요.
- Compute Engine VM에서 데모 Google Distributed Cloud 관리자 및 사용자 클러스터 만들기
- 하드웨어에 대한 기본 설치 계획
- 하드웨어에서 기본 클러스터 만들기