Mendeploy Simple Apps Flask dengan Kubernetes

Afif Syaefudin

Sosial Media


0 orang menyukai ini
Suka

Summary

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.

Description

 

 

 

Keuntungan dari penggunakan kubernetes yaitu :

  1. Service discovery and Load Balancing
  2. Automated Rollouts and Rollbacks
  3. Self-healing
  4. Secret and configuration management

Arsitektur Kubernetes

Pada diagram arsitektur kubernetes diatas terdapat beberapa komponen berbeda yang saling terintegrasi diantaranya adalah :

  1. Kubelet
  2. Kubernetes controller manager
  3. Kubernetes API serve

Tahapan yang dilakukan untuk mendeploy suatu simple flask apps ke kubernetes.

  1. Install Docker Dekstop

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

  • Start Minikube digunakan untuk memulai cluster di minikube.

  • Minikube dashboard

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.

Informasi Course Terkait
  Kategori: Artificial Intelligence
  Course: Cloud Computing