Thursday, 6 February 2020

Kuberntes #1 : deploy and scaling Kubenetes on GCP

Teknologi IT berkembang sangat pesat. itu berpengaruh pada culture perpindahan dari monolith menjadi microservices. Microservices adalah memecah sebuah aplikasi besar atau utuh dalam satu server menjadi beberapa server yang menjalankan 1 service aplikasi.

Kubernetes memberikan kemudahan dalam melakukan deployment dan scaling aplikasi. Kemudahan dan kecepatan dalam deployment menjadi faktor yang membuat kubernetes menjadi pilihan. Aplikasi tersebut terdiri dari service - service kecil yang bekerja sesuai job yang diberikan. Ketika mengalami kegagalan salah satu service, maka service yang lain tidak mengalami gangguan.

Scaling adalah proses menambah resource atau mengurangi resource ketika suatu kondisi tertentu terpenuhi. scaling ada 2 yaitu scaling up - down ( menambahkan sumber daya server dengan meningkatkan spesifikasi server, misalnya RAM, Storage, dan CPU ) dan scaling out - in ( menambahkan sumber daya dengan membuat service baru untuk mengurangi beban service yang sudah di deploy terlebih dahulu ).

Deployment Kubernetes on GCP

1. login terlebih dahulu ke akun GCP
2. buat Environment variabel. Environment variabel ini berfungi untuk memudahkan ketika deployment. tidak perlu mememasukkan kembali nama atau apapun itu, cukup memanggil environment variabel yang sudah dibuat.
deploy and scaling kubernetes GCP

3. kemudian buat cluster untuk deployment. tentukan berapa banyak nodes yang ingin dideploy.
deploy and scaling kubernetes GCP

ketika melakukan deployment cluster ingin melakukan penambahan julah node yang sudah dideploy, dapat memasukkan ulang jumlah nodesnya.
deploy and scaling kubernetes GCP

jumlah nodes dapat di monitor, mengenai load pada setiap nodes
deploy and scaling kubernetes GCP

4. setelah melakukan deployment, minta hak akses untuk meremote cluster tersebut dengan get-credentials.
deploy and scaling kubernetes GCP

dapat melihat config yang cluster yang sudah dideploy dalam format JSON.
deploy and scaling kubernetes GCP

dapat melihat informasi mengenai cluster yang sudah dideploy
deploy and scaling kubernetes GCP

5. setelah itu dapat mengaktifkan fitur auto-complet. ini memudahkan ketika memasukkan command dan meminimalisir kesalahan dalam memasukkan command.
deploy and scaling kubernetes GCP

berikut command yang ada dalam kubernetes
deploy and scaling kubernetes GCP

6. deployment service. contoh kali ini akan melakukan deploy nginx. setelah selesai dapat melihat apakah pod nginx telah running dan terdapat status yang akan memberikan indikasi.
deploy and scaling kubernetes GCP

7. melakukan pengubahan tampilan pada nginx. sebelumnya create file .html. dapat menggunakan nano, vim dll. gunakan yang kalian bisa
deploy and scaling kubernetes GCP

kemudian upload file tersebut ke pod nginx. agar dapat diakses dari luar maka harus diexpose terlebih dahulu portnya, kali ini menggunakan port 80 dan type nya loadbalancer. lakukan akses nginx dengan http://<alamat ip>:80
deploy and scaling kubernetes GCP


Kesimpulan
Kubernetes memberikan kemudahan dalam manage dan maintenance microservices. Kecepatan dalam scaling memberikan service yang ditawarkan tidak mengalami down meskipun banyak yang mengakses.


EmoticonEmoticon