ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [퀵랩] 초급 - GCP Essentials 04/05
    Qwiklabs/초급 - GCP Essentials 2020. 5. 14. 09:00
    728x90

    안녕하세요! 오늘은 GKE 구글 클러스터 엔진을 통한 배포를 배워보는 시간입니다.

    쿠버네티스 엔진을 통해서 관리형 환경을 제공 받고, 컨테이너 클러스터를 통해서

    배포 관리, 자동으로 스케일링, 모니터링 등의 기능을 보장받는 것이 쿠버네티스의 특징이 되겠습니다.

    (퀵랩에서 적은 내용이 길었는데 아직은 깊게 알지 않아도 됩니다. 하늘색 글귀를 보세요.)

     

    GKE를 사용한다면, 다음과 같은 이점도 얻을 수 있습니다.

     

    1) 인스턴스 로드밸런싱

    2) 노드 풀

    3) 노드 인스턴스 오토스케일링

    4) 노드 소프트웨어 자동 업그레이드

    5) 노드 헬스와 가용성 유지

    6) 로깅 / 모니터링

     

     

     

     

     

     

     

     

    콘솔창 열어 주시고, 클라우드 쉘까지 넘어가 보겠습니다.

    다음으로 쉘을 열어서 활성화된 계정을 확인하고,

    프로젝트 ID도 제대로 출력이 되는지 한 번 확인해 주세요!

     

     

    다음으로 컴퓨트 존 세팅입니다.

    리전을 us-central1-a로 설정해 줍니다.

    gcloud config set compute/zone us-central1-a를 입력해 주세요.

     

    다음으로 클러스터를 만들어 봅시다.

    클러스터는 마스터 / 워커 아키텍처로 구성되어 있습니다.

    노드로 묶여서 배포가 되는데, 이를 통해서 클러스터의 일부를 만들 수 있답니다.

     

    gcloud container clusters create [클러스터명]으로 만들어 줍니다.

     

     

    다음으로 클러스터를 사용하려면 인증 크레덴셜(암호화된 자격정보)을 만들어야 합니다.

    크레덴셜을 가져오기 위해서 다음의 명령어를 수행해 봅시다.

    gcloud container get credentials [클러스터명]

     

    클러스터도 만들었고, 다음으로 애플리케이션이 컨테이너화 되어 있다면,

    클러스터로 배포할 수도 있습니다.

    배포를 통해서 우리는 stateless application의 배포를 할 수 있고,

    서비스를 통해서 로드밸런서 등을 정의할 수 있습니다.

     

     

     

    배포를 하기 위해서 쿠버네티스의 cli인 kubectl를 사용해 배포를 만드는 명령어를 입력합니다.

    kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0

     

    'hello-server라는 배포를 만드는데, 

    image gcr.io/google-samples/hello-app으로 부터 가져오고, 버전은 1.0을 가져오도록 한다.'

     

    다음으로 쿠버네티스 서비스를 만들어 보겠습니다.

    kubectl expose deployment hello-server

    --type=LoadBalancer --port 8080

    hello-sever에 대한 외부 노출 포트를 8080으로 열고, 로드밸런서로 서비스를 만들어 보겠습니다.

     

     

     

    다음으로 이 내용은 생성된 서비스를 가져오는 내용입니다.

    kubectl get service를 통해 동작시킬 수 있으며, 제대로 만들어진 것을 확인할 수 있습니다.

    외부 IP를 확인해서 브라우저에 입력해 보세요.

     

    모두 확인한 후, 클러스터를 삭제해 봅시다.

     

     

    이번 랩을 통해서 GKE와 쿠버네티스 클러스터, 서비스, 노드에 대한 개념을

    간략하게 배워 보았습니다. 

     

    다음 랩에서 뵙겠습니다!

    728x90
    반응형
Designed by Tistory.