티스토리 뷰
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이 제공하는 고급 클러스터 관리 기능도 활용할 수 있습니다. 여기에는 다음이 포함됩니다.
- Compute Engine 인스턴스의 로드 밸런싱
- 추가 유연성을 위해 클러스터 내의 노드 하위 집합을 지정하는 노드 풀 .
- 클러스터 노드 인스턴스 수의 자동 조정
- 클러스터 노드 소프트웨어의 자동 업그레이드 .
- 노드 상태 및 가용성을 유지하기위한 노드 자동 복구 .
- 클러스터 모니터링을위한 Cloud Monitoring을 통한 로깅 및 모니터링
Kubernetes에 대한 기본 지식을 갖추 었으므로 이제 30 분 이내에 Kubernetes Engine으로 컨테이너화 된 애플리케이션을 배포하는 방법을 배웁니다. 아래로 스크롤하여 아래 단계에 따라 랩 환경을 설정하십시오.
설정 및 요구 사항
실습 시작 버튼을 클릭하기 전에
이 지침을 읽으십시오. 실습 시간이 초과되어 일시 중지 할 수 없습니다. 실습 시작 을 클릭하면 시작되는 타이머에 Google 클라우드 리소스를 얼마나 오래 사용할 수 있는지 표시됩니다.
이 Qwiklabs 실습 랩을 사용하면 시뮬레이션 또는 데모 환경이 아닌 실제 클라우드 환경에서 랩 활동을 직접 수행 할 수 있습니다. 실습 기간 동안 로그인하고 Google Cloud에 액세스하는 데 사용하는 새로운 임시 자격 증명을 제공함으로써 그렇게합니다.
필요한 것
이 실습을 마치려면 다음이 필요합니다.
- 표준 인터넷 브라우저에 액세스합니다 (Chrome 브라우저 권장).
- 실습을 완료 할 시간입니다.
참고 : 개인 Google Cloud 계정 또는 프로젝트가 이미있는 경우이 실습에 사용하지 마십시오.
참고 : Pixelbook을 사용하는 경우 시크릿 창을 열어이 실습을 실행하십시오.
실습을 시작하고 Google Cloud Console에 로그인하는 방법
-
실습 시작 버튼을 클릭하십시오 . 실습 비용을 지불해야하는 경우 결제 방법을 선택할 수있는 팝업이 열립니다. 왼쪽에는이 실습에 사용해야하는 임시 자격 증명이 채워진 패널이 있습니다.
-
사용자 이름을 복사 한 다음 Google 콘솔 열기 를 클릭하십시오 . 랩에서 리소스를 가동 한 다음 로그인 페이지 를 표시하는 다른 탭을 엽니 다 .
팁 : 나란히 별도의 창에서 탭을여십시오.
당신이 표시되면 계정 선택 페이지를 클릭하여 사용을 다른 계정 . -
에서 로그인 페이지, 당신은 연결 세부 사항 패널에서 복사 한 사용자 이름을 붙여 넣습니다. 그런 다음 비밀번호를 복사하여 붙여 넣습니다.
중요 사항 : 연결 세부 사항 패널에서 신임 정보를 사용해야합니다. Qwiklabs 자격 증명을 사용하지 마십시오. 자신의 Google 클라우드 계정이있는 경우이 실습에 사용하지 마십시오 (요금이 부과되지 않음).
-
다음 페이지를 클릭하십시오.
- 이용 약관에 동의합니다.
- 임시 계정이므로 복구 옵션이나 이중 인증을 추가하지 마십시오.
- 무료 평가판에 가입하지 마십시오.
잠시 후이 탭에서 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
- 대소문자
- dp-1
- storage
- virt-sysprep
- sysprep
- 읽어오기
- set()
- powercli
- 배열
- 3par
- exadata
- 부동없이
- 스토리지
- vmware
- EXA
- cloud-init
- fromkeys
- artandculture
- vmware.powercli
- powershell
- LIST
- 정렬
- 차집합
- 중복제거
- oracle
- 변수화
- insert
- Join
- dezoomify
- dp-2
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |