Created
December 2, 2022 08:08
-
-
Save vanduc1102/7b1ba089309f1129cd0b97d8e5f97767 to your computer and use it in GitHub Desktop.
This file contains 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
INSTANCE_NAME=nucleus-jumphost-570 | |
PORT=8080 | |
REGION=us-west4 | |
ZONE=us-west4-a | |
FIREWALL_RULE=allow-tcp-rule-698 | |
# setup | |
gcloud config set compute/zone $ZONE | |
gcloud config set compute/region $REGION | |
# Task 1 | |
gcloud compute instances create $INSTANCE_NAME --machine-type=f1-micro | |
# Task 2 | |
gcloud container clusters create --machine-type=n1-standard-1 --zone=$ZONE nucleus-cluster | |
gcloud container clusters get-credentials nucleus-cluster | |
kubectl create deployment nucleus-server --image=gcr.io/google-samples/hello-app:2.0 | |
kubectl expose deployment nucleus-server --type=LoadBalancer --port $PORT | |
kubectl get service -w | |
# Task 3 | |
gcloud compute instance-templates create nuclues-backend-template \ | |
--network=default \ | |
--subnet=default \ | |
--tags=allow-health-check \ | |
--machine-type=f1-micro \ | |
--image-family=debian-11 \ | |
--image-project=debian-cloud \ | |
--metadata-from-file=startup-script=./start-up.sh | |
gcloud compute instance-groups managed create nucleus-backend-group \ | |
--template=nuclues-backend-template --size=2 | |
gcloud compute firewall-rules create $FIREWALL_RULE \ | |
--network=default \ | |
--action=allow \ | |
--direction=ingress \ | |
--target-tags=allow-health-check \ | |
--rules=tcp:80 | |
gcloud compute addresses create nucleus-ipv4-1 \ | |
--ip-version=IPV4 \ | |
--global | |
gcloud compute addresses describe nucleus-ipv4-1 \ | |
--format="get(address)" \ | |
--global | |
gcloud compute health-checks create http nucleus-http-basic-check --port 80 | |
gcloud compute backend-services create nucleus-web-backend-service \ | |
--protocol=HTTP \ | |
--port-name=http \ | |
--health-checks=nucleus-http-basic-check \ | |
--global | |
gcloud compute backend-services add-backend nucleus-web-backend-service \ | |
--instance-group=nucleus-backend-group \ | |
--global | |
gcloud compute url-maps create nucleus-web-map-http \ | |
--default-service nucleus-web-backend-service | |
gcloud compute target-http-proxies create nucleus-http-lb-proxy \ | |
--url-map nucleus-web-map-http | |
gcloud compute forwarding-rules create http-content-rule \ | |
--address=nucleus-ipv4-1\ | |
--global \ | |
--target-http-proxy=nucleus-http-lb-proxy \ | |
--ports=80 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment