From 04cc75ef3507d35def6a2beee5b69db4d5e234b2 Mon Sep 17 00:00:00 2001 From: Hiiruki Date: Thu, 7 Sep 2023 08:46:53 +0700 Subject: [PATCH] writeups/google-cloudskillsboost: [GSP313] Create and Manage Cloud Resources: Challenge Lab --- .../GSP313/images/labs_variable.webp | Bin 0 -> 7080 bytes .../GSP313/images/labs_variable2.webp | Bin 0 -> 6976 bytes .../GSP313/images/machine-type.webp | Bin 0 -> 20072 bytes .../GSP313/images/zone_variable_task2.webp | Bin 0 -> 16934 bytes .../google-cloudskillsboost/GSP313/index.md | 253 ++++++++++++++++++ 5 files changed, 253 insertions(+) create mode 100644 content/writeups/google-cloudskillsboost/GSP313/images/labs_variable.webp create mode 100644 content/writeups/google-cloudskillsboost/GSP313/images/labs_variable2.webp create mode 100644 content/writeups/google-cloudskillsboost/GSP313/images/machine-type.webp create mode 100644 content/writeups/google-cloudskillsboost/GSP313/images/zone_variable_task2.webp create mode 100644 content/writeups/google-cloudskillsboost/GSP313/index.md diff --git a/content/writeups/google-cloudskillsboost/GSP313/images/labs_variable.webp b/content/writeups/google-cloudskillsboost/GSP313/images/labs_variable.webp new file mode 100644 index 0000000000000000000000000000000000000000..2dd27aa6c77ab4a2aac158a6a82ce02e8a17aa49 GIT binary patch literal 7080 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 S-$GS&3Q)d;s_AF#H~;{_kIl&d literal 0 HcmV?d00001 diff --git a/content/writeups/google-cloudskillsboost/GSP313/images/labs_variable2.webp b/content/writeups/google-cloudskillsboost/GSP313/images/labs_variable2.webp new file mode 100644 index 0000000000000000000000000000000000000000..dbce1e0764af3f41db989e4d441193e3c9fe2995 GIT binary patch literal 6976 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 literal 0 HcmV?d00001 diff --git a/content/writeups/google-cloudskillsboost/GSP313/index.md b/content/writeups/google-cloudskillsboost/GSP313/index.md new file mode 100644 index 0000000..749ecb9 --- /dev/null +++ b/content/writeups/google-cloudskillsboost/GSP313/index.md @@ -0,0 +1,253 @@ +--- +title: "[GSP313] Create and Manage Cloud Resources: Challenge Lab" +description: "" +summary: "Quest: Create and Manage Cloud Resources" +date: 2023-05-22T08:13:03+07:00 +draft: false +author: "Hiiruki" # ["Me", "You"] # multiple authors +tags: ["writeups", "challenge", "google-cloudskillsboost", "gsp313", "google-cloud", "cloudskillsboost", "juaragcp", "google-cloud-platform", "gcp", "kubernetes", "load-balancer", "cloud-computing"] +canonicalURL: "" +showToc: true +TocOpen: false +TocSide: 'right' # or 'left' +weight: 7 +# aliases: ["/first"] +hidemeta: false +comments: false +disableHLJS: true # to disable highlightjs +disableShare: true +hideSummary: false +searchHidden: false +ShowReadingTime: true +ShowBreadCrumbs: true +ShowPostNavLinks: true +ShowWordCount: true +ShowRssButtonInSectionTermList: true +# UseHugoToc: true +cover: + image: "" # image path/url + alt: "" # alt text + caption: "" # display caption under cover + relative: false # when using page bundles set this to true + hidden: true # only hide on current single page +# editPost: +# URL: "https://github.com/hiiruki/hiiruki.dev/blob/main/content/writeups/google-cloudskillsboost/GSP313/index.md" +# Text: "Suggest Changes" # edit text +# appendFilePath: true # to append file path to Edit link +--- + +### GSP313 + +![Lab Banner](https://cdn.qwiklabs.com/GMOHykaqmlTHiqEeQXTySaMXYPHeIvaqa2qHEzw6Occ%3D#center) + +- Time: 1 hour
+- Difficulty: Introductory
+- Price: 1 Credit + +Lab: [GSP313](https://www.cloudskillsboost.google/focuses/10258?parent=catalog)
+Quest: [Create and Manage Cloud Resources](https://www.cloudskillsboost.google/quests/120)
+ +🔄 Last updated: Sep 7, 2023 + +## Challenge scenario + +You have started a new role as a Junior Cloud Engineer for Jooli, Inc. You are expected to help manage the infrastructure at Jooli. Common tasks include provisioning resources for projects. + +You are expected to have the skills and knowledge for these tasks, so step-by-step guides are not provided. + +Some Jooli, Inc. standards you should follow: + +Create all resources in the default region or zone, unless otherwise directed. + +Naming normally uses the format _team-resource_; for example, an instance could be named **nucleus-webserver1**. + +Allocate cost-effective resource sizes. Projects are monitored, and excessive resource use will result in the containing project's termination (and possibly yours), so plan carefully. This is the guidance the monitoring team is willing to share: unless directed, use **f1-micro** for small Linux VMs, and use **n1-standard-1** for Windows or other applications, such as Kubernetes nodes. + +## Your challenge + +As soon as you sit down at your desk and open your new laptop, you receive several requests from the Nucleus team. Read through each description, and then create the resources. + +## Setup + +Export the following environment variables using the values specific to your labs instruction. + +```bash +export INSTANCE_NAME= +export ZONE= +export REGION= +export PORT= +export FIREWALL_NAME= +``` + +![labs variable](./images/labs_variable.webp#center) + +You can find the zone in Task 2 description. + +![zone_variable_task2](./images/zone_variable_task2.webp#center) + +Region is just the first part of the zone. For example, if the zone is `us-east1-b`, then the region is `us-east1`. + +Example: + +```bash +export INSTANCE_NAME=nucleus-jumphost-295 +export ZONE=us-central1-b +export REGION=us-central1 +export PORT=8080 +export FIREWALL_NAME=accept-tcp-rule-633 +``` + +### Task 1. Create a project jumphost instance + +**_Beware with machine-type, maybe have different with me, dont forget to change_**
+![machine-type](./images/machine-type.webp#center) + +Go to cloud shell and run the following command: + +```bash +gcloud compute instances create $INSTANCE_NAME \ + --network nucleus-vpc \ + --zone $ZONE \ + --machine-type e2-micro \ + --image-family debian-10 \ + --image-project debian-cloud +``` + +### Task 2. Create a Kubernetes service cluster + +Go to cloud shell and run the following command: + +```bash +gcloud container clusters create nucleus-backend \ +--num-nodes 1 \ +--network nucleus-vpc \ +--zone $ZONE + +gcloud container clusters get-credentials nucleus-backend \ +--zone $ZONE +``` + +- Use the Docker container hello-app (`gcr.io/google-samples/hello-app:2.0`) as place holder. + +```bash +kubectl create deployment hello-server \ +--image=gcr.io/google-samples/hello-app:2.0 +``` + +- Expose the app on port `APP_PORT_NUMBER`. + +```bash +kubectl expose deployment hello-server \ +--type=LoadBalancer \ +--port $PORT +``` + +### Task 3. Set up an HTTP load balancer + +1. Create startup-script. + + ```bash + 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 + ``` + +2. Create instance template. + + ```bash + gcloud compute instance-templates create web-server-template \ + --metadata-from-file startup-script=startup.sh \ + --network nucleus-vpc \ + --machine-type g1-small \ + --region $ZONE + ``` + +3. Create target pool. + + ```bash + gcloud compute target-pools create nginx-pool --region=$REGION + ``` + +4. Create managed instance group. + + ```bash + gcloud compute instance-groups managed create web-server-group \ + --base-instance-name web-server \ + --size 2 \ + --template web-server-template \ + --region $REGION + ``` + +5. Create firewall rule named as `FIREWALL_RULE` to allow traffic (80/tcp). + + ```bash + gcloud compute firewall-rules create $FIREWALL_NAME \ + --allow tcp:80 \ + --network nucleus-vpc + ``` + +6. Create health check. + + ```bash + 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 $REGION + ``` + +7. Create backend service, and attach the managed instance group with named port (http:80). + + ```bash + 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 $REGION \ + --global + ``` + +8. Create URL map and target the HTTP proxy to route requests to your URL map. + + ```bash + 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 + ``` + +9. Create forwarding rule. + + ```bash + gcloud compute forwarding-rules create http-content-rule \ + --global \ + --target-http-proxy http-lb-proxy \ + --ports 80 + + gcloud compute forwarding-rules create $FIREWALL_NAME \ + --global \ + --target-http-proxy http-lb-proxy \ + --ports 80 + gcloud compute forwarding-rules list + ``` + +> **Note**: Just wait for the load balancer to finish setting up. It may take a few minutes. If you get an error checkmark, wait a few moments and try again. + +10. Testing traffic sent to your instances. (**Optional**) + +- In the **Cloud Console**, click the **Navigation menu** > **Network services** > **Load balancing**. +- Click on the load balancer that you just created (`web-server-map`). +- In the **Backend** section, click on the name of the backend and confirm that the VMs are **Healthy**. If they are not healthy, wait a few moments and try reloading the page. +- When the VMs are healthy, test the load balancer using a web browser, going to `http://IP_ADDRESS/`, replacing `IP_ADDRESS` with the load balancer's IP address. + +## Congratulations! + +![Congratulations Badge](https://cdn.qwiklabs.com/%2FaI3EMiHeGZc46u89ueTTAEgmRSGj5krSwhpzllr88w%3D#center)