이 페이지에서는 Google Kubernetes Engine(GKE)에서 기본 기능이 사용 설정된 Standard 영역 클러스터를 만드는 방법을 보여줍니다. 영역 클러스터는 단일 영역에 단일 컨트롤 플레인 인스턴스가 있습니다. 가용성 요구사항에 따라 영역 클러스터의 노드를 단일 영역 또는 여러 영역에 배포하도록 선택할 수 있습니다.
클러스터를 만든 후에는 영역 클러스터를 리전 클러스터로 또는 그 반대로 변경할 수 없습니다. 다양한 클러스터 가용성 유형에 대한 자세한 내용은 클러스터 가용성을 참조하세요.
이 페이지는 클러스터를 만들고 구성해야 하며 GKE에 워크로드를 배포하는 운영자, 클라우드 설계자, 개발자를 대상으로 합니다. Google Cloud콘텐츠에서 참조하는 일반적인 역할과 예시 태스크에 대한 자세한 내용은 일반 GKE Enterprise 사용자 역할 및 태스크를 참조하세요.
이 페이지를 읽기 전에 클러스터 구성 선택사항을 숙지해야 합니다.
시작하기 전에
시작하기 전에 다음 태스크를 수행했는지 확인합니다.
- Google Kubernetes Engine API를 사용 설정합니다. Google Kubernetes Engine API 사용 설정
- 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화하세요. 이전에 gcloud CLI를 설치한 경우
gcloud components update
를 실행하여 최신 버전을 가져옵니다.
- 클러스터를 만들 수 있는 올바른 권한이 있는지 확인합니다. 최소한 Kubernetes Engine 클러스터 관리자 권한이 있어야 합니다.
- 새 클러스터를 Fleet에 등록하려면 필요한 API 및 권한이 있는지 확인합니다.
GKE의 IAM 서비스 계정 설정
GKE는 노드에 연결된 IAM 서비스 계정을 사용하여 로깅 및 모니터링과 같은 시스템 태스크를 실행합니다. 적어도 이러한 노드 서비스 계정에는 프로젝트에 대한 Kubernetes Engine 기본 노드 서비스 계정(roles/container.defaultNodeServiceAccount
) 역할이 있어야 합니다. 기본적으로 GKE는 프로젝트에 자동으로 생성되는 Compute Engine 기본 서비스 계정을 노드 서비스 계정으로 사용합니다.
Compute Engine 기본 서비스 계정에 roles/container.defaultNodeServiceAccount
역할을 부여하려면 다음 단계를 완료합니다.
콘솔
gcloud
- Google Cloud 프로젝트 번호를 찾습니다.
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
PROJECT_ID
를 프로젝트 ID로 바꿉니다.출력은 다음과 비슷합니다.
12345678901
- Compute Engine 기본 서비스 계정에
roles/container.defaultNodeServiceAccount
역할을 부여합니다.gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/container.defaultNodeServiceAccount"
PROJECT_NUMBER
를 이전 단계의 프로젝트 번호로 바꿉니다.
영역 클러스터 만들기
새 영역 클러스터를 만들 때 지정해야 하는 최소 정보는 이름, 프로젝트(일반적으로 현재 프로젝트), 영역(일반적으로 명령줄 도구의 기본 위치)이며 다른 모든 값에는 기본 설정을 사용합니다. 그러나 구성 설정은 더 많으며 이 섹션에서는 그중 일부만 설명하고 클러스터를 만든 후에는 변경할 수 없는 설정도 있습니다. 클러스터를 만든 후에는 변경할 수 없는 설정을 이해하고 클러스터를 다시 만들지 않으려면 클러스터를 만들 때 올바른 설정을 선택해야 합니다.
클러스터 구성 선택사항 정보에서 클러스터 구성 옵션에 대한 개요를, gcloud container clusters create
및 Terraform google_container_cluster
참조 가이드에서 가능한 옵션의 전체 목록을 확인할 수 있습니다.
gcloud CLI,Google Cloud 콘솔 또는 Terraform을 사용하여 영역 클러스터를 만들 수 있습니다.
VS Code용 Cloud Code로 GKE 애플리케이션을 개발하는 경우 Cloud Code로 클러스터를 생성해 보세요.
gcloud
gcloud CLI로 영역 클러스터를 만들려면 다음 명령어 중 하나를 사용합니다.
다음을 바꿉니다.
CLUSTER_NAME
: 새 클러스터의 이름입니다.CHANNEL
: 출시 채널 유형으로rapid
,regular
,stable
또는None
중 하나일 수 있습니다. 기본적으로 클러스터는--cluster-version
,--release-channel
,--no-enable-autoupgrade
,--no-enable-autorepair
플래그 중 하나 이상이 지정되지 않는 경우regular
출시 채널에 등록됩니다.CONTROL_PLANE_LOCATION
: 클러스터 컨트롤 플레인의 Compute Engine 영역입니다.VERSION
: 클러스터에 지정하려는 버전입니다.COMPUTE_ZONE,COMPUTE_ZONE1,[...]
: 노드가 생성된 영역. 클러스터에 필요한 만큼 많은 영역을 지정할 수 있습니다. 모든 영역은--location
플래그에 지정된 대로 클러스터의 컨트롤 플레인과 동일한 리전에 있어야 합니다. 영역 클러스터의 경우--node-locations
에 클러스터의 기본 영역이 포함되어야 합니다.
Compute Engine 기본 서비스 계정 대신 노드에서 사용할 수 있는 최소 권한의 IAM 서비스 계정을 지정하는 것이 좋습니다. 최소 권한의 서비스 계정을 만드는 방법은 최소 권한 서비스 계정 사용을 참조하세요.
gcloud CLI에서 커스텀 서비스 계정을 지정하려면 명령어에 다음 플래그를 추가합니다.
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
SERVICE_ACCOUNT_NAME을 최소 권한 서비스 계정 이름으로 바꿉니다.
특정 출시 채널 사용:
특정 출시 채널을 사용하여 새 클러스터를 만들려면 다음 명령어를 실행합니다.
gcloud container clusters create CLUSTER_NAME \ --release-channel CHANNEL \ --location CONTROL_PLANE_LOCATION \ --node-locations COMPUTE_ZONE,COMPUTE_ZONE1
특정 버전 사용:
특정 클러스터 버전을 사용하여 새 클러스터를 만들려면 다음 명령어를 실행합니다.
gcloud container clusters create CLUSTER_NAME \ --cluster-version VERSION \ --location CONTROL_PLANE_LOCATION \ --node-locations COMPUTE_ZONE,COMPUTE_ZONE1
출시 채널에 등록되지 않은 클러스터에 기본 버전 사용:
출시 채널에 등록되지 않은 클러스터에 기본 버전을 사용하여 새 클러스터를 만들려는 경우에는 클러스터 버전을 지정할 필요가 없지만 출시 채널을 None
으로 설정해야 합니다.
gcloud container clusters create CLUSTER_NAME \ --release-channel None \ --location CONTROL_PLANE_LOCATION \ --node-locations COMPUTE_ZONE,COMPUTE_ZONE1
예시
다음 명령어는 example-cluster
라는 멀티영역 클러스터를 만듭니다. 여기서 클러스터 컨트롤 플레인은 us-central-a
영역에 있고 노드 위치 3개가 있습니다. 클러스터가 regular
출시 채널에 등록됩니다.
--num-nodes
플래그를 생략한 경우 클러스터에서 생성되는 기본 영역별 노드 수는 3개입니다. 3개의 영역이 지정되었으므로 이 명령어는us-central1-a
, us-central1-b
, us-central1-c
에 각각 3개씩 9노드 클러스터를 만듭니다.
gcloud container clusters create example-cluster \ --location us-central1-a \ --node-locations us-central1-a,us-central1-b,us-central1-c
콘솔
Google Cloud 콘솔을 사용하여 영역 클러스터를 만들려면 다음 태스크를 수행합니다.
Google Cloud 콘솔에서 Kubernetes 클러스터 만들기 페이지로 이동합니다.
클러스터 기본사항 섹션에서 다음을 완료합니다.
- 클러스터의 이름을 입력합니다.
- 위치 유형에서 영역을 선택한 후 클러스터의 영역을 선택합니다.
- 멀티 영역 클러스터를 만드는 경우 기본 노드 위치 지정 체크박스를 선택한 후 노드 풀을 실행할 추가 영역을 선택합니다.
출시 채널을 선택합니다. 드롭다운 목록에서 선택적으로 채널 없음을 선택할 수 있지만 이 옵션을 선택하기 전 출시 채널에 등록된 클러스터와 등록되지 않은 클러스터 비교를 검토하는 것이 좋습니다. GKE는 특정 출시 채널에 등록되지 않은 클러스터를 안정화 버전 채널의 버전으로 자동으로 업그레이드합니다.
선택사항: 버전 드롭다운 목록에서 제어 영역 버전을 지정합니다.
선택사항: 새 클러스터의 다른 설정을 구성합니다.
선택사항(GKE Enterprise에서 사용 가능): 새 클러스터를 Fleet에 등록하려면 Fleet 등록 섹션으로 이동하여 Google Cloud 콘솔의 새 클러스터 생성 및 등록 지침을 따라 클러스터 등록을 완료합니다.
탐색창의 노드 풀에서 default-pool을 클릭합니다.
노드 풀 세부정보 섹션에서 다음을 완료합니다.
- 기본 노드 풀의 이름을 입력합니다.
- 선택사항: 노드 버전을 선택합니다.
- 클러스터에서 만들 노드 수를 입력합니다. 노드 및 해당 리소스(예: 방화벽 경로)에 사용 가능한 리소스 할당량이 있어야 합니다.
- 선택사항: 노드 자동 업그레이드를 사용 중지하도록 선택할 수 있지만 이 옵션을 선택하기 전에 노드 자동 업그레이드를 사용 중지하기 전 고려사항을 검토하는 것이 좋습니다.
탐색창의 노드 풀에서 노드를 클릭합니다.
이미지 유형 드롭다운 목록에서 노드 이미지를 선택합니다.
인스턴스에 사용할 기본 머신 구성을 선택합니다. 요금은 머신 유형마다 다르게 청구됩니다. 기본 머신 유형은
e2-medium
입니다. 머신 유형 가격 정보는 머신 유형 가격표를 참조하세요.부팅 디스크 유형 드롭다운 목록에서 디스크 유형을 선택합니다.
부팅 디스크 크기를 입력합니다.
선택사항: 탐색창의 노드 풀에서 보안을 클릭합니다.
- 원하는 경우 노드에 커스텀 IAM 서비스 계정을 지정합니다.
- 고급 설정 페이지에서 보안 섹션을 펼칩니다.
- 서비스 계정 메뉴에서 원하는 서비스 계정을 선택합니다.
Compute Engine 기본 서비스 계정 대신 노드에서 사용할 수 있는 최소 권한의 IAM 서비스 계정을 지정하는 것이 좋습니다. 최소 권한의 서비스 계정을 만드는 방법은 최소 권한 서비스 계정 사용을 참조하세요.
만들기를 클릭합니다.
Terraform
Terraform을 사용하여 단일 영역 노드 풀이 있는 영역 클러스터를 만들려면 다음 예시를 참조하세요.
Terraform을 사용하여 멀티 영역 노드 풀이 있는 영역 클러스터를 만들려면 다음 예시를 참조하세요.
Terraform 사용에 대한 자세한 내용은 GKE에 대한 Terraform 지원을 참조하세요.
kubectl을 사용하여 클러스터와 상호작용
클러스터를 만든 후에는 kubectl
을 구성해야 명령줄에서 클러스터와 상호작용할 수 있습니다.
클러스터 템플릿
GKE는 이전에 클러스터용 템플릿을 지원했습니다. 이러한 템플릿은 Google Cloud 콘솔에서 삭제되었지만 다음 링크에서 계속 액세스할 수 있습니다.
다음 단계
- 만들 수 있는 클러스터 구성 옵션 정보 알아보기
- GKE 클러스터 아키텍처 알아보기
- 클러스터 관리 알아보기
- 클러스터 삭제 방법 알아보기
직접 사용해 보기
Google Cloud를 처음 사용하는 경우 계정을 만들어 실제 시나리오에서 GKE의 성능을 평가할 수 있습니다. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
GKE 무료로 사용해 보기