Afif Syaefudin
Kubernetes adalah platform open-source yang digunakan untuk melakukan manajemen workload aplikasi yang ditempatkan dalam kontainer. Nantinya, kontainer ini menyediakan konfigurasi dan otomatis secara deklaratif. Kubernetes berada dalam ekosistem yang besar dan berkembang cepat, juga sangat fleksibel. Layanan dan support Kubernetes saat ini sudah tersedia secara luas dan banyak digunakan oleh perusahaan-perusahaan besar.
Keuntungan dari penggunakan kubernetes yaitu :
Arsitektur Kubernetes
Pada diagram arsitektur kubernetes diatas terdapat beberapa komponen berbeda yang saling terintegrasi diantaranya adalah :
Tahapan yang dilakukan untuk mendeploy suatu simple flask apps ke kubernetes.
Untuk mengintall docker dekstop kita bisa mendownload nya di platform web resmi docker https://www.docker.com/products/docker-desktop/
Setelah kita mendownload langkah selanjutnya tingga kita install di komputer kita.
Tunggu sampai proses instalasi docker selesai, jika proses instalasi sudah selesai langkah selanjutnya itu kita buka kemudian dan login terlebih dahulu dengan menggunkan akun yang sudah dibuat sebelumnya. Setelah itu kita pilih menu setting, kemudian pilih menu kubernetes dan kita ceklis “Enable Kubernetes” dan “Show system containers (advanced)”
2. Install kubectl
Tahapan selajutnya mengintall kubectl dan minikube karena disini kita akan menggunakan minikube untuk clusternya. Cara install kubectl dapat kita pelajari di https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/
Jika sudah install kubectl lanjut untuk install minikube untuk cara install minikube juga dapat kita lihat di website https://minikube.sigs.k8s.io/docs/start/
Jangan lupa untuk menambahkan path minikube supaya kita dapat menggunnakan nya di cmd atau powershell.
Jika supaya proses intalasi sudah dilakukan semua nya langkah selanjutnya yaitu dengan membuat simple app flask yang akan kita deploy ke kubernetes.
3. Membuat simple app flask python
Kita akan menggunkan simpe app.py ini untuk bahan untuk deploy ke kubernetes. Simple app yang saya buat ini untuk menggenerate ID dengan menggunakan library uuid.
4. Build app ke docker
Setelah kita buat simpe app nya langkah selanjutnya itu build image dengan docker
Hasil build di docker
5. Pembuatan deployment.
Setelah kita buat image nya dengan docker langkah selanjutnya kita buat file deployment dengan nama flask_deployment.yaml. File deployment berisi perintah perintah untuk membuat deployment pada beberapa resource yang akan kita deploy.
6. Pembuatan service
File service digunakan untuk mengekpos app yang di deploy sebernya bisa digabung dalam satu file dengan deployment namun disini kita buat terpisah.
7. Proses Deployment
Perintah yang digunakan untuk deployment dan service
Untuk mengecek apakah deployment sudah berhasil atau belum dapat menggunkan perintah kubectl get deploy
Dari hasil diatas dapat disimpulkan bahwa proses deployment sudah dapat digunakan secara lokal.
8. Pengaksesan hasil deploy
Kita lakukan forwarding pada port nya, supaya user yang mengakses denga port 7171 akan di alihkan ke deployment flask-app tadi yang sudah dikonfigurasi dengan port 5000. Hasil output sederhana dari hasil deployment dengan hal ini dapat disimpulkan bahwa deployment aplikasi sudah berhasil. Apabila kita merefress halaman maka Instance ID akan berubah - ubah.
Unutk melihat semua hasil yang sudah kita lakukan dapat menggunkan perintah kubectl get all
9. Minikube
Digunakan untuk membuka dashboard kubernetes dan disini dengan kita dapat melihat hasil dari deploymeent dan servis yang sudah kita buat sebelumnya dengan jelas.
Hasil dari deployment dengan menggunakan minikube
Itulah tahapan yang dilakukan untuk mendeploy simple apps flask dengan menggunakan kubernetes dan dengan hasil diatas makan dapat disimpulkan bahwa apps flask yang kita buat sudah berhasil di deploy.