시작하기 전에:
이 단계에서는 이전 단계에서 환경 변수를 만들었다고 가정합니다. 다음 명령어로 확인합니다.
echo $PROJECT_ID
echo $ANALYTICS_REGION
echo $ORG_NAME
echo $ENV_NAME
이 단계에서는 셸 환경을 설정하고 Google Cloud 프로젝트에서 GKE 클러스터를 만드는 방법을 설명합니다.
터미널 셸 설정
gcloud
도구는 Google Cloud의 기본 명령줄 인터페이스를 제공하며, kubectl
은 Kubernetes 클러스터를 대상으로 명령어를 실행할 수 있는 기본 명령줄 인터페이스를 제공합니다.
로컬 셸에
gcloud
와kubectl
이 설치되어 있는지 확인합니다.gcloud
도구는 Google Cloud의 기본 명령줄 인터페이스를 제공하며,kubectl
은 Kubernetes 클러스터를 대상으로 명령어를 실행할 수 있는 기본 명령줄 인터페이스를 제공합니다.gcloud -h
kubectl -h
- 이러한 유틸리티가 설치되어 있지 않으면 지금 다음과 같이 설치합니다.
gcloud
명령줄 도구가 포함된 Cloud SDK를 설치합니다.- Cloud SDK를 설치한 후 다음 명령어를 실행하여
kubectl
명령줄 도구를 설치합니다.
gcloud components install kubectl
-
gcloud
도구를 사용하여 기본 프로젝트와 컴퓨팅 리전 등 두 가지 기본 설정을 구성합니다.gcloud
를 사용하려면 작업할 프로젝트와 컴퓨팅 리전을 지정해야 하므로 이러한 설정을 구성하면gcloud
명령어를 더욱 쉽게 실행할 수 있습니다.현재 설정을 나열하려면 다음 명령어를 실행하세요.
gcloud config list
프로젝트 또는 컴퓨팅 리전이 나열되지 않으면 아래 표시된 명령어를 사용하여 추가해야 합니다. 목록 출력에서 프로젝트와 컴퓨팅 리전을 반영하도록 현재 설정을 전환해야 한다고 판단되는 경우 다음 명령어를 사용할 수도 있습니다.
gcloud config set project $PROJECT_ID
gcloud config set compute/region $ANALYTICS_REGION
각 항목의 의미는 다음과 같습니다.
- PROJECT_ID: Google Cloud 프로젝트 이름입니다.
- ANALYTICS_REGION: Google Cloud 컴퓨팅 리전의 이름입니다.
GKE 클러스터 만들기
이 단계에서는 Google Cloud 프로젝트(PROJECT_ID
로 표시되는 gcloud config
명령어로 설정한 프로젝트)에서 Kubernetes 클러스터를 만듭니다.
클러스터 만들기
- 다음 명령어를 사용하여 CLUSTER_NAME 환경 변수를 만듭니다(선택사항).
export CLUSTER_NAME=cluster-name
여기서 cluster-name은 개발자가 선택한 클러스터의 이름입니다.
- 다음 명령어를 실행하여 클러스터를 만듭니다. 명령어에 지정된 머신 유형, 노드 수, 기타 설정으로 무료 체험 Apigee 하이브리드 설치에 적합한 최소 구성 클러스터가 생성됩니다.
gcloud container clusters create $CLUSTER_NAME \ --machine-type "e2-standard-4" --num-nodes "4" --enable-autoscaling --min-nodes "3" --max-nodes "6"
클러스터를 만드는 데 몇 분 정도 걸릴 수 있습니다. 성공하면 다음과 비슷한 출력이
RUNNING
상태로 표시됩니다.NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS apigee-hybrid us-central1 1.15.12-gke.2 35.222.54.89 e2-standard-4 1.15.12-gke.2 RUNNING
현재 컨텍스트 설정
컨텍스트는 액세스 매개변수 그룹입니다. 각 컨텍스트에는 Kubernetes 클러스터, 사용자, 네임스페이스가 포함되어 있습니다. 현재 컨텍스트는 현재 kubectl
의 기본값인 클러스터입니다. 모든 kubectl
명령어가 이 클러스터를 대상으로 실행됩니다.
현재 gcloud
컨텍스트가 방금 만든 클러스터로 설정되어 있는지 확인합니다.
- 먼저 컨텍스트를 나열하여 컨텍스트가 현재 컨텍스트인지 확인합니다. 다음 예시에서 현재 컨텍스트는
gke_hybrid-project_us-central1_apigee-hybrid
입니다. 이름에는 Google Cloud 프로젝트 이름(hybrid-project
), 리전(us-central1
), 클러스터 이름(apigee-hybrid
)이 포함됩니다.kubectl config get-contexts
다음 예시와 같은 결과가 표시됩니다.
CURRENT NAME CLUSTER AUTHINFO NAMESPACE * gke_hybrid-project_us-central1_apigee-hybrid gke_hybrid-project_us-central1_apigee-hybrid gke_hybrid-project_us-central1_apigee-hybrid gke_apigee-project_us-west1_apigee-cluster gke_apigee-project_us-west1_apigee-cluster gke_apigee-project_us-west1_apigee-cluster
- 필요한 경우 현재 컨텍스트를 방금 만든 클러스터(Apigee Hybrid를 설치하려는 클러스터)로 설정합니다. 이전
get-contexts
출력을 사용하여 다음과 같이 올바른 컨텍스트로 전환할 수 있습니다.kubectl config use-context context
여기서 context는 이전
get-contexts
명령어에서 출력한 클러스터의 전체 컨텍스트 이름입니다. 예:gke_apigee-project_us-west1_apigee-cluster
. - 현재 컨텍스트를 확인하고 다음 명령어를 사용하여 원하는 클러스터로 설정되었는지 확인합니다.
kubectl config current-context
예:
gke_apigee-project_us-west1_apigee-cluster
클러스터 사용자 인증 정보 부여
클러스터 사용자 인증 정보는 클러스터에서 실행 중인 컨테이너에 대한 액세스 권한을 부여합니다. 사용자 인증 정보를 가져와 cluster-admin 역할을 직접 부여합니다.
- 다음 명령어를 입력하여 사용자 인증 정보를 가져옵니다.
gcloud container clusters get-credentials $CLUSTER_NAME
여기서
CLUSTER_NAME
은 만든 클러스터의 이름(Apigee Hybrid를 설치하려는 클러스터)입니다.다음과 비슷한 메시지가 표시됩니다.
Fetching cluster endpoint and auth data. kubeconfig entry generated for example-cluster.
- 클러스터 역할 binding을 설정합니다. 다음과 같이 명령어를 정확하게 실행합니다.
kubectl create clusterrolebinding cluster-admin-binding \ --clusterrole cluster-admin --user $(gcloud config get-value account)
다음과 비슷한 메시지가 표시됩니다.
clusterrolebinding.rbac.authorization.k8s.io/cluster-admin-binding created
요약
이제 Google Cloud 프로젝트에서 Kubernetes 클러스터가 실행됩니다. 셸 환경이 설정되었으며 Apigee 하이브리드에서 요구하는 cert-manager 및 istio 서비스를 로컬 머신에 설치할 수 있습니다.
1 (다음)2단계: cert-manager 및 ASM 설치 3 4 5