베어메탈용 Distributed Cloud 소프트웨어 전용 개요

Google Distributed Cloud는Google Cloud 인프라와 서비스를 데이터 센터로 확장하는 완전 관리형 소프트웨어 및 하드웨어 솔루션입니다. Google Distributed Cloud는 Google 제공 하드웨어에서 실행되는 연결형 및 에어 갭 적용 구성 모두에서 사용할 수 있습니다. 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의 베어메탈에 소프트웨어 전용 설치를 사용하면 자체 하드웨어 인프라에 직접 애플리케이션을 배포하여 최고의 성능과 유연성을 얻을 수 있습니다. 애플리케이션 확장, 보안, 네트워크 지연 시간을 직접 제어할 수 있습니다. 또한 GKE 구성요소를 통해 컨테이너화된 애플리케이션의 이점을 누릴 수 있습니다.

향상된 성능 및 비용 절감

Google Distributed Cloud는 기존의 회사 데이터 센터 전반에서 애플리케이션 배포와 상태를 관리하여 보다 효율적으로 운영할 수 있습니다. 또한 네트워크 에지에서 컨테이너를 실행하면 분석 앱이 최대 성능을 실행할 수 있습니다.

가상 머신 대신 베어메탈용 Distributed Cloud 소프트웨어만 사용하면 GPU 및 SSD와 같은 다양한 성능 최적화 하드웨어 유형에서 애플리케이션 컨테이너를 관리할 수 있습니다. 베어메탈용 Distributed Cloud 소프트웨어만 실행하면 애플리케이션에서 하드웨어에 직접 액세스할 수도 있습니다.

호환 가능한 보안

노드 환경을 제어하므로 특정 요구사항을 충족하도록 네트워크, 하드웨어, 애플리케이션을 최적화할 수 있습니다. 그 결과 가상 머신 및 운영체제와의 호환성을 걱정할 필요 없이 시스템 보안을 직접 제어할 수 있습니다.

모니터링된 애플리케이션 배포

Google Distributed Cloud는 환경의 상태 및 성능에 대한 고급 모니터링을 제공합니다. 이 모니터링 기능을 사용하면 워크로드 및 네트워크 트래픽의 변동에도 불구하고 안정성을 유지하면서 애플리케이션의 규모를 조정할 수 있습니다.

Connect 에이전트를 통해 클러스터 및 워크로드의 모니터링, 로깅, 분석을 관리합니다.

네트워크 지연 시간 및 유연성

네트워크 요구사항을 관리하므로 짧은 지연 시간에 맞게 네트워크를 최적화할 수 있습니다. 이 네트워크 최적화는 다른 엔터프라이즈 또는 네트워크 에지 애플리케이션뿐 아니라 상업용 또는 재무 분석의 성능에도 중요한 역할을 할 수 있습니다.

고가용성

Google Distributed Cloud는 클러스터의 여러 컨트롤 플레인 노드를 지원합니다. 컨트롤 플레인 노드가 다운되더라도 환경을 계속 관리할 수 있습니다.

안전한 설계 및 제어

외부 리소스에 대한 최소 연결을 통해 필요에 따라 인프라 보안을 맞춤설정할 수 있습니다. 가장 중요한 점은 보안 시스템을 배포할 때 추가적인 VM 복잡성이 없고 기존 보안 시스템과 상호작용할 때 완전한 OS 제어를 유지한다는 것입니다.

Google Distributed Cloud는 Google API에 대한 가벼운 보안 연결에서도 작동합니다. Connect와 Cloud Monitoring을 사용하여 중앙에서 클러스터 및 애플리케이션을 관리할 수 있습니다. 또한 이 중앙 집중식 덕분에 배포를 원활하게 진행하고 Google Cloud 지원팀에서 문제를 더 효과적으로 해결할 수 있습니다.

설치 시의 실행 전 검사

Google Distributed Cloud를 사용하면 클러스터가 오픈소스 및 엔터프라이즈 Linux 시스템과 최소 하드웨어 인프라에서 실행되므로 사용자 환경에서 유연성이 확보됩니다. 또한 구성 및 설치가 성공적으로 완료되도록 다양한 실행 전 검사가 포함되어 있습니다.

애플리케이션 배포 및 부하 분산

Google Distributed Cloud에는 클러스터 생성 시 레이어 4 및 레이어 7 부하 분산 메커니즘이 포함됩니다.

etcd 안정성 향상

크기를 모니터링하고 etcd 데이터베이스를 조각 모음하기 위해 Google Distributed Cloud 제어 영역에는 etcddefrag 포드가 포함되어 있습니다. etcddefrag 포드는 디스크 공간이 초과되었을 때 큰 etcd 데이터베이스에서 스토리지를 회수하고 etcd를 복구합니다.

작동 방식

Google Distributed Cloud는 Google Kubernetes Engine (GKE)을 확장하여 자체 프레미스의 자체 Linux 서버에서 클러스터를 만들 수 있습니다. 사용자는 이러한 온프레미스 클러스터를 Google Cloud에서 일반 GKE 클러스터 및 다른 환경의 클러스터와 함께 Fleet의 일부로서 직접 관리합니다.

