Halaman ini memperkenalkan arsitektur cluster Google Kubernetes Engine (GKE). Semua workload Kubernetes dalam container Anda dijalankan di cluster GKE.
Halaman ini ditujukan untuk Admin, Arsitek, dan Operator yang menentukan solusi IT dan arsitektur sistem. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud, lihat Peran dan tugas pengguna GKE Enterprise umum.
Sebuah cluster GKE terdiri atas sebuah bidang kontrol dan sejumlah mesin worker yang disebut node. Bidang kontrol dan node ini membentuk sistem orkestrasi cluster Kubernetes. GKE Autopilot mengelola seluruh infrastruktur pokok cluster, termasuk bidang kontrol, node, dan semua komponen sistem. Jika Anda menggunakan mode GKE Standard, GKE akan mengelola bidang kontrol dan komponen sistem, sedangkan Anda mengelola node.
Diagram berikut menunjukkan arsitektur cluster GKE. Diagram ini secara khusus menggambarkan lokasi resource dan siapa yang mengelola resource tersebut, bukan penggambaran alur traffic:
Tentang bidang kontrol
Bidang kontrol menjalankan proses seperti server API Kubernetes, scheduler, dan pengontrol resource inti. GKE mengelola siklus proses bidang kontrol mulai dari pembuatan cluster hingga penghapusan. Hal ini termasuk upgrade ke versi Kubernetes yang berjalan di bidang kontrol, yang dilakukan GKE secara otomatis atau manual sesuai permintaan Anda jika Anda memilih untuk melakukan upgrade lebih awal daripada jadwal otomatis.
Bidang kontrol dan API Kubernetes
Bidang kontrol adalah endpoint terpadu untuk cluster Anda. Anda berinteraksi dengan bidang kontrol melalui panggilan API Kubernetes. Bidang kontrol menjalankan proses server API Kubernetes (kube-apiserver
) untuk menangani permintaan API. Anda dapat melakukan panggilan API Kubernetes dengan cara berikut:
- Panggilan langsung: HTTP/gRPC
- Panggilan tidak langsung: Klien command line Kubernetes seperti
kubectl
, atau Konsol Google Cloud.
Proses server API merupakan hub untuk semua komunikasi cluster. Semua komponen cluster internal seperti node, proses sistem, dan pengontrol aplikasi bertindak sebagai klien dari server API.
Permintaan API Anda memberi tahu Kubernetes tentang status yang diinginkan untuk objek dalam cluster Anda. Kubernetes akan mencoba mempertahankan status tersebut secara konstan. Kubernetes dapat Anda gunakan untuk mengonfigurasi objek di API secara imperatif atau deklaratif.
Untuk mempelajari lebih lanjut pengelolaan objek di Kubernetes, lihat halaman berikut:
Bidang kontrol dan interaksi node
Bidang kontrol mengelola apa yang berjalan di semua node cluster. Bidang kontrol menjadwalkan workload serta mengelola siklus proses, penskalaan, dan upgrade workload. Bidang kontrol juga mengelola resource jaringan dan penyimpanan untuk workload tersebut. Bidang kontrol dan node saling berkomunikasi satu sama lain menggunakan API Kubernetes.
Mengontrol interaksi bidang dengan Artifact Registry
Saat Anda membuat atau mengupdate cluster, GKE mengambil image container untuk software sistem Kubernetes yang berjalan di bidang kontrol dan node dari pkg.dev
Artifact Registry atau gcr.io
Container Registry. Pemadaman layanan yang memengaruhi registry ini dapat menyebabkan kegagalan tindakan berikut:
- Pembuatan cluster baru
- Upgrade versi cluster
Gangguan pada workload dapat terjadi sekalipun tanpa intervensi Anda, bergantung pada sifat spesifik dan durasi pemadaman layanan.
Jika pemadaman layanan pkg.dev
Artifact Registry atau gcr.io
Container Registry bersifat regional, kami mungkin mengalihkan permintaan ke zona atau region yang tidak terpengaruh oleh pemadaman tersebut.
Untuk memeriksa status layanan Google Cloud, buka dasbor status Google Cloud.
Deploy di beberapa region untuk memungkinkan ketersediaan aplikasi selama pemadaman layanan region.
Tentang node
Node adalah mesin worker yang menjalankan aplikasi dalam container dan workload lainnya. Masing-masing mesin tersebut merupakan virtual machine (VM) Compute Engine yang dibuat oleh GKE. Bidang kontrol mengelola dan menerima update tentang status yang dilaporkan sendiri oleh setiap node.
Node menjalankan layanan yang diperlukan untuk mendukung container yang membentuk workload cluster Anda. Layanan ini mencakup runtime dan agen node Kubernetes (kubelet
), yang berkomunikasi dengan bidang kontrol dan bertanggung jawab untuk memulai dan menjalankan container yang dijadwalkan pada node.
GKE juga menjalankan sejumlah container sistem yang berjalan sebagai agen per node, disebut DaemonSet, yang menyediakan fungsionalitas seperti pengumpulan log dan konektivitas jaringan intra-cluster.
Gunakan stdout
untuk aplikasi dalam container karena stdout
memungkinkan platform Anda menangani log aplikasi.
Komponen node | Mode Autopilot | Mode Standard |
---|---|---|
Siklus proses | Dikelola sepenuhnya oleh GKE, termasuk:
|
GKE mengelola berikut ini:
Anda dapat mengelola berikut ini:
|
Visibilitas | Melihat node menggunakan kubectl . Virtual machine Compute Engine pokok tidak dapat dilihat atau diakses melalui gcloud CLI atau Konsol Google Cloud. |
Melihat node menggunakan kubectl , gcloud CLI, dan Konsol Google Cloud. Melihat dan mengakses VM Compute Engine pokok. |
Konektivitas | Tidak ada koneksi langsung ke VM pokok. | Terhubung ke VM pokok menggunakan SSH. |
Sistem operasi (OS) node | Dikelola oleh GKE. Semua node menggunakan Container-Optimized OS dengan containerd (cos_containerd ). |
Memilih sistem operasi untuk node Anda. |
Pemilihan hardware mesin | Meminta class komputasi di Pod berdasarkan kasus penggunaan. GKE mengelola konfigurasi, penjadwalan, kuantitas, dan siklus proses mesin. | Memilih dan mengonfigurasi jenis mesin Compute Engine saat membuat node pool. Mengonfigurasi setelan untuk ukuran, penskalaan, kuantitas, penjadwalan, dan lokasi berdasarkan kebutuhan. |