├── GSP313 Create and Manage Cloud Resources: Challenge Lab └── README.md /GSP313 Create and Manage Cloud Resources: Challenge Lab: -------------------------------------------------------------------------------- 1 | Lab Name: Create and Manage Cloud Resources: Challenge Lab (GSP313) 2 | 3 | 4 | Task 1: Create a project jumphost instance 5 | Run command: 6 | 7 | gcloud compute instances create nucleus-jumphost \ 8 | --network nucleus-vpc \ 9 | --zone us-east1-b \ 10 | --machine-type f1-micro \ 11 | --image-family debian-9 \ 12 | --image-project debian-cloud \ 13 | --scopes cloud-platform \ 14 | --no-address 15 | 16 | 17 | Task 2: Create a Kubernetes service cluster 18 | Run command: 19 | 20 | gcloud container clusters create nucleus-backend \ 21 | --num-nodes 1 \ 22 | --network nucleus-vpc \ 23 | --region us-east1 24 | gcloud container clusters get-credentials nucleus-backend \ 25 | --region us-east1 26 | 27 | kubectl create deployment hello-server \ 28 | --image=gcr.io/google-samples/hello-app:2.0 29 | 30 | kubectl expose deployment hello-server \ 31 | --type=LoadBalancer \ 32 | --port 8080 33 | 34 | Task 3: Set up an HTTP load balancer 35 | Run command: 36 | 37 | cat << EOF > startup.sh 38 | #! /bin/bash 39 | apt-get update 40 | apt-get install -y nginx 41 | service nginx start 42 | sed -i -- 's/nginx/Google Cloud Platform - '"\$HOSTNAME"'/' /var/www/html/index.nginx-debian.html 43 | EOF 44 | 45 | 46 | gcloud compute instance-templates create web-server-template \ 47 | --metadata-from-file startup-script=startup.sh \ 48 | --network nucleus-vpc \ 49 | --machine-type g1-small \ 50 | --region us-east1 51 | 52 | 53 | gcloud compute instance-groups managed create web-server-group \ 54 | --base-instance-name web-server \ 55 | --size 2 \ 56 | --template web-server-template \ 57 | --region us-east1 58 | 59 | 60 | gcloud compute firewall-rules create web-server-firewall \ 61 | --allow tcp:80 \ 62 | --network nucleus-vpc 63 | 64 | 65 | gcloud compute http-health-checks create http-basic-check 66 | 67 | gcloud compute instance-groups managed \ 68 | set-named-ports web-server-group \ 69 | --named-ports http:80 \ 70 | --region us-east1 71 | 72 | 73 | gcloud compute backend-services create web-server-backend \ 74 | --protocol HTTP \ 75 | --http-health-checks http-basic-check \ 76 | --global 77 | 78 | gcloud compute backend-services add-backend web-server-backend \ 79 | --instance-group web-server-group \ 80 | --instance-group-region us-east1 \ 81 | --global 82 | 83 | 84 | gcloud compute url-maps create web-server-map \ 85 | --default-service web-server-backend 86 | 87 | gcloud compute target-http-proxies create http-lb-proxy \ 88 | --url-map web-server-map 89 | 90 | 91 | gcloud compute forwarding-rules create http-content-rule \ 92 | --global \ 93 | --target-http-proxy http-lb-proxy \ 94 | --ports 80 95 | 96 | gcloud compute forwarding-rules list 97 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Challenge-lab --------------------------------------------------------------------------------