Solution To Set up and Configure a Cloud Environment : Challenge Lab
Solution To Set up and Configure a Cloud Environment : Challenge Lab
Disclaimer: Please this blog was meant for those who have gotten stuck whilst taking the third challenge lab on the Qwiklabs Platform. You can also read this before you take the lab too, no problem, but please do keep in mind you’ve to understand all the concepts as you go through the lab.
Let’s set the ball rolling
TASK 1: Create development VPC manually.
Step 1: Go to Navigation Menu. Scroll down and find VPC Network.
Step 2: In VPC Network, click on Create VPC Network and then enter following details:
VPC Name: griffin-prod-vpc
Subnet : griffin-prod-wp
Region : us-east1
IP address ranges : 192.168.48.0/20
Click Add Subnet…
Subnet : griffin-prod-mgmt
Region : us-east1
IP address ranges : 192.168.64.0/20
Step 3: click Create.
TASK 2: Create production VPC manually OR
TASK 2: Create production VPC using Deployment Manager
gsutil cp -r gs://cloud-training/gsp321/dm .
cd dm
sed -i s/SET_REGION/us-east1/g prod-network.yaml
gcloud deployment-manager deployments create prod-network \ — config=prod-network.yaml
cd ..
TASK 3: Create bastion host
With the commands below, execute one at a time in the cloud shell.
gcloud compute instances create bastion — network-interface=network=griffin-dev-vpc,subnet=griffin-dev-mgmt — network-interface=network=griffin-prod-vpc,subnet=griffin-prod-mgmt — tags=ssh — zone=us-east1-b
gcloud compute firewall-rules create fw-ssh-dev — source-ranges=0.0.0.0/0 — target-tags ssh — allow=tcp:22 — network=griffin-dev-vpc
gcloud compute firewall-rules create fw-ssh-prod — source-ranges=0.0.0.0/0 — target-tags ssh — allow=tcp:22 — network=griffin-prod-vpc
TASK 4: Create and configure Cloud SQL Instance
gcloud sql instances create griffin-dev-db — root-password password — region=us-east1
gcloud sql connect griffin-dev-db
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO “wp_user”@”%” IDENTIFIED BY “stormwind_rules”;
FLUSH PRIVILEGES;
TASK 5: Create Kubernetes cluster
gcloud container clusters create griffin-dev \
— network griffin-dev-vpc \
— subnetwork griffin-dev-wp \
— machine-type n1-standard-4 \
— num-nodes 2 \
— zone us-east1-b
gcloud container clusters get-credentials griffin-dev — zone us-east1-b
cd ~/
TASK 6: Prepare the Kubernetes cluster
gsutil cp -r gs://cloud-training/gsp321/wp-k8s .
cd wp-k8s
sed -i s/username_goes_here/wp_user/g wp-env.yaml
sed -i s/password_goes_here/stormwind_rules/g wp-env.yaml
kubectl create -f wp-env.yaml
gcloud iam service-accounts keys create key.json — iam-account=cloud-sql-proxy@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com
kubectl create secret generic cloudsql-instance-credentials — from-file key.json
I=$(gcloud sql instances describe griffin-dev-db — format=”value(connectionName)”)
sed -i s/YOUR_SQL_INSTANCE/$I/g wp-deployment.yaml
kubectl create -f wp-deployment.yaml
kubectl create -f wp-service.yaml
TASK 7 : Create a WordPress deployment
Step 1: Go to Navigation Menu, Scroll down and find Kubernetes Engine
Step 2: In Kubernetes Engine, Open Workloads. Then click on WordPress and under Exposing services open that endpoints to confirm WordPress is working. (Copy the IP address there. We’ll use it in Task 8)
TASK 8 : Enable monitoring
Step 1: Go to Navigation Menu, Scroll down and find Monitoring, then open that and click on uptime checks.
Step 2: In uptime checks, click CREATE UPTIME CHECK…
Step 3: use title as: wp check
Click next
In the hostname, paste your endpoints (the IP Address from Task 7, without the https://)
Click next
For Path, use /
Click next
Click next
Click Test (check if you receive 200 OK)
Finally, click Create
TASK 9: Provide access for an additional engineer
Step 1: Go to Navigation Menu, Find IAM & Admin
Step 2: In IAM, click ADD
New member as : Your Username 2 copy that and paste it there
In Role: Select Editor.
Click Save
You’ve successfully completed the third challenge lab.