Kubernetes di Microsoft Azure

Equan P.
Pemrograman
Published in
4 min readDec 5, 2020
Gambar diambil dari kubernetes.io

Konsep dasar Kubernetes sebenarnya tidaklah rumit, seperti digambarkan pada gambar diatas, Kubernetes bertugas untuk menciptakan, memantau hidup & matinya Node yang isinya yaitu aplikasi-aplikasi yang ter- container ( docker image).

Intinya keberadaan Kubernetes cluster adalah untuk menghindari zero down time dari layanan ke pengguna sehingga meskipun terjadi gangguan layanan, pengguna publik tidak akan pernah merasakan itu karena Kubernetes akan selalu menghidupkan layanan yang sama atau istilahnya membuat instance dari layanan dan selain itu Kubernetes juga memberikan kemudahan dalam penskalaan layanan dalam menghadapi naiknya jumlah pengguna yang mengakses layanan tersebut.

Lebih lanjut silahkan baca tentang Kubernetes.

Azure

Salah satu cloud computing selain Google, Amazon Web Service maupun Alibaba Cloud yaitu Microsoft yang membuat cloud computing platform yang bernama Azure.

Sebenarnya dokumentasi maupun tutorial dari Microsoft sudah sangat lengkap tentang infrastruktur cloud computation mereka seperti Azure Kubernetes Service, hanya saja karena memang platform Microsoft yang sangat besar seringkali menu-menu ataupun user interface dari portal cloud-nya pun sangat banyak sehingga diperlukan waktu untuk meng-eksplorasi dan membiasakan dalam memakai portal tersebut.

Azure Portal

Pertanyaan Saya yang muncul pertama kali ketika melihat Azure Kubernetes Service adalah

“Bagaimana cara men-deploy aplikasi ke Kubernetes Cluster di Azure?”

Azure Kubernetes Service (AKS)

Percaya atau tidak Azure Kubernetes Service tidak dikenakan biaya apapun alias gratis, hanya saja untuk Node anda akan dikenakan biaya karena memang Node secar fitur seperti komputer biasa yang membutuhkan CPU, RAM dsb meskipun sebenarnya yang dipakai adalah mesin virtual.

Proses pembuatan kluster Kubernetes di Azure menjadi cukup mudah dengan bantuan wizard form, anda bisa mengatur jumlah Node yang mau dipakai berikut jenis Virtual Machine yang akan digunakan sebagai Node.

Membuat kluster Kubernetes

Selanjutnya anda harus menentukan jenis Virtual Machine yang akan dipakai. Aturan umum-nya adalah untul pengembangan 1 Node saja sudah cukup tetapi untuk sistem yang siap produksi setidaknya anda membutuhkan 3 Node atau lebih.

Pilihan VM yang digunakan sebagai Node

Jangan khawatir setelah kluster Kubernetes berhasil dibuat, anda bisa melakukan skala Node melalui menu Node pools.

Penskalaan Node

Deployment Aplikasi

Melalui portal Azure, deployment aplikasi sangatlah mudah karena paltform AKS mendukung import langsung dari repositori seperti Github, Bitbucker, Git ataupun repo di Azure sendiri.

Import proyek dari repositori

yang menjadi catatan adalah pastikan aplikasi yang akan anda deploy di AKS merupakan aplikasi yang bisa di-docker artinya ada berkas Dockerfile didalam repositori tersebut.

Dockerfile

Kemudian anda bisa meliat hasil deployment pada menu Deployment pada AKS yang telah anda buat (pada gambar dibawah AKS bernama junstone).

Azure secara default akan memberikan namespaces pada hasil deployment (pada gambar dibawah bernama junstonea072)

Namespace

pada namespace tersebut akan terdapat pods yang namanya juga diberikan oleh AKS yaitu junstone-0b72

Pods (klik kanan open image in new tab :))

Akan percuma kalau deployment aplikasi tetapi tidak bisa diakses oleh pengguna, bukan?

Di AKS setelah anda men- deploy aplikasi pada Node kemudian sistem AKS akan memberikan IP eksternal pada aplikasi tersebut.

Anda bisa mengetahui IP eksternal ini pada menu Services and ingresses

IP Eksternal aplikasi di AKS

Azure CLI

Mungkin cukup memusingkan bagi anda yang biasa bekerja di command line, untungnya Azure juga menyediakan yang namanya Azure CLI yaitu CLI tool untuk berinteraksi dengan cloud computing Azure.

AKS juga menyediakan petunjuk untuk menghubungkan Azure CLI dan kubectl ke Azure Cloud Computing

Petunjuk untuk koneksi ke AKS melalui Azure CLI

Anda juga bisa menarik query dari kubectl entah itu untuk mengetahui nama Node, jumlah pods, informasi Deployments dsb.

Visual Studio Code + Kubernetes

Kalau anda memakai Visual Studio Code untuk pengembangan perangkat lunak dan men-deploy aplikasi di Kubernetes anda bisa memakai ekstensi Kubernetes untuk Visual Studio Code.

Dari VSC anda bisa mengetahui informasi dari kluster seperti nama kluster,namespaces, nodes, pods dll.

--

--