이 페이지에서는 Google Kubernetes Engine(GKE)에서 Arm 워크로드를 실행할 수 있도록 Arm 노드로 GKE Standard 클러스터 또는 노드 풀을 만드는 방법을 설명합니다. Autopilot 클러스터에 Arm 워크로드를 배포하는 방법은 Arm 아키텍처에 Autopilot 워크로드 배포를 참조하세요.
C4A 머신 시리즈 또는 Tau T2A 머신 시리즈를 사용하여 Arm 노드로 클러스터를 만들 수 있습니다. Arm의 이점을 자세히 알아보고 워크로드에 가장 적합한 머신 시리즈를 선택하려면 컴퓨팅에 사용되는 Arm VM를 참조하세요.
GKE에서는 하나의 아키텍처 유형(예: Arm) 또는 여러 아키텍처 유형(예: Arm 및 x86)의 노드 풀이 있는 클러스터를 만들 수 있습니다. 여러 아키텍처 유형의 노드를 실행할 때 아키텍처의 워크로드를 동일한 클러스터에 배포할 수 있습니다.
이 페이지는 워크로드를 배포하는 클라우드 리소스를 프로비저닝 및 구성하는 운영자 및 개발자를 위해 작성되었습니다. 일반적인 역할에 대해 자세히 알아보려면 일반 GKE 사용자 역할 및 태스크를 참조하세요.
이 페이지를 읽기 전에 GKE의 Arm 워크로드에 대해 숙지하세요.
시작하기 전에
시작하기 전에 다음 태스크를 수행했는지 확인합니다.
- Google Kubernetes Engine API를 사용 설정합니다. Google Kubernetes Engine API 사용 설정
- 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화합니다. 이전에 gcloud CLI를 설치한 경우
gcloud components update
명령어를 실행하여 최신 버전을 가져옵니다. 이전 gcloud CLI 버전에서는 이 문서의 명령어를 실행하지 못할 수 있습니다.
- C4A 및 T2A 노드의 요구사항 및 제한사항을 검토합니다.
- 클러스터를 만들 수 있는 올바른 권한이 있는지 확인합니다. 최소한 Kubernetes Engine 클러스터 관리자 권한이 있어야 합니다.
GKE의 IAM 서비스 계정 설정
GKE는 노드에 연결된 IAM 서비스 계정을 사용하여 로깅 및 모니터링과 같은 시스템 태스크를 실행합니다. 적어도 이러한 노드 서비스 계정에는 프로젝트에 대한 Kubernetes Engine 기본 노드 서비스 계정(roles/container.defaultNodeServiceAccount
) 역할이 있어야 합니다. 기본적으로 GKE는 프로젝트에 자동으로 생성되는 Compute Engine 기본 서비스 계정을 노드 서비스 계정으로 사용합니다.
Compute Engine 기본 서비스 계정에 roles/container.defaultNodeServiceAccount
역할을 부여하려면 다음 단계를 완료합니다.
콘솔
- 시작 페이지로 이동합니다.
- 프로젝트 번호 필드에서 클립보드에 복사를 클릭합니다.
- IAM 페이지로 이동합니다.
- 액세스 권한 부여를 클릭합니다.
- 새 주 구성원 필드에 다음 값을 지정합니다.
PROJECT_NUMBER-compute@developer.gserviceaccount.com
PROJECT_NUMBER
를 복사한 프로젝트 번호로 바꿉니다. - 역할 선택 메뉴에서 Kubernetes Engine 기본 노드 서비스 계정 역할을 선택합니다.
- 저장을 클릭합니다.
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
를 이전 단계의 프로젝트 번호로 바꿉니다.
Arm 노드 풀이 있는 클러스터 만들기
다음 안내에서는 C4A 머신 시리즈 또는 Tau T2A 머신 시리즈에서 Arm 노드를 실행하는 노드 풀이 있는 새 클러스터를 만드는 방법을 설명합니다.
gcloud CLI, Google Cloud 콘솔 또는 Terraform을 사용하여 클러스터를 만들 수 있습니다.
gcloud
Arm 노드를 사용하여 기본 노드 풀로 새 영역 클러스터를 만듭니다.
gcloud container clusters create CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--node-locations NODE_LOCATIONS \
--machine-type ARM_MACHINE_TYPE \
--num-nodes NUM_NODES
다음을 바꿉니다.
CLUSTER_NAME
: Arm 노드 풀이 있는 새 클러스터의 이름입니다.CONTROL_PLANE_LOCATION
: 클러스터의 컨트롤 플레인에 대한 Compute Engine 위치입니다. 리전 클러스터의 경우 리전 또는 영역 클러스터의 경우 영역을 제공합니다. 선택한 리전 또는 영역은 선택한 Arm 머신 시리즈에 사용 가능한 위치 중 하나여야 합니다.NODE_LOCATIONS
: 노드 풀의 영역입니다(예:us-central1-a
). ARM 머신 시리즈에 사용 가능한 영역을 선택해야 합니다. 그렇지 않으면 노드 풀 생성이 실패합니다.ARM_MACHINE_TYPE
: 사용 가능한 C4A 머신 형태 또는 T2A 머신 형태 중 하나입니다(예:c4a-standard-8
또는t2a-standard-16
).NUM_NODES
: Arm 노드 풀의 노드 수입니다.
Compute Engine 기본 서비스 계정 대신 노드에서 사용할 수 있는 최소 권한의 IAM 서비스 계정을 지정하는 것이 좋습니다. 최소 권한의 서비스 계정을 만드는 방법은 최소 권한 서비스 계정 사용을 참조하세요.
gcloud CLI에서 커스텀 서비스 계정을 지정하려면 명령어에 다음 플래그를 추가합니다.
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
SERVICE_ACCOUNT_NAME을 최소 권한 서비스 계정 이름으로 바꿉니다.
클러스터에 추가 설정을 설정하려면 클러스터 생성에 사용 가능한 전체 설정 목록을 위해 gcloud container clusters create
참조를 확인하세요.
콘솔
Google Cloud 콘솔에서 Kubernetes 클러스터 만들기 페이지로 이동합니다.
클러스터를 구성하세요. 자세한 내용은 영역 클러스터 만들기 또는 리전 클러스터 만들기의 안내를 참조하세요.
Arm 노드를 사용할 수 있는 위치를 선택합니다.
- 클러스터 기본사항 섹션의 위치 유형에서 영역 또는 리전을 선택합니다.
- 드롭다운 메뉴에서 ARM 노드를 사용할 수 있는 영역 또는 리전을 선택합니다.
- 기본 노드 위치 지정 체크박스를 선택합니다. ARM 노드를 사용할 수 있는 영역을 선택합니다.
Arm 머신 유형을 선택하려면 노드 하위 섹션의 노드 설정 구성 > 머신 구성 > 머신 계열에서 범용을 선택합니다. 시리즈 드롭다운 메뉴에서 C4A 또는 T2A를 선택합니다. 머신 유형 드롭다운 메뉴에서 사용 가능한 옵션 중에서 선택합니다.
- 원하는 경우 노드에 커스텀 IAM 서비스 계정을 지정합니다.
- 고급 설정 페이지에서 보안 섹션을 펼칩니다.
- 서비스 계정 메뉴에서 원하는 서비스 계정을 선택합니다.
Compute Engine 기본 서비스 계정 대신 노드에서 사용할 수 있는 최소 권한의 IAM 서비스 계정을 지정하는 것이 좋습니다. 최소 권한의 서비스 계정을 만드는 방법은 최소 권한 서비스 계정 사용을 참조하세요.
만들기를 클릭합니다.
Terraform
Terraform을 사용하는 Arm 노드를 사용하여 기본 노드 풀로 영역 클러스터를 만들려면 다음 예시를 참조하세요.
Terraform 사용에 대한 자세한 내용은 GKE에 대한 Terraform 지원을 참조하세요.
GKE 클러스터에 Arm 노드 풀 추가
gcloud CLI, Google Cloud 콘솔, Terraform을 사용하여 GKE Standard 클러스터에 새 노드 풀을 추가할 수 있습니다.
모든 유형의 노드를 사용하여 GKE 클러스터를 만들려면 Compute Engine 기본 서비스 계정을 사용하는 대신 사용할 노드 풀에 대한 최소 권한의 Identity and Access Management(IAM) 서비스 계정을 만들고 사용하는 것이 좋습니다.
최소 권한 서비스 계정을 만드는 방법은 클러스터 보안 강화를 참조하세요.
gcloud
기존 클러스터에 Arm 노드 풀을 추가합니다.
gcloud container node-pools create NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--node-locations NODE_LOCATIONS \
--machine-type ARM_MACHINE_TYPE \
--num-nodes NUM_NODES \
--service-account SERVICE_ACCOUNT
다음을 바꿉니다.
NODE_POOL_NAME
: 기존 클러스터의 새 Arm 노드 풀 이름입니다.CONTROL_PLANE_LOCATION
: 클러스터의 컨트롤 플레인에 대한 Compute Engine 위치입니다. 리전 클러스터의 경우 리전 또는 영역 클러스터의 경우 영역을 제공합니다.CLUSTER_NAME
: Arm 노드 풀을 추가할 클러스터의 이름입니다.NODE_LOCATIONS
: 노드 풀의 영역입니다(예:us-central1-a
). ARM 머신 시리즈에 사용 가능한 영역을 선택해야 합니다. 그렇지 않으면 노드 풀 생성이 실패합니다.ARM_MACHINE_TYPE
: 사용 가능한 C4A 머신 형태 또는 T2A 머신 형태 중 하나입니다(예:c4a-standard-8
또는t2a-standard-16
).NUM_NODES
: Arm 노드 풀의 노드 수입니다.
Compute Engine 기본 서비스 계정 대신 노드에서 사용할 수 있는 최소 권한의 IAM 서비스 계정을 지정하는 것이 좋습니다. 최소 권한의 서비스 계정을 만드는 방법은 최소 권한 서비스 계정 사용을 참조하세요.
gcloud CLI에서 커스텀 서비스 계정을 지정하려면 명령어에 다음 플래그를 추가합니다.
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
SERVICE_ACCOUNT_NAME을 최소 권한 서비스 계정 이름으로 바꿉니다.
노드 풀에 추가 설정을 설정하려면 노드 풀 만들기에 사용 가능한 전체 설정 목록을 위해 gcloud container node-pools create
참조를 확인하세요.
콘솔
기존 클러스터에 Arm 노드 풀을 추가하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
클러스터 목록에서 수정하려는 클러스터 이름을 클릭합니다.
add_box 노드 풀 추가를 클릭합니다.
노드 풀을 구성합니다.
ARM 노드를 사용할 수 있는 노드 위치를 선택합니다.
- 노드 풀 세부정보 섹션에서 노드 위치 지정 체크박스를 선택합니다.
- ARM 노드를 사용할 수 있는 영역을 선택합니다.
Arm 머신 유형을 선택하려면 노드 하위 섹션의 노드 설정 구성 > 머신 구성 > 머신 계열에서 범용을 선택합니다. 시리즈 드롭다운 메뉴에서 C4A 또는 T2A를 선택합니다. 머신 유형 드롭다운 메뉴에서 사용 가능한 옵션 중에서 선택합니다.
탐색 메뉴에서 보안을 클릭합니다.
- 원하는 경우 노드에 커스텀 IAM 서비스 계정을 지정합니다.
- 고급 설정 페이지에서 보안 섹션을 펼칩니다.
- 서비스 계정 메뉴에서 원하는 서비스 계정을 선택합니다.
Compute Engine 기본 서비스 계정 대신 노드에서 사용할 수 있는 최소 권한의 IAM 서비스 계정을 지정하는 것이 좋습니다. 최소 권한의 서비스 계정을 만드는 방법은 최소 권한 서비스 계정 사용을 참조하세요.
만들기를 클릭하여 노드 풀을 추가합니다.
Terraform
Terraform을 사용하여 Arm 노드를 사용하는 노드 풀을 기존 클러스터에 추가하려면 다음 예시를 참조하세요.
google_container_cluster.default.id
을 클러스터 이름으로 바꿉니다.
Terraform 사용에 대한 자세한 내용은 GKE에 대한 Terraform 지원을 참조하세요.