[go: up one dir, main page]

0% found this document useful (0 votes)
93 views2 pages

GCP Essentials Challange

The document outlines 3 tasks: 1. Create a jumphost instance to access the Kubernetes cluster 2. Create a Kubernetes cluster and deploy a sample app, exposing it via a load balancer 3. Setup an HTTP load balancer by creating instance templates, groups, firewall rules, backend services and forwarding rules to distribute traffic to the instances

Uploaded by

pramodbn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views2 pages

GCP Essentials Challange

The document outlines 3 tasks: 1. Create a jumphost instance to access the Kubernetes cluster 2. Create a Kubernetes cluster and deploy a sample app, exposing it via a load balancer 3. Setup an HTTP load balancer by creating instance templates, groups, firewall rules, backend services and forwarding rules to distribute traffic to the instances

Uploaded by

pramodbn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

Task 1: Create a project jumphost instance

gcloud compute instances create nucleus-jumphost --machine-type f1-micro --zone us-


east1-b

Task 2: Create a Kubernetes service cluster

gcloud container clusters create nucleus-backend \


--num-nodes 1 \
--network nucleus-vpc \
--region us-east1

gcloud container clusters get-credentials nucleus-backend \


--region us-east1

kubectl create deployment hello-server \


--image=gcr.io/google-samples/hello-app:2.0

kubectl expose deployment hello-server \


--type=LoadBalancer \
--port 8080

kubectl get service

http://[EXTERNAL-IP]:8080

gcloud container clusters delete nucleus-backend

Task 3: Setup 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 \
--network nucleus-vpc \
--machine-type g1-small \
--region us-east1

gcloud compute instance-groups managed create web-server-group \


--base-instance-name web-server \
--size 2 \
--template web-server-template \
--region us-east1

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 web-server-group \
--named-ports http:80 \
--region us-east1

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

gcloud compute forwarding-rules list

You might also like