Skip to main content

Mengenal Kubernetes untuk solusi DevOps

DevOps ? mungkin dari kita sudah sering mendengar istilah DevOps atau mungkin masih asing dengan istilah DevOps? disini kami akan mencoba menjelaskan sedikit tentang definisi DevOps, karena topik yang akan kita bahas adalah pengenalan software docker orchestration yaitu kubernetes.

DevOps merupakan istilah baru atau paradigma baru tentang metode kolaborasi antara tim developer dan tim operasional, dimana biasanya yang menerapkan metode DevOps adalah Software Engineer, System Administrator dan Network Engineer.

Kubernetes adalah platform open-source berbasis Linux yang dirancang untuk mengotomatisasi penempatan, penskalaan, dan manajemen aplikasi yang berada dalam kontainer. Dengan Kubernetes, Anda dapat dengan cepat dan efisien menanggapi permintaan pelanggan.

Fitur Kubernetes

  • Automatic Binpacking

otomatis menempatkan kontainer berdasarkan kebutuhan sumber daya yang dibutuhkan dan tidak mengobarkan ketersedian resource. mengabungkan kritikal dan beban kerja terbaik untuk meningkatkan pemanfaatan dan menghemat lebih banyak sumber daya.

  • Horizontal Scaling

melakukan scale up dan down aplikasi mengunakan perintah sederhana, dengan UI, atau dengan otomatis berdasarkan pengunaan cpu.

  • Self-healing

merestart container yang gagal, menggantikan dan menjadwalkan ulang container saat node worker mati. mematikan container yang tidak merespon pemeriksaan kesehatan yang dibuat oleh penguna, dan tidak mengadvertise  container ke klien hingga siap untuk digunakan.

  • Service discovery and load balancing

tidak diperlukan memodifikasi aplikasi untuk menggunakan mekanisme service discovery yang tidak dikenal. kubernetes memberikan alamat ip pada container dan memberikan single DNS untuk sekumpulan container dan dapat load balance diantara container.

  • Secret and configuration management

Deploy dan update secret dan konfigurasi aplikasi tanpa rebuild image anda tanpa memberitahukan secret dalam stack konfigurasi.

  • Storage orchestration

Secara otomatis akan mounting ke sistem penyimpanan yang sudah dipilih, baik penyimpanan local, public cloud storage seperti GCP atau AWS dan network storage seperti NFS, iSCSI, Gluster, Ceph, Cinder atau Flocker.

 

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 server

Komponen Kubernetes

1. Master Components

Komponen Master menyediakan cluster control plane. komponen master berfungsi untuk mengatur penjadwalan, memulai pembuatan pod dengan replicate. berikut komponen master :

  • kube-apiserver
  • etcd
  • kube-scheduler
  • kube-controller-manager
  • cloud-controller-manager

2. Node Componentes

komponen node jalan pada setiap node / worker, menjaga pod yang berjalan dan menyediakan runtime untuk kubernetes. berikuti komponen node

  • kubelet
  • kube-proxy
  • container runtime

3. Addons

Addons adalah pod dan layanan yang mengimplementasikan fitur cluster. Pod dapat dikelola oleh Deployment, ReplicationControllers, dan sebagainya. beirkut adalah bagian dari addons.

  • DNS
  • Web UI (Dashboard)
  • Container Resource Monitoring
  • Cluster Level Logging

Refrensi :

terabitkomputer.com/2017/11/28/mengenal-open-source-container-kubernetes

https://kubernetes.io/docs/concepts/overview/components/

Alan Adi Prastyo

network & system engineer