GKE 클러스터는 Kubernetes 컨트롤 플레인 및 네트워크 인프라가 Google Cloud에서 관리되는 Google Cloud 에서 실행됩니다. Google Distributed Cloud로 생성된 클러스터는 데이터 센터에서 실행되므로 GKE 소프트웨어 외에도 몇 가지 관리 및 컨트롤 플레인 소프트웨어를 제공합니다. 데이터 센터에서 실행되는 소프트웨어는 설치 및 업그레이드 프로세스 과정에서 다운로드됩니다.

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

관리자 클러스터 및 사용자 클러스터 배포의 기본 아키텍처
관리자 클러스터와 사용자 클러스터가 있는 베어메탈용 Google Distributed Cloud 아키텍처(확대하려면 클릭)

주요 구성요소

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

  • 관리자 클러스터는 하나 이상의 컨트롤 플레인 노드로 구성됩니다. 각 노드는 지원되는 Linux 운영체제를 실행하는 물리적 머신입니다. 표준 배포는 Kubernetes Resource Management(KRM)를 통해 하나 이상의 사용자 클러스터의 수명 주기를 관리하는 관리자 클러스터로 구성됩니다. 설치의 각 노드 머신에는 고유 IP 주소가 포함됩니다.

  • 사용자 클러스터는 애플리케이션을 구현하는 워크로드가 실행되는 곳입니다(예: Google Cloud기반 GKE). 각 사용자 클러스터는 1개 이상의 컨트롤 플레인 노드와 1개의 워커 노드로 구성됩니다.

  • 관리자 워크스테이션은 (일반적으로) 구성 파일과 같은 도구 및 클러스터 아티팩트가 포함된 별도의 머신입니다. 클러스터 생성자 및 개발자가 적절한 권한으로 이러한 도구와 아티팩트를 사용하여 온프레미스 클러스터를 관리합니다.

    • 관리자 워크스테이션에서 bmctl을 실행하면 클러스터를 만들고 업데이트하고 다른 관리 작업을 수행할 수 있습니다.

    • 관리자 워크스테이션에서 kubectl을 실행하면 워크로드 배포 및 관리를 포함하여 관리자 및 사용자 클러스터와 상호작용할 수 있습니다.

  • GKE On-Prem API는 클러스터 수명 주기 관리를 위한 Google Cloud호스팅 API입니다. bmctl CLI로 클러스터를 관리하기 위해 관리자 워크스테이션에 로그인하는 대신 API 클라이언트 (Google Cloud 콘솔, Google Cloud CLI, Terraform)를 사용하여 온프레미스 클러스터의 수명 주기를 생성하고 관리합니다.

  • 콘솔은 온프레미스 클러스터를 포함하여Google Cloud 프로젝트에 대한 웹 인터페이스를 제공합니다. 콘솔에 클러스터 상태 모니터링을 도와주는 클러스터의 주요 측정항목이 표시됩니다.

  • 클러스터 관리자와 개발자는 kubectl을 사용하여 클러스터 구성의 일부로 지정된 가상 IP 주소(VIP)를 통해 클러스터 제어 영역에 액세스합니다. 애플리케이션 사용자와 개발자는 서비스 및 인그레스 VIP를 사용하여 각각 워크로드에 액세스하고 노출합니다.

Fleet에 연결

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

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

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

가격 책정

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

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

버전

Google Distributed Cloud 버전에 대한 자세한 내용은 버전 지원 정책을 참조하세요.

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

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

1.29 출시 버전부터는 이전 부 출시 버전 문서를 위해 번호가 지정된 디렉터리를 더 이상 만들지 않습니다. 다음 URL에 마이너 버전 번호를 추가하면 버전 1.16 이하의 보관처리된 문서를 찾을 수 있습니다.

https://cloud.google.com/anthos/clusters/docs/bare-metal/VERSION/

VERSION을 1.6~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, etcd CA, 프런트 프록시 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 프로젝트, Fleet 멤버십 이름, 클러스터 UID, 공개 키, Kubernetes 버전, 클러스터 크기, ID 공급업체 구성
  • Google Cloud 콘솔 또는 Connect 게이트웨이를 통해 요청하는 Kubernetes 데이터
  • 로그아웃할 때까지 사용자 프로필의Google Cloud 콘솔에서 로그인하는 경우 암호화된 Kubernetes 토큰입니다.
Connect Agent를 사용하여Google Cloud 콘솔, Connect 게이트웨이, Fleet에서 클러스터를 관리합니다. 필수
클러스터 설정 및 상태
(gkeonprem.googleapis.com)
  • 이름, UID, 설명, 주석, 버전, 수명 주기 상태, 컨트롤 플레인 VIP 및 포트
  • 노드 풀 이름, 노드 IP 주소, 포드 및 서비스 CIDR, 부하 분산기 VIP 및 주소 풀, BGP 피어 IP 주소 및 ASN, 프록시 URL, 로컬 스토리지 경로
  • 클러스터 관리자의 이메일 주소입니다.
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)
  • 측정항목: CPU, 메모리, 디스크, 네트워크 사용, kubelet 측정항목, 노드 및 시스템 포드의 kube-state-metrics
  • 로그: 모든 관리자 클러스터 구성요소와 사용자 클러스터의 kube-system, gke-system, gke-connect, istio-system, config-management-system, knative-serving, monitoring-system, gatekeeper-system, cnrm-system 네임스페이스의 컨테이너 로그 및 상태 점검 결과
  • 메타데이터: 노드, 포드, 배포, 서비스의 이름과 라벨
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를 시작하려면 다음 가이드를 참고하세요.