Skip to content

Commit 755c615

Browse files
Merge pull request #26 from devdattakulkarni/Containers
Updated manual deployment steps for GKE example
2 parents 42366eb + 2bc21cc commit 755c615

1 file changed

Lines changed: 30 additions & 1 deletion

File tree

Containers/Kubernetes-examples/GCP/steps.txt

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
Steps for deploying a stateful containerized application on GKE
22
----------------------------------------------------------------
3+
4+
1) Install Docker and gcloud CLI
35
Create free tier EC2 instance
46
- create Ubuntu 16.04 EC2 instance (free tier). Allow ingress for port 22 from anywhere (0.0.0.0/0)
57
SSH into EC2 instance
@@ -11,25 +13,49 @@ cd Containers/Kubernetes-examples/GCP/
1113
./install-docker-ubuntu.sh
1214
exit from EC2 instance
1315
SSH back into EC2 instance
16+
17+
18+
2) Configure authentication for gcloud CLI
1419
gcloud auth login <your-gmail-address>
1520
Create Project in Google Cloud Console
1621
export PROJECT_ID=<Project-ID-from-previous-step>
1722
export CLOUDSDK_COMPUTE_ZONE=us-central1-b
1823
gcloud config set project ${PROJECT_ID}
24+
25+
26+
3) Build and Push Application Docker container to Google Container Registry (GCR)
1927
cd greetings
2028
docker build -t gcr.io/${PROJECT_ID}/greetings:v1 .
2129
gcloud docker -- push gcr.io/${PROJECT_ID}/greetings:v1
30+
31+
32+
4) Create a GKE cluster
2233
gcloud container clusters create --machine-type=g1-small --num-nodes=1 testcluster1
34+
35+
36+
5) Create a Google Cloud SQL instance
2337
gcloud sql instances create instance1 --tier=db-f1-micro --authorized-networks=0.0.0.0/0
24-
gcloud components install kubectl
38+
39+
40+
6) Create testdb database on the Cloud SQL instance
2541
gcloud sql users set-password root % --instance instance1 --password 'testpass123!@#'
2642
sudo apt-get install mysql-client
2743
gcloud sql instances list
2844
mysql -h <IP-address-of-SQL-Instance> --user=root --password='testpass123!@#'
2945
mysql>create database testdb;
46+
47+
48+
7) Install kubectl
49+
gcloud components install kubectl
50+
51+
52+
8) Deploy application container
3053
Edit greetings-deployment.yaml and set the environment variables
3154
kubectl create -f greetings-deployment.yaml
3255
kubectl expose deployments --port=80 --target-port=5000 --type=LoadBalancer greetings-deployment
56+
57+
58+
9) Verify if relevant Kubernetes Objects have been created or not
3359
kubectl get services
3460
kubectl get deployments
3561
kubectl get pods
@@ -38,6 +64,9 @@ kubectl describe deployments <deployment-name>
3864
kubectl describe service <service-name>
3965
Once you get EXTERNAL-IP of the service, open it up in browser (It may take couple of minutes for the application to respond)
4066
kubectl logs <pod-name>
67+
68+
69+
10) Clean-up steps (Do these only after your assignment has been graded)
4170
kubectl delete service <service-name>
4271
kubectl delete deployment <deployment-name>
4372
Delete the GKE cluster from Google Cloud Console

0 commit comments

Comments
 (0)