Pada kali ini kita akan coba untuk melakukan deployment service kita ke dalam Server Google Cloud Platform. Pada Google Cloud sudah disediakan khusus untuk deployment berbentuk Kubernetes yaitu berupa Google Kubernetes Engine sehingga ketika kita ingin mendeploy service kita menjadi lebih mudah.
Perlu diketahui juga, jika kita belum berlangganan google cloud maka kita perlu terlebih dahulu melakukan langganan atau daftar secara gratis bagi tahun pertama untuk bisa menggunakan google cloud dengan akun gmail masing-masing.
Jadi, kita coba akses website google cloud pada situs ini Google Cloud dan pilih console atau daftar jika belum memiliki akses ke dalam Google Cloud.
Membuat Kubernetes Cluster
Persiapan jika kita ingin mendeploy service kita di GKE maka perlu dilakukan tahapan-tahapan seperti berikut ini.
- Create Cluster Kubernetes pada Google cloud, jika ingin lebih paham baca beberapa step disana dan bisa juga kita lakukan custom dari mulai spesifikasi virtual cloud seperti kebutuhan memory, cpu dan lainnya.

- Pilih tombol create setelah semua konfigurasi sudah setting, atau jika ingin default maka langsung saja tekan tombol create sampai tunggu cluster tersebut sukses dibuat seperti dibawah ini.

- Jika sudah selesai kita lanjut dengan pilih
Connectke dalam cluster yang sudah kita buat.
- Maka akan muncul pop up dan lalu copy terminalnya dan pilih
Run in Cloud Shell
- Akan muncul terminal di tampilan paling bawah lalu enter dan tunggu sampai selesai semuanya berjalan.
Jika sudah terlihat pada terminal seperti dibawah ini berarti proses sudah selesai
1ihsan_android@cloudshell:~ (genial-upgrade-162704)$ gcloud container clusters get-credentials voting-app --region asia-southeast1 --project genial-upgrade-162704 2Fetching cluster endpoint and auth data. 3kubeconfig entry generated for voting-app.
Clone YAML File
Siapkan template file YAML yang sebelumnya kita sudah buatkan atau bisa clone di github ini
1git clone https://github.com/santekno/kubernetes-for-beginners
2cd kubernetes-for-beginners/
3ls -l
4total 20
5drwxr-xr-x 7 ihsan_android ihsan_android 4096 Mar 25 07:03 demo
6drwxr-xr-x 2 ihsan_android ihsan_android 4096 Mar 25 07:03 deployments
7drwxr-xr-x 2 ihsan_android ihsan_android 4096 Mar 25 07:03 pod
8drwxr-xr-x 2 ihsan_android ihsan_android 4096 Mar 25 07:03 replicasets
9drwxr-xr-x 2 ihsan_android ihsan_android 4096 Mar 25 07:03 services1kubectl create -f demo/voting-app/voting-app-deployment.yaml
2kubectl create -f demo/voting-app/voting-app-service.yaml
3kubectl create -f demo/result-app/result-app-deployment.yaml
4kubectl create -f demo/result-app/result-app-service.yaml
5kubectl create -f demo/redis/redis-deployment.yaml
6kubectl create -f demo/redis/redis-service.yaml
7kubectl create -f demo/postgres/postgres-deployment.yaml
8kubectl create -f demo/postgres/postgres-service.yaml
9kubectl create -f demo/worker-app/worker-app-deployment.yamlTunggu beberapa menit atau lihat untuk memastikan statusnya sudah berjalan atau belum dengan perintah dibawah ini
1kubectl get svc,deployment,pods 1NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
2service/db ClusterIP 34.118.225.53 <none> 5432/TCP 44s
3service/kubernetes ClusterIP 34.118.224.1 <none> 443/TCP 36m
4service/redis ClusterIP 34.118.230.85 <none> 6379/TCP 45s
5service/result-service LoadBalancer 34.118.239.230 <pending> 80:30140/TCP 47s
6service/voting-service LoadBalancer 34.118.230.44 <pending> 80:31376/TCP 50s
7
8NAME READY UP-TO-DATE AVAILABLE AGE
9deployment.apps/postgres-deployment 0/1 1 0 45s
10deployment.apps/redis-deployment 0/1 1 0 46s
11deployment.apps/result-app-deployment 0/1 1 0 47s
12deployment.apps/voting-app-deployment 0/3 3 0 51s
13deployment.apps/worker-app-deployment 0/3 3 0 42s
14
15NAME READY STATUS RESTARTS AGE
16pod/postgres-deployment-c9fdd58fd-ftljj 0/1 Pending 0 45s
17pod/redis-deployment-5989f8dddf-jbtrg 0/1 Pending 0 46s
18pod/result-app-deployment-5d9f49b9ff-mrc2g 0/1 Pending 0 47s
19pod/voting-app-deployment-65684bb646-5q2gc 0/1 Pending 0 49s
20pod/voting-app-deployment-65684bb646-6cbph 0/1 Pending 0 49s
21pod/voting-app-deployment-65684bb646-rgr56 0/1 Pending 0 50s
22pod/worker-app-deployment-fd4cb7b6d-4wmg2 0/1 Pending 0 42s
23pod/worker-app-deployment-fd4cb7b6d-6p4j5 0/1 Pending 0 42s
24pod/worker-app-deployment-fd4cb7b6d-nl25s 0/1 Pending 0 42s
Jika kita ingin melihat IP Public dari service voting-app dan result-app maka kita perlu lihat di workfload menu

Bisa kita lihat IP Public voucher tersebut dengan tampilan seperti ini.

Jika sudah mendapatkan IP Address Public-nya maka akan tampil pada browser seperti ini.

