Arsitektur cluster GKE


Halaman ini menjelaskan arsitektur cluster Google Kubernetes Engine (GKE) yang menjalankan workload dalam container Anda. Gunakan halaman ini untuk mempelajari bidang kontrol, node, dan cara berbagai komponen cluster GKE berinteraksi satu sama lain.

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.

Sebelum membaca halaman ini, pastikan Anda sudah memahami arsitektur cluster Kubernetes.

Sebuah cluster GKE terdiri atas sebuah bidang kontrol dan sejumlah mesin worker yang disebut node. Bidang kontrol dan node 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:

Arsitektur cluster GKE. Bidang kontrol dikelola oleh GKE dan menjalankan server API, pengontrol resource, scheduler, dan penyimpanan cluster. Node dikelola GKE dalam mode Autopilot dan dikelola pengguna dalam mode Standard.
     Pod pengguna menjalankan container di node. Layanan Google Cloud lainnya tersedia untuk diintegrasikan dengan GKE.

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.

Praktik terbaik:

Men-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.

Praktik terbaik:

Gunakan stdout untuk aplikasi dalam container karena stdout memungkinkan platform Anda menangani log aplikasi.

Pengelolaan node bervariasi berdasarkan mode operasi cluster, sebagai berikut:
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.