시작하기: 클라우드 리소스 생성 및 관리: 챌린지 랩

이 문서에서는 랩 시작하기: 클라우드 리소스 생성 및 관리를 살펴보겠습니다.



챌린지에는 3가지 필수 작업이 포함되어 있습니다.
  • 프로젝트 Jumphost 인스턴스 생성.
  • Kubernetes 서비스 클러스터 생성.
  • 웹 서버 프런트엔드 생성.
  • 달리 지시하지 않는 한 기본 리전 또는 영역에 모든 리소스를 만듭니다.
  • 이름 지정은 일반적으로 팀 리소스입니다. 인스턴스 이름이 nucleus-webserver1일 수 있음
  • 비용 효율적인 리소스 크기를 할당합니다. 프로젝트를 모니터링하고 과도한 리소스 사용으로 인해 포함된 프로젝트(및 귀하의 것)가 종료되므로 주의하십시오. 이것은 모니터링 팀이 공유하고자 하는 지침입니다. 지시가 없는 한 소규모 Linux VM의 경우 f1-micro를 사용하고 Windows 또는 Kubernetes 노드와 같은 기타 애플리케이션의 경우 n1-standard-1을 사용합니다.

  • 1. 프로젝트 Jumphost 인스턴스 생성

    첫 번째 단계는 Jumphost 인스턴스를 만드는 것입니다.
  • GCP 콘솔에서 탐색 메뉴 > Compute Engine > VM 인스턴스로 이동합니다.


  • 아래 매개변수를 작성하고 시스템 유형 및 이미지 유형을 확인하십시오.
  • 인스턴스의 이름은 nucleus-jumphost
  • 입니다.
  • 지역이 기본 지역이 됨
  • 영역이 기본 영역이 됨
  • 시스템 유형은 f1-micro입니다.
  • 기본 이미지 유형(Debian Linux) 사용
  • 만들기를 클릭합니다
  • .



    2.Kubernetes 서비스 클러스터 생성

    이 단계에서는 Kubernetes 서비스 클러스터를 생성해야 합니다.
  • us-east1 지역에 클러스터를 생성합니다.
  • Docker 컨테이너 hello-app( gcr.io/google-samples/hello-app:2.0 )를 자리 표시자로 사용합니다.
  • 포트 8080에서 앱 열기
  • Cloud Shell을 활성화하고 다음 명령을 작성합니다.

  • gcloud container clusters create nucleus-backend \
              --num-nodes 1 \
              --network nucleus-vpc \
              --region us-east1-b
    gcloud container clusters get-credentials nucleus-backend \
              --region us-east1-b
    
    kubectl create deployment hello-server \
              --image=gcr.io/google-samples/hello-app:2.0
    
    kubectl expose deployment hello-server \
              --type=LoadBalancer \
              --port 8080
    


    Kubernetes 클러스터를 생성합니다.

    3. HTTP 로드 밸런서 설정

    이 단계에서는 Nginx 웹 서버를 통해 사이트를 제공해야 합니다.
  • Cloud Shell을 활성화하고 다음 명령을 복사하여 붙여넣습니다.

  • cat << EOF > startup.sh
    #! /bin/bash
    apt-get update
    apt-get install -y nginx
    service nginx start
    sed -i — ‘s/nginx/Google Cloud Platform — ‘“\$HOSTNAME”’/’ /var/www/html/index.nginx-debian.html
    EOF
    


    이제 두 웹 서버 앞에서 HTTP(s) 로드 밸런서에 대한 단계를 수행해야 합니다.
  • 인스턴스 템플릿 생성:

  • gcloud compute instance-templates create web-server-template \
              --metadata-from-file startup-script=startup.sh \
              --network nucleus-vpc \
              --machine-type g1-small \
              --region us-east1-b
    


  • 대상 풀 생성:

  • gcloud compute target-pools create nginx-pool
    


    3. 관리형 인스턴스 그룹 만들기:

    gcloud compute instance-groups managed create web-server-group \
              --base-instance-name web-server \
              --size 2 \
              --template web-server-template \
              --region us-east1-b
    


    4. 트래픽(80/tcp)을 허용하는 방화벽 규칙 생성 및 상태 확인 생성:

    gcloud compute firewall-rules create web-server-firewall \
              --allow tcp:80 \
              --network nucleus-vpc
    gcloud compute http-health-checks create http-basic-check
    gcloud compute instance-groups managed \
              set-named-ports nginx-group \
              --named-ports http:80
              --region us-east1-b
    


    5. 백엔드 서비스 생성 및 관리형 인스턴스 그룹 연결:

    gcloud compute backend-services create nginx-backend \
             --protocol HTTP 
             --http-health-checks http-basic-check 
             --global
    
    gcloud compute backend-services add-backend nginx-backend \
             --instance-group nginx-group \
             --instance-group-zone us-east1-b \
             --global
    


    6. 요청을 URL 맵으로 라우팅하기 위해 URL 맵 및 대상 HTTP 프록시 생성:

    gcloud compute url-maps create web-server-map \
              --default-service web-server-backend
    gcloud compute target-http-proxies create http-lb-proxy \
              --url-map web-server-map
    


    7. 전달 규칙 만들기:

    gcloud compute forwarding-rules create http-content-rule\
              --global \
              --target-http-proxy http-lb-proxy \
              --ports 80 
    gcloud compute forwarding-rules list
    


    축하합니다! 챌린지 랩 완료.

    좋은 웹페이지 즐겨찾기