티스토리 뷰

30 분1 크레딧

 

평가 실험실

GSP100

 

개요

Google Kubernetes Engine (GKE)은 Google 인프라를 사용하여 컨테이너화 된 애플리케이션을 배포, 관리 및 확장 할 수있는 관리되는 환경을 제공합니다. Kubernetes Engine 환경은 컨테이너 클러스터 를 형성하기 위해 함께 그룹화 된 여러 머신 (특히 Google Compute Engine 인스턴스)으로 구성됩니다 . 이 실습에서는 GKE를 사용하여 컨테이너 생성 및 응용 프로그램 배포를 실습합니다.

Kubernetes Engine을 사용한 클러스터 오케스트레이션

Kubernetes Engine 클러스터는 Kubernetes 오픈 소스 클러스터 관리 시스템 으로 구동됩니다 . Kubernetes는 컨테이너 클러스터와 상호 작용하는 메커니즘을 제공합니다. Kubernetes 명령 및 리소스를 사용하여 응용 프로그램을 배포 및 관리하고 관리 작업을 수행하고 정책을 설정하며 배포 된 작업 부하의 상태를 모니터링합니다.

Kubernetes는 널리 사용되는 Google 서비스를 실행하는 동일한 설계 원칙을 사용하며 애플리케이션 컨테이너에 대한 자동 관리, 모니터링 및 라이브 니스 프로브, 자동 스케일링, 롤링 업데이트 등 동일한 이점을 제공합니다. 컨테이너 클러스터에서 애플리케이션을 실행하면 컨테이너에서 프로덕션 워크로드를 실행 한 10 년 이상의 경험을 바탕으로 한 기술을 사용하게됩니다.

Google Cloud Platform의 Kubernetes

Kubernetes Engine 클러스터를 실행하면 Google Cloud Platform이 제공하는 고급 클러스터 관리 기능도 활용할 수 있습니다. 여기에는 다음이 포함됩니다.

Kubernetes에 대한 기본 지식을 갖추 었으므로 이제 30 분 이내에 Kubernetes Engine으로 컨테이너화 된 애플리케이션을 배포하는 방법을 배웁니다. 아래로 스크롤하여 아래 단계에 따라 랩 환경을 설정하십시오.

설정 및 요구 사항

실습 시작 버튼을 클릭하기 전에

이 지침을 읽으십시오. 실습 시간이 초과되어 일시 중지 할 수 없습니다. 실습 시작 을 클릭하면 시작되는 타이머에 Google 클라우드 리소스를 얼마나 오래 사용할 수 있는지 표시됩니다.

이 Qwiklabs 실습 랩을 사용하면 시뮬레이션 또는 데모 환경이 아닌 실제 클라우드 환경에서 랩 활동을 직접 수행 할 수 있습니다. 실습 기간 동안 로그인하고 Google Cloud에 액세스하는 데 사용하는 새로운 임시 자격 증명을 제공함으로써 그렇게합니다.

필요한 것

이 실습을 마치려면 다음이 필요합니다.

  • 표준 인터넷 브라우저에 액세스합니다 (Chrome 브라우저 권장).
  • 실습을 완료 할 시간입니다.

참고 : 개인 Google Cloud 계정 또는 프로젝트가 이미있는 경우이 실습에 사용하지 마십시오.

참고 : Pixelbook을 사용하는 경우 시크릿 창을 열어이 실습을 실행하십시오.

