1단계: GKE 클러스터 만들기

이 단계에서는 셸 환경을 설정하고 Google Cloud Platform(GCP) 프로젝트에서 GKE 클러스터를 만드는 방법을 설명합니다.

터미널 셸 설정

gcloud 도구는 GCP의 기본 명령줄 인터페이스를 제공하며 kubectl은 Kubernetes 클러스터를 대상으로 명령어를 실행하기 위한 기본 명령줄 인터페이스를 제공합니다.

  1. 로컬 셸에 gcloudkubectl이 설치되어 있는지 확인합니다. gcloud 도구는 GCP의 기본 명령줄 인터페이스를 제공하며 kubectl은 Kubernetes 클러스터를 대상으로 명령어를 실행하기 위한 기본 명령줄 인터페이스를 제공합니다.

    gcloud -h
    kubectl -h
  2. 이 유틸리티가 설치되어 있지 않다면 지금 설치하세요.
    1. gcloud 명령줄 도구가 포함된 Cloud SDK를 설치합니다.
    2. Cloud SDK를 설치한 후 다음 명령어를 실행하여 kubectl 명령줄 도구를 설치합니다.
    3. gcloud components install kubectl
  3. gcloud 도구를 사용하여 기본 프로젝트컴퓨팅 리전 등 두 가지 기본 설정을 구성합니다. gcloud를 사용하려면 작업할 프로젝트와 컴퓨팅 영역을 지정해야 하므로 이러한 설정을 구성하면 gcloud 명령어를 더욱 쉽게 실행할 수 있습니다.

    현재 설정을 나열하려면 다음 단계를 따르세요.

    gcloud config list

    프로젝트 또는 컴퓨팅 영역이 나열되지 않으면 아래 표시된 명령어를 사용하여 추가해야 합니다. 목록 출력에서 프로젝트 및 컴퓨팅 리전(또는 영역)을 반영하도록 현재 설정을 전환해야 한다고 판단되는 경우 다음 명령어를 사용할 수 있습니다.

    gcloud config set project project-id
    gcloud config set compute/region compute-region
    gcloud config set compute/zone compute-zone
    

    여기에서 project-id는 GCP 프로젝트의 이름이고 compute-region은 GCP 컴퓨팅 리전의 이름이고 compute-zone은 GCP 컴퓨팅 영역의 이름입니다. 예를 들면 compute/region us-central1입니다. 컴퓨팅 리전 및 영역 목록은 사용 가능한 리전 및 영역을 참조하세요.

GKE 클러스터 만들기

이 단계에서는 GCP 프로젝트(gcloud config 명령어로 설정한 프로젝트)에서 Kubernetes 클러스터를 만듭니다.

다음 명령어를 실행하여 클러스터를 만듭니다. 명령어에 지정된 머신 유형, 노드 수, 기타 설정으로 무료 체험 Apigee Hybrid 설치에 적합한 최소 구성 클러스터가 생성됩니다.

gcloud container clusters create cluster-name \
--machine-type "n1-standard-4" --num-nodes "3" --enable-autoscaling --min-nodes "3" --max-nodes "6"

여기서 cluster-name은 개발자가 선택한 클러스터의 이름입니다.

클러스터를 만드는 데 몇 분 정도 걸릴 수 있습니다. 성공하면 RUNNING 상태와 비슷한 출력이 표시됩니다.

NAME           LOCATION       MASTER_VERSION  MASTER_IP     MACHINE_TYPE   NODE_VERSION   NUM_NODES  STATUS
apigee-hybrid  us-central1-a  1.13.11-gke.9   35.222.54.89  n1-standard-4  1.13.11-gke.9  3          RUNNING

현재 컨텍스트 설정

컨텍스트는 액세스 매개변수 그룹입니다. 각 컨텍스트에는 Kubernetes 클러스터, 사용자, 네임스페이스가 포함되어 있습니다. 현재 컨텍스트는 현재 kubectl의 기본값인 클러스터입니다. 모든 kubectl 명령어가 이 클러스터를 대상으로 실행됩니다.

현재 gcloud 컨텍스트가 방금 만든 클러스터로 설정되어 있는지 확인합니다.

  1. 먼저 컨텍스트를 나열하여 컨텍스트가 현재 컨텍스트인지 확인합니다. 다음 예시에서 현재 컨텍스트는 gke_hybrid-project_us-central1-a_apigee-hybrid입니다. 이름에는 GCP 프로젝트 이름(hybrid-project), 리전 또는 영역(us-central1-a), 클러스터 이름(apigee-hybrid)이 포함됩니다.
    kubectl config get-contexts
    CURRENT   NAME                                             CLUSTER                                          AUTHINFO                                           NAMESPACE
    *         gke_hybrid-project_us-central1-a_apigee-hybrid   gke_hybrid-project_us-central1-a_apigee-hybrid   gke_hybrid-project_us-central1-a_apigee-hybrid
              gke_apigee-project_us-west1-a_apigee-cluster     gke_apigee-project_us-west1-a_apigee-cluster     gke_apigee-project_us-west1-a_apigee-cluster
    
    
  2. 필요한 경우 현재 컨텍스트를 방금 만든 클러스터(Apigee Hybrid를 설치하려는 클러스터)로 설정합니다. 이전 get-contexts 출력을 가정하면, 만든 클러스터 이름이 us-west1 리전의 apigee-cluster이면 다음과 같이 gke_apigee-project_us-west1-a_apigee-cluster 컨텍스트로 전환합니다.
    kubectl config use-context gke_apigee-project_us-west1-a_apigee-cluster

    여기서 gke_apigee-project_us-west1-a_apigee-cluster는 전환할 컨텍스트의 이름입니다.

  3. 현재 컨텍스트가 의도한 클러스터로 설정되었는지 확인합니다. 예를 들면 다음과 같습니다.
    kubectl config current-context
     gke_apigee-project_us-west1-a_apigee-cluster

클러스터 사용자 인증 정보 부여

클러스터 사용자 인증 정보는 클러스터에서 실행 중인 컨테이너에 대한 액세스 권한을 부여합니다. 사용자 인증 정보를 가져와 cluster-admin 역할을 직접 부여합니다.

  1. 사용자 인증 정보를 가져옵니다.
    gcloud container clusters get-credentials cluster-name

    여기서 cluster-name은 만든 클러스터의 이름(Apigee Hybrid를 설치하려는 클러스터)입니다.

  2. 클러스터 역할 결합을 설정합니다. 다음 명령어를 다음과 같이 정확하게 실행합니다.
    kubectl create clusterrolebinding cluster-admin-binding \
    --clusterrole cluster-admin --user $(gcloud config get-value account)

요약

이제 GCP 프로젝트에서 Kubernetes 클러스터가 실행되고 있습니다. 셸 환경이 설정되었으며 이제 로컬 머신에 Apigee Hybrid 런타임 영역 소프트웨어를 설치할 준비가 되었습니다.

1 (다음) 2단계: apigeectl 설치 3 4