Memahami Kondisi di Kubernetes: Beda Antara Kondisi yang Diinginkan (Declared) dan Kondisi Aktual (Observed)

Pentingnya Konsep Status dalam Kubernetes

Dalam dunia Kubernetes, memahami konsep status adalah kunci untuk mengelola aplikasi dan layanan secara efektif. Setiap komponen dalam Kubernetes beroperasi berdasarkan model status yang deklaratif. Ini berarti pengguna memberitahukan Kubernetes seperti apa kondisi akhir yang diinginkan (status deklarasi), dan sistem secara otomatis bekerja untuk mencapai dan mempertahankan kondisi tersebut. Konsep ini fundamental bagi cara kerja otomatisasi dan orkestrasi di Kubernetes.

Status Deklarasi: Blueprint Sistem Anda

Status deklarasi (declared state) adalah kondisi ideal atau yang diinginkan untuk sumber daya Kubernetes Anda. Ini ditentukan oleh file konfigurasi atau manifest yang Anda terapkan, biasanya dalam format YAML. Misalnya, Anda mendeklarasikan bahwa Anda ingin menjalankan tiga replika dari sebuah aplikasi dengan versi gambar tertentu. Status deklarasi ini disimpan dalam API Server Kubernetes, yang bertindak sebagai sumber kebenaran tunggal untuk konfigurasi yang diinginkan. Ini adalah “blueprint” yang menjadi panduan bagi seluruh sistem.

Status Diobservasi: Realitas yang Ada

Status diobservasi (observed state) adalah kondisi sistem yang sebenarnya pada saat ini. Ini adalah refleksi dari apa yang benar-benar terjadi di kluster Anda – jumlah pod yang sedang berjalan, status kesehatan mereka, alokasi sumber daya yang sebenarnya, dan detail operasional lainnya. Informasi mengenai status diobservasi dikumpulkan oleh berbagai komponen dan agen (seperti Kubelet di setiap node) dan dilaporkan kembali ke API Server. Status ini mencerminkan realitas dinamis kluster Anda, yang bisa berubah karena berbagai faktor seperti kegagalan node, peningkatan lalu lintas, atau pembaruan aplikasi.

Menjembatani Kesenjangan: Peran Pengendali

Perbedaan antara status deklarasi dan status diobservasi adalah inti dari cara kerja Kubernetes. Pengendali (controller) adalah proses dalam Kubernetes yang terus-menerus memantau API Server. Mereka membaca status deklarasi yang diinginkan dan membandingkannya dengan status diobservasi yang sebenarnya. Jika ada perbedaan, pengendali akan mengambil tindakan yang diperlukan untuk mengubah status diobservasi agar sesuai dengan status deklarasi.

BACA JUGA:  Pure Storage dan SK hynix Gandeng Garap Flash QLC Hemat Energi

Proses Rekonsiliasi Status Secara Otomatis

Proses penyesuaian status diobservasi agar sesuai dengan status deklarasi ini dikenal sebagai rekonsiliasi. Misalnya, jika Anda mendeklarasikan tiga replika sebuah pod tetapi hanya dua yang berjalan (status diobservasi), pengendali replikasi (ReplicaSet controller) akan mendeteksi perbedaan ini dan secara otomatis membuat pod ketiga. Jika satu pod gagal (mengubah status diobservasi), pengendali akan mendeteksi bahwa jumlah pod yang berjalan kurang dari yang dideklarasikan dan akan membuat pod pengganti. Mekanisme rekonsiliasi otomatis ini memungkinkan Kubernetes untuk secara mandiri mengelola dan memulihkan sistem Anda, memastikan bahwa status diinginkan selalu diupayakan. Ini adalah fondasi dari ketahanan dan otomatisasi Kubernetes.

Sumber: https://kifarunix.com/understanding-kubernetes-states-declared-vs-observed-states-explained/