실습을 시작하고 Google Cloud Console에 로그인하는 방법

  1. 실습 시작 버튼을 클릭하십시오 . 실습 비용을 지불해야하는 경우 결제 방법을 선택할 수있는 팝업이 열립니다. 왼쪽에는이 실습에 사용해야하는 임시 자격 증명이 채워진 패널이 있습니다.

     

  2. 사용자 이름을 복사 한 다음 Google 콘솔 열기 를 클릭하십시오 . 랩에서 리소스를 가동 한 다음 로그인 페이지 를 표시하는 다른 탭을 엽니 다 .

     

    팁 : 나란히 별도의 창에서 탭을여십시오.

    당신이 표시되면 계정 선택 페이지를 클릭하여 사용을 다른 계정 . 
  3. 에서 로그인 페이지, 당신은 연결 세부 사항 패널에서 복사 한 사용자 이름을 붙여 넣습니다. 그런 다음 비밀번호를 복사하여 붙여 넣습니다.

    중요 사항 : 연결 세부 사항 패널에서 신임 정보를 사용해야합니다. Qwiklabs 자격 증명을 사용하지 마십시오. 자신의 Google 클라우드 계정이있는 경우이 실습에 사용하지 마십시오 (요금이 부과되지 않음).

  4. 다음 페이지를 클릭하십시오.

    • 이용 약관에 동의합니다.
    • 임시 계정이므로 복구 옵션이나 이중 인증을 추가하지 마십시오.
    • 무료 평가판에 가입하지 마십시오.

잠시 후이 탭에서 Cloud Console이 열립니다.

참고 : 왼쪽 상단  탐색 메뉴  클릭하면 Google 클라우드 제품 및 서비스 목록이있는 메뉴를 볼 수 있습니다 . 

Cloud Shell 활성화

Cloud Shell은 개발 도구가로드 된 가상 머신입니다. 영구적 인 5GB 홈 디렉토리를 제공하며 Google 클라우드에서 실행됩니다. Cloud Shell은 Google Cloud 리소스에 대한 명령 줄 액세스를 제공합니다.

Cloud Console의 오른쪽 상단 도구 모음에서 Cloud Shell 활성화 버튼을 클릭합니다.

 

계속을 클릭하십시오 .

 

환경을 프로비저닝하고 연결하는 데 약간의 시간이 걸립니다. 연결되면 이미 인증되었으며 프로젝트는 PROJECT_ID 로 설정됩니다 . 예를 들면 다음과 같습니다.

gcloudGoogle Cloud 용 명령 줄 도구입니다. Cloud Shell에 사전 설치되어 제공되며 탭 완성을 지원합니다.

이 명령으로 활성 계정 이름을 나열 할 수 있습니다.

gcloud auth list

(산출)

Credentialed accounts: - <myaccount>@<mydomain>.com (active)

(출력 예)

Credentialed accounts: - google1623327_student@qwiklabs.net

이 명령으로 프로젝트 ID를 나열 할 수 있습니다.

gcloud config list project

(산출)

[core] project = <project_ID>

(출력 예)

[core] project = qwiklabs-gcp-44776a13dea667a6전체 문서 gcloud는 gcloud 명령 줄 도구 개요  참조하십시오 .

기본 계산 영역 설정

귀하의 계산 영역은 당신의 클러스터와 그들의 자원이 살고있는 대략적인 지역 위치입니다. 예를 들어, 지역 us-central1-a의 us-central1영역입니다.

Cloud Shell에서 새 세션을 시작하고 다음 명령을 실행하여 기본 계산 영역을 다음으로 설정하십시오 us-central1-a.

gcloud config set compute/zone us-central1-a

다음과 같은 출력이 나타납니다.

Updated property [compute/zone].

Kubernetes Engine 클러스터 생성

클러스터는 적어도 하나 개에 구성 클러스터 마스터 머신과 여러 작업자 기계라는 노드 . 노드는 클러스터의 일부로 만드는 데 필요한 Kubernetes 프로세스를 실행하는 Compute Engine 가상 머신 (VM) 인스턴스 입니다.

클러스터를 작성하려면 다음 명령을 실행하여 클러스터에 [CLUSTER-NAME]대해 선택한 이름으로 바꾸십시오 (예 my-cluster:). 클러스터 이름은 문자로 시작하고 영숫자로 끝나야하며 40자를 초과 할 수 없습니다.

gcloud container clusters create my-cluster

출력에서 경고를 무시할 수 있습니다. 클러스터 작성을 완료하는 데 몇 분이 걸릴 수 있습니다. 곧 비슷한 출력을 받아야합니다.

NAME LOCATION ... NODE_VERSION NUM_NODES STATUS my-cluster us-central1-a ... 1.13.11-gke.9 3 RUNNING

 

3대의 vm instance가 생성되었다.

아래는 명령의 로그다.

 

