Sebuah cluster Kubernetes (Juga ditulis sebagai K8s) terdiri dari control plane node dan setidaknya satu node pekerja .
Tutorial ini memandu Anda melalui arsitektur Kubernetes dan bidang kontrol dan komponen node pekerja. Ini menjelaskan arsitektur dan fitur seperti api-server , penjadwal , dst , dan manajer kontrol . Di bawah node pekerja, kami membahas detail tentang kubectl , kubelet , dan kube-proxy .
Arsitektur Kubernetes
Gambar dari kubernetes.io
Dari diagram di atas, kita dapat melihat bahwa control plane membuat beberapa keputusan global seperti penjadwalan, dan mempertahankan detail cluster di penyimpanan data (dll). Itu juga merespons peristiwa cluster, termasuk mempertahankan replika seperti yang disebutkan dalam penerapan.
Komponen bidang kontrol
Jadi, apa itu control plane Kubernetes?
Dengan kata sederhana dan sederhana, control plane adalah pengambil keputusan global untuk cluster, yang berarti mengontrol penjadwalan. Hal ini juga bertanggung jawab untuk menjaga perilaku cluster secara keseluruhan. Aplikasi dalam container dijadwalkan pada node pekerja berdasarkan memori yang dialokasikan per penerapan. Ini juga menanggapi peristiwa cluster. Misalnya, control plane memulai/mengakhiri pod baru ketika nilai replicaset tidak terpenuhi. Kita dapat mengatakan bahwa bidang kontrol Kubernetes adalah otak dari cluster yang membuat keputusan logis.
[ Pembaca juga menyukai: Mengubah penerapan Kubernetes menjadi layanan Knative ]
Bidang kontrol memiliki komponen berikut:
Server API (alias kube-apiserver)
Server API adalah frontend Kubernetes yang mengekspos Kubernetes API. Itu juga memvalidasi dan mengonfigurasi data untuk objek API, termasuk pod, layanan, penerapan, pengontrol replikasi, dan lainnya. Server API melayani operasi REST dan menyediakan frontend ke status bersama cluster tempat semua komponen lain berinteraksi.
etcd (penyimpanan data)
Penyimpanan data etcd adalah backend Kubernetes, yang berisi informasi cluster dalam pasangan nilai kunci. Di Kubernetes, ada konsep keadaan yang diinginkan dan keadaan sebenarnya . Kubernetes menggunakan etcd untuk memantau kedua status ini. Jika mereka menyimpang, Kubernetes membuat perubahan untuk merekonsiliasi keadaan sebenarnya dan keadaan yang diinginkan. Ini dipantau menggunakan penyimpanan data terdistribusi etcd.
kube-scheduler
Kube-scheduler adalah komponen bidang kontrol yang terutama menetapkan pod yang tidak terjadwal ke node yang relevan berdasarkan penggunaan memorinya. Penggunaan memori dan batasan perangkat keras/lunak dipertimbangkan saat menyetel node untuk faktor aplikasi tertentu seperti kebijakan jaringan.
kube-control-manager
Kube-control-manager adalah komponen bidang kontrol yang menjalankan proses kontrol. Secara umum, proses kontrol adalah loop yang berfokus pada membuat keadaan yang diinginkan sama dengan keadaan saat ini untuk aplikasi apa pun dalam waktu tertentu.
Komponen simpul pekerja
Apa itu simpul pekerja?
Node pekerja menjalankan aplikasi dalam container dan terus melaporkan ke api-server bidang kontrol tentang kesehatannya.
Ini memiliki komponen berikut:
kubelet
Kubelet adalah agen yang berjalan pada setiap node dalam cluster Kubernetes, memastikan bahwa container di dalam pod berjalan dan sehat. Ia terus berbicara dengan Kubernetes API untuk menyampaikan informasi kesehatan pod.
kube-proxy
Kube-proxy adalah proxy jaringan yang berjalan di setiap node dalam cluster Kubernetes. Ini mempertahankan aturan jaringan di semua node, memungkinkan komunikasi yang lancar antara elemen pod baik di dalam maupun di luar cluster.
Waktu proses penampung
Ini adalah perangkat lunak yang bertanggung jawab untuk menjalankan wadah di dalam node cluster. Contohnya termasuk CRI-O, containerd, Docker, dll.
[ Dapatkan ebook gratis ini:Mengelola kluster Kubernetes Anda untuk boneka. ]
Apa selanjutnya?
Dalam posting dua blog ini, saya telah membahas arsitektur Kubernetes dan komponennya. Saya telah melakukan upaya sederhana dan sederhana untuk menjelaskan mesin virtual, konsep container, dan arsitektur klaster dasar Kubernetes.
[ Perbedaan antara Kubernetes dan OpenShift dapat ditemukan di ebook baru ini. ]
Referensi:Komponen Kubernetes