GKE didasarkan pada platform orkestrasi container open source Kubernetes, dan banyak dokumentasi di situs ini mengasumsikan bahwa Anda sudah memahami konsep dan terminologi Kubernetes dasar. Jika belum, halaman ini memberikan ringkasan singkat tentang dasar-dasar Kubernetes, dengan link ke bacaan yang direkomendasikan untuk memulai.
Konsep utama
Berikut adalah beberapa konsep utama yang kami gunakan di seluruh dokumentasi GKE. Ini bukan daftar lengkap konsep Kubernetes; Anda dapat menemukan banyak hal lain untuk dibaca dan dijelajahi dalam topik yang disediakan dari dokumentasi Kubernetes dan bacaan yang direkomendasikan.
Node dan cluster
Semua workload Kubernetes berjalan di node. Di GKE, node adalah virtual machine (VM) Compute Engine. Di platform Kubernetes lainnya, node dapat berupa mesin fisik atau virtual. Setiap node dikelola oleh bidang kontrol Kubernetes dan memiliki semua komponen yang diperlukan untuk menjalankan Pod. Cluster adalah kumpulan node yang dapat diperlakukan bersama sebagai satu entity, tempat Anda men-deploy aplikasi dalam kontainer.
Pelajari lebih lanjut di dokumentasi Kubernetes:
Namespace
Namespace Kubernetes menyediakan mekanisme untuk mengelompokkan dan memilih resource lebih lanjut seperti Pod dan Layanan dalam cluster, misalnya jika Anda memiliki beberapa tim aplikasi yang menjalankan workload di satu cluster.
Pelajari lebih lanjut di dokumentasi Kubernetes:
Pod
Di Kubernetes, aplikasi dalam container berjalan di dalam Pod. Pod adalah unit komputasi terkecil yang dapat di-deploy yang dapat Anda buat dan kelola di Kubernetes. Pod memiliki satu atau beberapa penampung. Saat Pod menjalankan beberapa container (misalnya, server aplikasi dan server proxy), container dikelola sebagai entitas tunggal dan berbagi resource Pod.
Pelajari lebih lanjut di dokumentasi Kubernetes:
Pengontrol
Pengontrol Kubernetes melacak dan mengelola status cluster dan workload, berdasarkan status yang diinginkan yang Anda tentukan (misalnya, "Saya ingin menjalankan tiga Pod ini di cluster ini, dengan penampung ini di setiap Pod"). Pengontrol yang berbeda melacak berbagai jenis resource Kubernetes, termasuk yang berikut:
- Deployment: Deployment adalah objek Kubernetes yang mewakili satu atau beberapa Pod identik, yang disebut replika. Deployment menjalankan beberapa replika Pod yang didistribusikan di antara node cluster. Deployment secara otomatis mengganti Pod yang gagal atau menjadi tidak responsif.
- StatefulSet: StatefulSet mirip dengan Deployment, tetapi mempertahankan identitas unik yang persisten untuk setiap Pod-nya. StatefulSets dapat berguna dalam aplikasi dengan status persisten (aplikasi stateful).
- DaemonSets: DaemonSet Kubernetes memungkinkan Anda menambahkan Pod default ke beberapa atau semua node. Layanan ini sering kali merupakan layanan "helper" untuk workload Anda, seperti daemon pengumpulan log atau daemon pemantauan.
- ReplicaSets: ReplicaSet adalah kumpulan Pod yang identik. ReplicaSet biasanya dikelola sebagai bagian dari Deployment.
Pelajari lebih lanjut di dokumentasi Kubernetes:
Layanan Kubernetes
Secara default, Anda tidak dapat mengontrol node cluster tempat Pod berjalan, sehingga Pod
tidak memiliki alamat IP yang stabil. Untuk mendapatkan alamat IP bagi aplikasi yang berjalan di Kubernetes, Anda harus menentukan abstraksi jaringan di atas Pod-nya yang disebut Layanan Kubernetes. Layanan
Kubernetes menyediakan endpoint jaringan yang stabil untuk sekumpulan Pod.
Ada beberapa jenis
Service, termasuk
Service LoadBalancer
yang mengekspos alamat IP eksternal sehingga Anda dapat
menjangkau aplikasi dari luar clusternya.
Kubernetes juga memiliki sistem DNS bawaan untuk resolusi alamat internal, yang menetapkan nama DNS (misalnya, helloserver.default.cluster.local
) ke Layanan. Hal ini memungkinkan Pod di dalam cluster menjangkau Pod lain di
cluster menggunakan alamat yang stabil. Anda tidak dapat menggunakan nama DNS ini di luar cluster,
seperti dari Cloud Shell.
Pelajari lebih lanjut di dokumentasi Kubernetes:
Penyimpanan
Jika aplikasi Anda perlu menyimpan data yang ada setelah masa aktif Pod-nya (aplikasi stateful), Anda dapat menggunakan objek PersistentVolume Kubernetes untuk menyediakan penyimpanan ini. Di GKE, penyimpanan PersistentVolume didukung oleh disk Compute Engine. Anda juga dapat memilih untuk menggunakan penyimpanan efemeral, yang dihancurkan saat Pod yang sesuai dihentikan.
Pelajari lebih lanjut di dokumentasi Kubernetes:
Bidang kontrol Kubernetes
Bidang kontrol Kubernetes adalah sekumpulan komponen sistem yang mengelola
status keseluruhan cluster Anda, termasuk server Kubernetes API yang memungkinkan
Anda berinteraksi dengan cluster dan aplikasi menggunakan kubectl
dan alat
lainnya, penjadwal untuk menjadwalkan Pod di node yang tersedia, dan pengontrol
yang melacak dan mengelola status cluster. Di GKE, bidang kontrol
disediakan dan dikelola oleh Google Cloud.
Pelajari lebih lanjut di dokumentasi Kubernetes:
Kontrol akses berbasis peran (RBAC)
Kubernetes menyertakan mekanisme kontrol akses berbasis peran (RBAC) yang memungkinkan Anda membuat kebijakan otorisasi untuk mengakses cluster dan resource-nya. Saat menggunakan GKE, Anda akan sering menggunakan kombinasi RBAC Kubernetes dan Identity and Access Management Google Cloud untuk mengamankan aplikasi.
Pelajari lebih lanjut di dokumentasi Kubernetes:
Rekomendasi bacaan
Bagian ini menyediakan link ke referensi yang direkomendasikan untuk mempelajari Kubernetes lebih lanjut. Secara khusus, Kubernetes.io, situs resmi Kubernetes, memiliki banyak materi terbaru dan tepercaya tentang semua hal terkait Kubernetes.
Panduan dan tutorial
- Ringkasan Kubernetes: Ringkasan konseptual Kubernetes yang menyeluruh. Alasan Anda memerlukan Kubernetes dan apa yang dapat dilakukannya adalah pengantar yang bagus untuk masalah yang dapat dipecahkan Kubernetes.
- Tutorial: Pelajari dasar-dasar Kubernetes: Membimbing Anda mempelajari dasar-dasar Kubernetes dengan contoh sederhana.
- Tutorial: Memperkenalkan container: Pelajari container dan orkestrasi container dengan contoh aplikasi sederhana, yang diakhiri dengan contoh yang berjalan di GKE.
- Tutorial Kubernetes: Jika Anda sudah siap untuk mempelajari lebih lanjut dasar-dasarnya, bagian dokumentasi Kubernetes ini menyediakan tutorial tentang berbagai topik Kubernetes, mulai dari aplikasi stateful hingga keamanan.
Dokumentasi referensi
- Glosarium Kubernetes: Daftar terminologi Kubernetes yang komprehensif dan standar. Jika Anda tidak yakin dengan istilah Kubernetes, berikut tempat untuk mencarinya.
Video
- Belajar Kubernetes dengan Google: Playlist panduan video dari Google yang membahas berbagai fitur dan fungsi Kubernetes, dengan materi untuk developer dan operator.
Komik
- Komik Kubernetes: Temukan latar belakang Kubernetes dan cara menggunakannya untuk continuous integration dan continuous delivery, dengan bantuan Dewi Kebijaksanaan (dan aplikasi dalam penampung).