Created
June 5, 2021 14:33
-
-
Save SarsTW/dfdc87e673cd4e5fdda3fcb591c79b2a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| gcloud config set compute/region us-east1 | |
| gcloud config set compute/zone us-east1-b | |
| # Task 1: Create a project jumphost instance | |
| gcloud compute instances create nucleus-jumphost \ | |
| --network nucleus-vpc \ | |
| --machine-type f1-micro | |
| # Task 2: Create a Kubernetes service cluster | |
| gcloud container clusters create nucleus-k8s --num-nodes 1 | |
| gcloud container clusters get-credentials nucleus-k8s | |
| kubectl create deployment hello-server \ | |
| --image=gcr.io/google-samples/hello-app:2.0 | |
| kubectl expose deployment hello-server \ | |
| --type=LoadBalancer \ | |
| --port 8080 | |
| # Task 3: Set up an HTTP load balancer | |
| 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 web-server-template \ | |
| --metadata-from-file startup-script=startup.sh \ | |
| --machine-type g1-small | |
| gcloud compute instance-groups managed create web-server-group \ | |
| --base-instance-name web-server \ | |
| --size 2 \ | |
| --template web-server-template | |
| gcloud compute firewall-rules create web-server-firewall \ | |
| --allow tcp:80 | |
| gcloud compute http-health-checks create http-basic-check | |
| gcloud compute instance-groups managed \ | |
| set-named-ports web-server-group \ | |
| --named-ports http:80 | |
| gcloud compute backend-services create web-server-backend \ | |
| --protocol HTTP \ | |
| --http-health-checks http-basic-check \ | |
| --global | |
| gcloud compute backend-services add-backend web-server-backend \ | |
| --instance-group web-server-group \ | |
| --instance-group-region us-east1 \ | |
| --global | |
| 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 | |
| gcloud compute forwarding-rules create http-content-rule \ | |
| --global \ | |
| --target-http-proxy http-lb-proxy \ | |
| --ports 80 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment