-
-
Save Tambunan26/9063521fdf406645aad4527ccd069149 to your computer and use it in GitHub Desktop.
Task 1: Create a project jumphost instance | |
Navigation menu > Compute engine > VM Instance | |
Task 2: Create a Kubernetes service cluster | |
gcloud config set compute/zone us-east1-b | |
gcloud container clusters create nucleus-webserver1 | |
gcloud container clusters get-credentials nucleus-webserver1 | |
kubectl create deployment hello-app --image=gcr.io/google-samples/hello-app:2.0 | |
kubectl expose deployment hello-app --type=LoadBalancer --port 8080 | |
kubectl get service | |
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 | |
1 .Create an instance template : | |
gcloud compute instance-templates create nginx-template \ | |
--metadata-from-file startup-script=startup.sh | |
2 .Create a target pool : | |
gcloud compute target-pools create nginx-pool | |
3 .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 | |
gcloud compute instances list | |
4 .Create a firewall rule to allow traffic (80/tcp) : | |
gcloud compute firewall-rules create www-firewall --allow tcp:80 | |
gcloud compute forwarding-rules create nginx-lb \ | |
--region us-east1 \ | |
--ports=80 \ | |
--target-pool nginx-pool | |
gcloud compute forwarding-rules list | |
5 .Create a health check : | |
gcloud compute http-health-checks create http-basic-check | |
gcloud compute instance-groups managed \ | |
set-named-ports nginx-group \ | |
--named-ports http:80 | |
6 .Create a backend service and attach the manged instance group : | |
gcloud compute backend-services create nginx-backend \ | |
--protocol HTTP --http-health-checks http-basic-check --global | |
gcloud compute backend-services add-backend nginx-backend \ | |
--instance-group nginx-group \ | |
--instance-group-zone us-east1-b \ | |
--global | |
7 .Create a URL map and target 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 | |
8 .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 list |
how you have resolved that error?
How do I rename the firewall rule on shell ?
Im not able to create backend services it says could not fetch resourses
please pass region or zone as argument then try again
Hello guys,
I was doing this lab as well and encountered exactly the same problem list above. Waiting several minutes didn't let me escape from "Earned point: 40" load balancer error. I kept trying and even exhausted my 5 time quota for a specific lab, so I wrote to Qwiki support for help.
Basically they returned some instructions identical to this gist, but these points may help:
- Watch your
startup.sh
content.
The system seems to check your load balancer working by visiting your frontend, cache the page they get, until they see different hostnames. So line 28sed -i -- 's/nginx/Google Cloud Platform - '"\$HOSTNAME"'/' /var/www/html/index.nginx-debian.html
is very important. Do not have an unexpected space or line break in it.- Try using VPC network
nucleus-vpc
instead.
The Qwiki project is provisioned with two VPC networks.
Using default VPC network should not effect this lab practically, but I added specification--network nucleus-vpc
when creating instance templates and firewall.- Click Check my progress AFTER manually browsing your frontend address.
If your load balancer works correctly, you should be able to connect to your nginx services via the IP listed ongcloud compute forwarding-rules list
. Open another browser page and visit it. If you do so right after creating the forwarding rule, you should get an HTTP 404 error, which is normal. Wait and reload until it can gives you 2 versions of Nginx page WITH your backend VM hostname.Hope you all can defeat this lab! I spent 2 nights on this.
Thanks for this @kingwilly71!
Crie o site por trás do balanceador de carga HTTP Verifique se os servidores da Web estão servindo no frontend do balanceador de carga HTTP(s) Estou recebendo este erro, por favor, alguém o resolveu
Siga este link
https://gist.github.com/Tambunan26/9063521fdf406645aad4527ccd069149#gistcomment-3915060
Resolvi desta forma:
gcloud compute firewall-rules create grant-tcp-rule-408
--network=default
--action=allow
--direction=ingress
--source-ranges=130.211.0.0/22,35.191.0.0/16
--rules=tcp:80
Crie o site por trás do balanceador de carga HTTP Verifique se os servidores da Web estão servindo no frontend do balanceador de carga HTTP(s) Estou recebendo este erro, por favor, alguém o resolveu
Siga este link
https://gist.github.com/Tambunan26/9063521fdf406645aad4527ccd069149#gistcomment-3915060Resolvi desta forma:
gcloud compute firewall-rules create grant-tcp-rule-408 --network=default --action=allow --direction=ingress --source-ranges=130.211.0.0/22,35.191.0.0/16 --rules=tcp:80
This command resolve the problem, many thanks
If you are not doing it right in command line, you can see this video that shows how to run this Lab without command line. https://www.youtube.com/watch?v=zv25HHm8kmA
If you are not doing it right in command line, you can see this video that shows how to run this Lab without command line. https://www.youtube.com/watch?v=zv25HHm8kmA
@cespirandelli some actions seem to be under the hood there, I am talking about target-pool, url map and a forwarding rule. right?
Thanks bro! 🥇
I was able complete 3rd task with
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
service nginx start
EOF
gcloud compute instance-templates create nginx-template --metadata-from-file startup-script=startup.sh
gcloud compute target-pools create nginx-poolgcloud compute instance-groups managed create nginx-group --base-instance-name nginx --size 2 --template nginx-template --target-pool nginx-pool
gcloud compute firewall-rules create permit-tcp-rule-733 --allow tcp:80
gcloud compute forwarding-rules create nginx-lb --region us-east1 --ports=80 --target-pool nginx-pool
gcloud compute http-health-checks create http-basic-checkgcloud compute target-pools add-health-checks nginx-pool --http-health-checks http-basic-check --region us-east1
gcloud compute instance-groups managed set-named-ports nginx-group --named-ports http:80 --zone=us-east1-c
gcloud compute backend-services create nginx-backend --protocol HTTP --http-health-checks http-basic-check --global
gcloud compute backend-services add-backend nginx-backend --instance-group nginx-group --instance-group-zone us-east1-c --global
gcloud compute url-maps create web-map --default-service nginx-backend
gcloud compute target-http-proxies create http-lb-proxy --url-map web-map
gcloud compute forwarding-rules create http-content-rule --global --target-http-proxy http-lb-proxy --ports 80
"Please verify the web servers are serving on frontend of HTTP(s) Load Balancer"
For this specific error if you have steps right, I think its in the Progress checker the issue is, beside creating the FW Rule with the dynamic name generated in Description, add identically rule:
gcloud compute firewall-rules create web-server-firewall --allow tcp:80 --network VPC_NAME
Fixed it immediatly for me, so its the name that is the issue
thank you so much 🙏🥂
I was getting the error "Please create the managed instance group with 2 nginx web server" after doing everything, and using the command gcloud compute instance-groups managed set-named-ports YOUR_MANAGED_INSTANCE_GROUP_NAME --named-ports http:80 --zone=YOUR_ZONE
solved it for me and I could get the final check in the lab.
Crie o site por trás do balanceador de carga HTTP Verifique se os servidores da Web estão servindo no frontend do balanceador de carga HTTP(s) Estou recebendo este erro, por favor, alguém o resolveu
Siga este link
https://gist.github.com/Tambunan26/9063521fdf406645aad4527ccd069149#gistcomment-3915060Resolvi desta forma:
gcloud compute firewall-rules create grant-tcp-rule-408 --network=default --action=allow --direction=ingress --source-ranges=130.211.0.0/22,35.191.0.0/16 --rules=tcp:80
That did it! Thank you so much.
gcloud compute instance-groups managed set-named-ports YOUR_MANAGED_INSTANCE_GROUP_NAME --named-ports http:80 --zone=YOUR_ZONE
Thank you so much for this. This worked for me. Thanks a bunch!
Thank you for this @Tambunan26 . @namratajanawade thanks as well I also encounter same message after all the load balancing steps and just tested it via browser as described in Task 6.