student_00_9a639302c470@cloudshell:~ (qwiklabs-gcp-00-cf634fe3fcdd)$ gcloud config set compute/zone us-central1-a

 

Updated property [compute/zone].student_00_9a639302c470@cloudshell:~ (qwiklabs-gcp-00-cf634fe3fcdd)$ gcloud container clusters create my-cluster

 

WARNING: Currently VPC-native is not the default mode during cluster creation. In the future, this will become the default mode and can be disabled using `--no-enable-ip-alias` flag. Use `--[no-]enable-ip-alias` flag to suppress this warning.WARNING: Newly created clusters and node-pools will have node auto-upgrade enabled by default. This can be disabled using the `--no-enable-autoupgrade` flag.WARNING: Starting with version 1.18, clusters will have shielded GKE nodes by default.WARNING: Your Pod address range (`--cluster-ipv4-cidr`) can accommodate at most 1008 node(s).This will enable the autorepair feature for nodes. Please see https://cloud.google.com/kubernetes-engine/docs/node-auto-repair for more information on node autorepairs.Creating cluster my-cluster in us-central1-a... Cluster is being health-checked (master is healthy)...done.Created [https://container.googleapis.com/v1/projects/qwiklabs-gcp-00-cf634fe3fcdd/zones/us-central1-a/clusters/my-cluster].To inspect the contents of your cluster, go to: https://console.cloud.google.com/kubernetes/workload_/gcloud/us-central1-a/my-cluster?project=qwiklabs-gcp-00-cf634fe3fcddkubeconfig entry generated for my-cluster.NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUSmy-cluster us-central1-a 1.15.12-gke.2 35.224.132.159 n1-standard-1 1.15.12-gke.2 3 RUNNINGstudent_00_9a639302c470@cloudshell:~ (qwiklabs-gcp-00-cf634fe3fcdd)$

 

 

 

 

 

 

클러스터의 인증 자격 증명 얻기

클러스터를 생성 한 후 인증 자격 증명을 얻어 클러스터와 상호 작용해야합니다.

클러스터를 인증하려면 다음 명령을 실행 [CLUSTER-NAME]하여 클러스터 이름으로 바꾸 십시오.

gcloud container clusters get-credentials [CLUSTER-NAME]

비슷한 결과가 나타납니다.

 

 

student_00_9a639302c470@cloudshell:~ (qwiklabs-gcp-00-cf634fe3fcdd)$ gcloud container clusters get-credentials my-clusterFetching cluster endpoint and auth data.kubeconfig entry generated for my-cluster.student_00_9a639302c470@cloudshell:~ (qwiklabs-gcp-00-cf634fe3fcdd)$uster.

클러스터에 응용 프로그램 배포

클러스터를 만들었 으므로 컨테이너화 된 응용 프로그램  배포 할 수 있습니다 . 이 실습 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 컨테이너 레지스트리 버킷 에서 예제 이미지를 가져옵니다 . 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

페이지는 다음과 유사해야합니다.

진행 상황 확인을 클릭 하여 목표를 확인하십시오.

 

쿠 버네 티스 서비스 만들기

Check my progress

정리

다음을 실행하여 클러스터를 삭제하십시오.

gcloud container clusters delete [CLUSTER-NAME]

프롬프트가 표시되면 Y  입력 하여 확인하십시오. 클러스터를 삭제하는 데 몇 분이 걸릴 수 있습니다. 삭제 된 Google Kubernetes Engine 클러스터에 대한 자세한 내용은 설명서를 참조하십시오 .

진행 상황 확인을 클릭 하여 목표를 확인하십시오.

 

정리 : 클러스터 삭제

Check my progress

축하합니다!

컨테이너화 된 애플리케이션을 Kubernetes Engine에 배포했습니다!

'Test > Cloud' 카테고리의 다른 글

GCP_Cloud Load Balancing  (0) 2020.08.07
GCP_Cloud Load Balancing  (0) 2020.08.04
Using AWS for Backup and Restore (2017)  (0) 2019.07.15
Deploying Microsoft SQL Server with WSFC on AWS  (0) 2019.07.15
Architectures for Oracle Database on Amazon EC2  (0) 2019.07.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함