← Semua pertanyaan
Apa saja komponen utama arsitektur Kubernetes dan apa tanggung jawab masing-masing komponen tersebut?
JarangMenengahDevOps

Apa saja komponen utama arsitektur Kubernetes dan apa tanggung jawab masing-masing komponen tersebut?

Jawaban singkat
Cluster Kubernetes terbagi menjadi sebuah bidang kendali yang membuat keputusan global dan node pekerja yang menjalankan beban kerja. Bidang kendali: kube-apiserver, dll, kube-scheduler, kube-controller-manager, dan cloud-controller-manager opsional; node: kubelet, kube-proxy, dan runtime container.

Klaster Kubernetes terdiri dari bidang kendali ditambah sekumpulan mesin pekerja, yang disebut node, yang menjalankan aplikasi dalam container di Pod. Setiap cluster memerlukan setidaknya satu node pekerja untuk menjalankan Pod.

Secara konseptual, Kubernetes bersifat deklaratif: Anda mengirimkan status yang diinginkan ke server API (disimpan di dll), dan pengontrol menjalankan loop rekonsiliasi berkelanjutan yang mengamati perbedaan dan bertindak untuk mengarahkan status aktual menuju status yang diinginkan.

Komponen bidang kontrol

Bidang kendali membuat keputusan global tentang klaster (seperti penjadwalan) dan merespons kejadian klaster. Dalam produksi, biasanya dijalankan di beberapa mesin untuk ketersediaan tinggi.

  • kube-apiserver — komponen inti yang mengekspos API HTTP Kubernetes. Ini adalah ujung depan bidang kendali dan satu titik kontak: semua autentikasi, otorisasi, validasi permintaan, dan pembacaan/penulisan status klaster mengalir melaluinya. Ini berskala secara horizontal. Dalam penerapan normal, ini adalah satu-satunya komponen Kubernetes yang membaca dan menulis status cluster secara langsung di etcd; semua komponen lainnya berinteraksi dengan negara melalui server API.
  • etcd — penyimpanan nilai kunci yang konsisten dan memiliki ketersediaan tinggi yang digunakan sebagai penyimpanan pendukung Kubernetes untuk semua data cluster: konfigurasi, status, dan metadata. dlld bersifat wajib dan merupakan satu-satunya sumber kebenaran — kehilangannya berarti kehilangan semua status cluster, sehingga harus dijalankan dengan kuorum (jumlah anggota ganjil) dan dicadangkan secara berkala.
  • kube-scheduler — mengawasi Pod yang belum terikat pada sebuah node dan menugaskan setiap Pod ke node yang sesuai, dengan mempertimbangkan sumber daya, batasan, dan kebijakan.
  • kube-controller-manager — menjalankan pengontrol yang mengimplementasikan perilaku API Kubernetes (misalnya, pengontrol Node, pengontrol Pekerjaan, pengontrol EndpointSlice). Setiap pengontrol mengawasi keadaan yang diinginkan dan merekonsiliasi keadaan aktual ke arah itu.
  • cloud-controller-manager (opsional) — terintegrasi dengan penyedia cloud yang mendasarinya, mengisolasi logika khusus cloud dari komponen inti Kubernetes.

Komponen simpul

Ini berjalan di setiap node, menjaga Pod tetap berjalan dan menyediakan lingkungan runtime.

  • kubelet — agen yang memastikan Pod berjalan, termasuk containernya. Ia mengawasi server API untuk penugasan Pod, memulai container melalui runtime, memasang volume, menjalankan pemeriksaan keaktifan/kesiapan, dan melaporkan status node.
  • kube-proxy — mengimplementasikan jaringan Layanan dengan memprogram aturan iptables atau IPVS pada node sehingga lalu lintas ke Layanan diteruskan ke IP Pod yang benar. Ini ditandai opsional karena beberapa plugin CNI (misalnya, Cilium dalam mode eBPF) mengambil alih tugasnya, tetapi dalam cluster standar hal ini diperlukan.
  • Waktu proses container — perangkat lunak yang bertanggung jawab untuk menjalankan container (containerd, CRI-O, dll., melalui antarmuka CRI).

Tambahan

Addons memperluas fungsionalitas klaster: DNS klaster (CoreDNS secara default), UI web Dasbor, pemantauan sumber daya kontainer, dan pencatatan tingkat klaster.

Tindak lanjut yang umum: semua aliran komunikasi melalui server API — penjadwal, pengontrol, dan kubelet cukup mengamatinya dan bereaksi — yang menjadikan server API sebagai hub penting dalam cluster.

ArsitekturKontainerKubernetes

Unduh sekarang dan coba gratis untuk tugas Anda!

Unduh untuk Windows
10 15 kredit gratis • Tidak perlu kartu kreditVersi: Memuat…

Tanpa instalasi - unduh dan jalankan. Tanpa pendaftaran - masuk lewat Google.