Kubernetes Engine 클러스터 만들기
기본 컴퓨팅 영역 설정
귀하의 계산 영역은 당신의 클러스터와 그들의 자원이 살고있는 대략적인 지역 위치입니다. 예를 들어 us-central1-a는 us-central1지역 의 영역입니다.
Cloud Shell에서 새 세션을 시작하고 다음 명령어를 실행하여 기본 컴퓨팅 영역을 다음으로 설정합니다 us-central1-a.
gcloud config set compute/zone us-central1-a
다음 출력이 수신됩니다.
Updated property
Kubernetes Engine 클러스터 만들기
클러스터는 적어도 하나 개에 구성 클러스터 마스터 머신과 여러 작업자 기계라는 노드 . 노드는 클러스터의 일부로 만드는 데 필요한 Kubernetes 프로세스를 실행하는 Compute Engine 가상 머신 (VM) 인스턴스 입니다.
클러스터를 생성하려면 클러스터에 [CLUSTER-NAME]대해 선택한 이름 (예 :) 으로 바꾸고 다음 명령을 실행합니다 my-cluster. 클러스터 이름은 문자로 시작하고 영숫자로 끝나야하며 40자를 초과 할 수 없습니다.
gcloud container clusters create [CLUSTER-NAME]
출력의 모든 경고를 무시할 수 있습니다. 클러스터 생성을 완료하는 데 몇 분 정도 걸릴 수 있습니다. 곧 유사한 출력을 받게됩니다.
NAME LOCATION ... NODE_VERSION NUM_NODES STATUS my-cluster us-central1-a ... 1.13.11-gke.9 3 RUNNING
목표를 확인하려면 내 진행 상황 확인을 클릭 합니다.
Kubernetes Engine 클러스터 만들기
Check my progress
클러스터에 대한 인증 자격 증명 가져 오기
클러스터를 만든 후 클러스터와 상호 작용하려면 인증 자격 증명을 가져와야합니다.
클러스터를 인증하려면 다음 명령을 실행하고 클러스터 [CLUSTER-NAME]이름으로 바꿉니다 .
gcloud container clusters get-credentials [CLUSTER-NAME]
유사한 출력을 받아야합니다.
Fetching cluster endpoint and auth data. kubeconfig entry generated for my-cluster.
클러스터에 애플리케이션 배치
이제 클러스터를 만들었 으므로 컨테이너화 된 애플리케이션 을 여기에 배포 할 수 있습니다 . 이 실습 hello-app에서는 클러스터에서 실행 합니다.
Kubernetes Engine은 Kubernetes 객체를 사용하여 클러스터의 리소스를 만들고 관리합니다. Kubernetes는 웹 서버와 같은 상태 비 저장 애플리케이션을 배포하기위한 배포 개체를 제공 합니다. 서비스 개체는 인터넷에서 응용 프로그램에 액세스하기위한 규칙 및 부하 분산을 정의합니다.
Cloud Shell에서 다음 kubectl create 명령어를 실행하여 컨테이너 이미지 hello-server에서 새 배포를 만듭니다 hello-app.
kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0
다음 출력을 받아야합니다.
deployment.apps/hello-server created
목표를 확인하려면 내 진행 상황 확인을 클릭 합니다.
새 배포 만들기-hello-server
Check my progress
이 Kubernetes 명령은 hello-server. 이 경우 --image배포 할 컨테이너 이미지를 지정합니다. 이 명령어는 Google Container Registry 버킷 에서 예시 이미지를 가져옵니다 . gcr.io/google-samples/hello-app:1.0가져올 특정 이미지 버전을 나타냅니다. 버전이 지정되지 않은 경우 최신 버전이 사용됩니다.
이제 다음 kubectl expose 명령어를 실행하여 애플리케이션을 외부 트래픽에 노출 할 수있는 Kubernetes 리소스 인 Kubernetes 서비스를 만듭니다 .
kubectl expose deployment hello-server --type=LoadBalancer --port 8080
이 명령에서 :
- --port 컨테이너가 노출하는 포트를 지정합니다.
- type="LoadBalancer" 컨테이너에 대한 Compute Engine 부하 분산기를 만듭니다.
다음 출력을 받아야합니다.
service/hello-server exposed
kubectl gethello-server 을 실행 하여 서비스를 검사합니다 .
kubectl get service
유사한 출력을 받아야합니다.
참고 : 외부 IP 주소가 생성되는 데 1 분 정도 걸릴 수 있습니다. EXTERNAL-IP열이 "보류 중"상태 이면 위의 명령을 다시 실행하십시오 .
이 명령어의 출력에서 EXTERNAL IP열 에서 서비스의 외부 IP 주소를 복사합니다 .
노출 된 포트가있는 외부 IP 주소를 사용하여 웹 브라우저에서 애플리케이션을 봅니다.
http://[EXTERNAL-IP]:8080
페이지는 다음과 유사해야합니다.
목표를 확인하려면 내 진행 상황 확인을 클릭 합니다.
Kubernetes 서비스 만들기
Check my progress
정리
다음을 실행하여 클러스터를 삭제하십시오.
gcloud container clusters delete [CLUSTER-NAME]
메시지가 표시되면 Y 를 입력 하여 확인합니다. 클러스터를 삭제하는 데 몇 분 정도 걸릴 수 있습니다. 삭제 된 Google Kubernetes Engine 클러스터에 대한 자세한 내용은 문서를 참조하세요 .
목표를 확인하려면 내 진행 상황 확인을 클릭 합니다.
정리 : 클러스터 삭제
Check my progress
[compute/zone].