AWS용 GKE 아키텍처

개요

GKE on AWS는 Google Kubernetes Engine(GKE)을 Amazon Web Services(AWS)로 확장하는 하이브리드 클라우드 소프트웨어입니다.

GKE는 on AWS는 Elastic Compute Cloud(EC2), Elastic Block Storage(EBS), Elastic Load Balancer(ELB)와 같은 일반 AWS 리소스를 사용합니다. GKE on AWS가 만드는 대부분의 AWS 리소스의 이름은 gke-로 시작합니다.

아키텍처

GKE on AWS에는 두 가지 구성요소가 있습니다.

  1. 관리 서비스: 사용자 클러스터를 설치하고 업데이트할 수 있는 환경으로 AWS API를 사용하여 리소스를 프로비저닝합니다.
  2. 사용자 클러스터: 워크로드를 실행합니다.

이 주제에서는 Anthos 관리 서비스와 사용자 클러스터의 용도 및 형태를 설명합니다.

관리 서비스와 AWSCluster를 보여주고 제어 영역과 AWSNodePool을 포함하는 GKE on AWS 설치의 아키텍처

관리 서비스

관리 서비스는 GKE on AWS 설치의 구성요소를 제공하고 관리합니다. 예를 들어 관리 서비스를 사용하여 클러스터를 만듭니다. 관리 서비스는 AWS API를 사용하여 리소스를 프로비저닝합니다.

전용 AWS VPC 또는 기존 AWS VPC에서 관리 서비스를 만들 수 있습니다.

GKE on AWS를 실행하는 모든 AWS Virtual Private Cloud(VPC)에 관리 서비스가 필요합니다. 관리 서비스는 AWS 가용성 영역 하나에 설치됩니다. VPC당 관리 서비스 하나만 필요합니다. 하나의 관리 서비스가 여러 사용자 클러스터를 관리할 수 있습니다.

관리 서비스의 기본 구성요소는 클러스터 연산자입니다. 클러스터 연산자는 AWSCluster 및 AWSNodePool을 만들고 관리하는 Kubernetes 연산자입니다. 클러스터 연산자는 AWS EBS 볼륨에 유지된 스토리지로 etcd 데이터베이스에 구성을 저장합니다.

관리 서비스 설치 및 구성

이 섹션에서는 관리 서비스를 관리하는 데 사용할 수 있는 도구를 설명합니다.

anthos-gke 도구

anthos-gke 명령줄 도구를 사용하여 클러스터를 만들고 관리합니다. 자세한 내용은 anthos-gke 도구를 참조하세요.

연결

연결을 사용하면 Google Cloud Console의 동일한 인터페이스에서 Google Cloud의 GKE on AWS 및 GKE 클러스터를 확인하고 로그인할 수 있습니다. 모든 리소스가 단일 대시보드에 표시되므로 여러 Kubernetes 클러스터에서 워크로드를 확인할 수 있습니다.

사용자 클러스터

사용자 클러스터에는 관리 서비스가 호스팅하는 Kubernetes 커스텀 리소스인 두 가지 구성요소가 포함됩니다.

  1. 제어 영역
  2. 1개 이상의 AWSNodePool

AWSCluster

AWSCluster는 단일 VPC에서 실행됩니다.

전용 VPC에 관리 클러스터를 설치하면 GKE on AWS는 dedicatedVPC.availabilityZones에서 지정하는 모든 영역에 제어 영역 복제본을 만듭니다. GKE on AWS의 기존 인프라에 관리 클러스터를 설치하면 동일한 가용성 영역에 3개의 제어 영역 복제본이 있는 AWSCluster가 생성됩니다. 각 복제본은 인스턴스가 종료될 때 인스턴스를 다시 시작하는 자체 AWS 자동 확장 그룹에 속합니다.

관리 서비스는 AWS Network Load Balancer(NLB) 뒤의 비공개 서브넷에 제어 영역을 배치합니다. 관리 서비스는 NLB를 사용하여 제어 영역과 상호작용합니다.

여러 AWS 가용성 영역에서 제어 영역을 만들려면 고가용성 사용자 클러스터를 참조하세요.

각 제어 영역은 구성을 로컬 etcd 데이터베이스에 저장합니다. 이러한 데이터베이스는 누적 고가용성 토폴로지에서 복제되고 설정됩니다.

하나의 제어 영역이 1개 이상의 AWSNodePool을 관리합니다.

AWSNodePool

AWSNodePool은 Google Cloud의 GKE 노드 풀처럼 작동합니다. 노드 풀은 클러스터 내에서 구성이 모두 동일한 노드 그룹입니다. 노드 풀은 AWSNodePool 리소스를 사용하며 하나 이상의 노드를 포함할 수 있습니다. 각 노드 풀은 인스턴스가 종료될 때 인스턴스를 다시 시작하는 자체 AWS 자동 확장 그룹에 속합니다.

문제 해결

AWSCluster 및 AWSNodePool에서 Kubernetes 이벤트를 확인하여 GKE on AWS의 설치 문제를 해결할 수 있습니다. 자세한 내용은 문제 해결 가이드를 참조하세요.

다음 단계