Mengenal Kubernetes
Kubernetes dapat menjadi salah satu solusi untuk suatu project aplikasi atau website yang semakin besar agar dapat tetap ringkas dan cepat. Kubernetes merupakan platform open-source yang digunakan untuk melakukan manajemen workloads aplikasi yang dikontainerisasi, serta menyediakan konfigurasi dan otomatisasi secara deklaratif.. Pengertian lain dari Kubernetes adalah platform open source untuk mengelola kumpulan kontainer dalam suatu cluster server. Apikasi ini dapat disingkat dengan huruf dan angka K8s. K8s merupakan sebuah singkatan yang didapat dengan mengganti 8 huruf “ubernete” dengan “8”. Kubernetes pertama kali dikembangkan oleh Google dan kini dikelola oleh Cloud Native Computing Foundation (CNCF) sebagai platform manajemen kontainer yang cukup populer. Kontainer merupakan environment dengan sumber daya, CPU, dan sistem file untuk satu aplikasi sehingga aplikasi tersebut akan memiliki sumber daya sendiri. Kubernetes memiliki kemampuan untuk melakukan penjadwalan aplikasi, load balancing server dan peningkatan kapasitas kontainer secara otomatis.
Berikut ini adalah beberapa keuntungan yang didapatkan dari penggunaan Kubernetes:
- Service discovery and Load Balancing
Kubernetes dapat mengekspose kontainer yang digunakan dengan nama DNS atau IP address server sendiri. Ketika trafik berada di kontainer besar, aplikasi ini secara otomatis bisa melakukan load balancing trafik atau penyeimbang beban serta distribusi trafik sehingga aplikasi yang dijalankan dapat tetap stabil. Selain itu, aplikasi ini juga dapat me-mount system storage yang digunakan, seperti local storage dari cloud provider seperti AliCloud dan AWS.
- Secret and configuration management
Kubernetes dapat menyimpan data sensitive yang dimiliki, seperti password, ssh keys, dan auth token. Selain itu, melalui Kubernetes dapat juga membangun serta mengupdate berbagai macam secret tanpa harus membangun ulang container image, serta tidak harus mengekspose secret pada konfigurasi.
- Portabilitas
Kubernetes Orchestration platform dapat dijalankan di atas berbagai Infrastructure termasuk di on-premises datacenter, public cloud, private cloud ataupun hybrid cloud. Kubernetes tidak hanya dapat digunakan dimana saja, tetapi juga dapat dijalankan dengan perintah yang sama.
- Deployment yang konsisten
Kubernetes dapat dideploy secara konsisten di seluruh Infrastructure. Container memungkinkan untuk menerapkan konsep immutable Infrastructure. Semua pengaturan dan dependencies komponen yang dibutuhkan untuk menjalankan aplikasi dapat dimasukkan dan digabungkan di dalam Container itu sendiri. Konsistensi pada Kubernetes ini dapat membuat programmer menghabiskan lebih sedikit waktu untuk debugging dan lebih banyak waktu untuk memfokuskan pada fitur-fitur value added yang dibutuhkan dalam bisnis.
- Separated dan Automated Operation dan Development
Kubernetes dapat menjembatani konflik yang terjadi antara tim operational dan tim programmer. Berkat otomatisasi pada Kubernetes, tim operational dapat merasa yakin dengan stabilitas sistem. Kemudian, berkat container tim programmer dapat menghemat waktu karena container memberikan kelonggaran dengan cara menerapkan teknik rapid iteration cycle.
Referensi:
https://kubernetes.io/id/docs/concepts/overview/what-is-kubernetes/
https://www.niagahoster.co.id/blog/kubernetes-adalah/
https://idcloudhost.com/mengenal-apa-itu-kubernetes-dan-manfaat-dan-cara-menggunakannya/