Goolge Cloud Skills Boost

Kubernetes Engine: Qwik Start

컨텐츠 정보

본문

https://www.youtube.com/watch?v=lvn3CFobR8k # 개요 > GKE(Google Kubernetes Engine)에서는 Google 인프라를 사용하여 컨테이너식 애플리케이션을 배포, 관리 및 확장할 수 있는 관리형 환경을 제공합니다. Kubernetes Engine 환경은 컨테이너 클러스터를 형성하도록 그룹화된 여러 머신(구체적으로 Compute Engine 인스턴스)으로 구성되어 있습니다. 이번 실습에서는 GKE를 사용하여 직접 컨테이너를 생성하고 애플리케이션을 배포해 봅니다. GKE는 구글에서 관리(managed) 하는 서비스입니다. 저는 직접 쿠버네티스를 kubespray 로 설치해서 실습 중입니다. GKE는 비용을 잘 고려해 봐야 합니다. 이 실습에서는 Google Kubernetes Engine(이하 GKE)를 생성해보고 애플리케이션을 배포하는 실습입니다. ## Kubernetes on Google Cloud When you run a GKE cluster, you also gain the benefit of advanced cluster management features that Google Cloud provides. These include: * Load balancing for Compute Engine instances Node pools to designate subsets of nodes within a cluster for additional flexibility * Automatic scaling of your cluster's node instance count * Automatic upgrades for your cluster's node software Node auto-repair to maintain node health and availability * Logging and Monitoring with Cloud Monitoring for visibility into your cluster Now that you have a basic understanding of Kubernetes, you will learn how to deploy a containerized application with GKE in less than 30 minutes. Follow the steps below to set up your lab environment. ## Google Cloud 에서 사용하는 Kubernetes 장점 * Compute Engine 인스턴스를 위한 부하 분산 * 노드 풀로 클러스터 안에 하위 노드 집합을 지정하여 유연성 강화 * 클러스터에서 노드 인스턴스 개수 자동 확장 * 클러스터에서 노드 소프트웨어 자동 업그레이드 * 노드 자동 복구로 노드 상태 및 가용성을 유지 관리 * Cloud Monitoring을 통한 로깅 및 모니터링으로 클러스터 현황에 대한 가시성 확보 # Task 1. Set a default compute zone > 작업 1: 기본 컴퓨팅 영역 설정 ``` gcloud config set compute/zone us-central1-a ``` Expected output: ``` Updated property [compute/zone]. ``` # Task 2. Create a GKE cluster > 작업 2: GKE 클러스터 만들기 To create a cluster, run the following command, replacing [CLUSTER-NAME] with the name you choose for the cluster (for example:my-cluster). 클러스터를 생성하려면 다음 명령어를 실행합니다. 이때 [CLUSTER-NAME]은 선택한 클러스터 이름(예: my-cluster)으로 바꿉니다. > 참고: 클러스터 이름은 문자로 시작하고 영숫자로 끝나야 하며 40자를 초과할 수 없습니다. ``` gcloud container clusters create [CLUSTER-NAME] ``` ex) ``` gcloud container clusters create my-cluster ``` Expected output: ``` Default change: VPC-native is the default mode during cluster creation for versions greater than 1.21.0-gke.1500. To create advanced routes based clusters, please pass the `--no-enable-ip-alias` flag Note: Your Pod address range (`--cluster-ipv4-cidr`) can accommodate at most 1008 node(s). 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-0fe846e68ac9/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-0fe846e68ac9 kubeconfig entry generated for my-cluster. NAME: my-cluster LOCATION: us-central1-a MASTER_VERSION: 1.22.8-gke.202 MASTER_IP: 35.194.49.166 MACHINE_TYPE: e2-medium NODE_VERSION: 1.22.8-gke.202 NUM_NODES: 3 STATUS: RUNNING ``` # Task 3. Get authentication credentials for the cluster > 작업 3: 클러스터의 사용자 인증 정보 얻기 ``` gcloud container clusters get-credentials my-cluster ``` # Task 4. Deploy an application to the cluster > 작업 4: 클러스터에 애플리케이션 배포 ``` kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0 ``` ouput ``` W0716 06:48:27.497711 561 gcp.go:120] WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.25+; use gcloud instead. To learn more, consult https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke deployment.apps/hello-server created ``` ``` kubectl expose deployment hello-server --type=LoadBalancer --port 8080 ``` ouput ``` W0716 06:48:41.520100 573 gcp.go:120] WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.25+; use gcloud instead. To learn more, consult https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke service/hello-server exposed ``` 확인해 봅니다. ``` kubectl get service ``` ouput ``` W0716 06:49:26.671018 610 gcp.go:120] WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.25+; use gcloud instead. To learn more, consult https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-server LoadBalancer 10.104.12.40 34.71.10.237 8080:32431/TCP 44s kubernetes ClusterIP 10.104.0.1 443/TCP 4m23s ``` # Task 5. Deleting the cluster > 작업 5: 클러스터 삭제 ``` gcloud container clusters delete my-cluster ``` 시간이 좀 걸립니다. ``` The following clusters will be deleted. - [my-cluster] in [us-central1-a] Do you want to continue (Y/n)? Y Deleting cluster my-cluster...done. ``` GKE 를 생성하고, 삭제 하는 것은 Google Cloud에서는 보다 쉽게 가능합니다. 구글에서 모든것을 관리해주고 사용자는 application 만 신경을 쓰면 됩니다.

관련자료

댓글 1 / 1 페이지
전체 18 / 1 페이지
RSS

최근글


새댓글