https://partner.cloudskillsboost.google/focuses/11604?parent=catalog
Jooli, Inc.에서 주니어 클라우드 엔지니어로 새로운 역할을 시작하셨습니다. Jooli에서 인프라 관리를 도우셔야 합니다. 일반적인 작업에는 프로젝트에 대한 리소스 프로비저닝이 포함됩니다.
이러한 작업에 대한 기술과 지식이 있어야 하므로 단계별 가이드는 제공되지 않습니다.
준수해야 하는 몇 가지 Jooli, Inc. 표준:
달리 지시하지 않는 한 기본 리전 또는 영역에 모든 리소스를 만듭니다.
이름 지정은 일반적으로 team-resource 형식을 사용합니다 . 예를 들어, 인스턴스의 이름은 nucleus-webserver1 로 지정할 수 있습니다 .
비용 효율적인 리소스 크기를 할당합니다. 프로젝트가 모니터링되고 과도한 리소스 사용으로 인해 포함하는 프로젝트(및 귀하의 프로젝트)가 종료되므로 신중하게 계획하십시오. 이것은 모니터링 팀이 공유하고자 하는 지침입니다. 지시가 없는 한 소규모 Linux VM에는 f1-micro 를 사용 하고 Windows 또는 Kubernetes 노드와 같은 기타 애플리케이션에는 n1-standard-1 을 사용합니다.
VM 생성
gcloud compute instances create nucleus-jumphost-606 \ --zone="us-east1-b" \ --machine-type=f1-micro \ --boot-disk-size=10GB
클러스터 생성
gcloud container clusters create --machine-type=n1-standard-1 --zone=us-east1-b nucleus-cluster
디플로이먼트 생성
kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:2.0
서비스 노출
kubectl expose deployment hello-server --type=LoadBalancer --port 8083
요구 사항
<defult region,zone>
gcloud config set compute/region us-east1
gcloud config set compute/zone us-east1-b
Create an instance template.
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
gcloud compute instance-templates create nginx-template \ --metadata-from-file startup-script=startup.sh
Create a target pool.
gcloud compute target-pools create nginx-pool
Create a managed instance group.
gcloud compute instance-groups managed create nginx-group \ --base-instance-name nginx \ --size 2 \ --template nginx-template \ --target-pool nginx-pool
Create a firewall rule named as Firewall rule to allow traffic (80/tcp).
gcloud compute firewall-rules create grant-tcp-rule-216 --allow tcp:80
Create a health check.
gcloud compute http-health-checks create http-check
Create a backend service, and attach the managed instance group with named port (http:80).
gcloud compute backend-services create nginx-backend \ --protocol HTTP --http-health-checks http-check --global
gcloud compute instance-groups managed set-named-ports nginx-group --named-ports http:80
Create a URL map, and target the HTTP proxy to route requests to your URL map.
gcloud compute url-maps create web-map \ --default-service nginx-backend
gcloud compute target-http-proxies create http-lb-proxy --url-map web-map
Create a forwarding rule.
gcloud compute forwarding-rules create http-content-rule --global --target-http-proxy http-lb-proxy --ports 80
gcloud compute forwarding-rules create nginx-lb --region us-east1 --ports=80 --target-pool nginx-pool
gcloud compute backend-services add-backend nginx-backend \ --instance-group nginx-group \ --instance-group-zone us-east1-b \ --global
target pool 이란?
target pool 리소스는 forwarding rule에서 들어오는 트래픽을 수신하는 인스턴스 그룹을 정의함.
주의 사항
forwarding rule?
인터넷에서 들어오는 요청을 target http proxy로 전달
URL map 이란?
HTTP Proxy?
내결함성과 고가용성 차이
내결함성은 (FT)Fault tolerance로 고가용 성과 마찬가지로 내결함성은 다운 타임을 최소화하도록 설계되었지만