GKE didasarkan pada platform orkestrasi container open source Kubernetes, dan banyak dokumentasi di situs ini mengasumsikan bahwa Anda sudah memahami konsep dan terminologi dasar Kubernetes. Jika belum, halaman ini memberikan ringkasan singkat tentang dasar-dasar Kubernetes, dengan link ke bacaan yang direkomendasikan untuk membantu Anda memulai.
Konsep utama
Berikut adalah beberapa konsep utama yang kami gunakan di seluruh dokumentasi GKE. Ini bukan daftar lengkap konsep Kubernetes; Anda dapat menemukan lebih banyak hal untuk dibaca dan dipelajari 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 sekumpulan node yang dapat diperlakukan bersama sebagai satu entity, tempat Anda men-deploy aplikasi dalam container.
Pelajari lebih lanjut di dokumentasi Kubernetes:
Namespace
Namespace Kubernetes menyediakan mekanisme untuk mengelompokkan dan memilih lebih lanjut resource seperti Pod dan Layanan dalam cluster, misalnya jika Anda memiliki beberapa tim aplikasi yang menjalankan workload pada satu cluster.
Pelajari lebih lanjut di dokumentasi Kubernetes:
Pod
Di Kubernetes, aplikasi dalam container berjalan di dalam Pod. Pod adalah unit komputasi terapan terkecil yang dapat Anda buat dan kelola di Kubernetes. Pod memiliki satu atau beberapa container. Saat Pod menjalankan beberapa container (misalnya, server aplikasi dan server proxy), container dikelola sebagai satu entitas dan berbagi resource Pod.
Pelajari lebih lanjut di dokumentasi Kubernetes:
Pengontrol
Pengontrol Kubernetes melacak dan mengelola status cluster dan workload Anda, berdasarkan status yang diinginkan yang Anda tentukan (misalnya, "Saya ingin menjalankan tiga Pod ini di cluster ini, dengan container ini di setiap Pod"). Pengontrol yang berbeda melacak berbagai jenis resource Kubernetes, termasuk yang berikut:
- Deployment: Deployment adalah objek Kubernetes yang merepresentasikan 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 seperti 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 "pembantu" untuk beban kerja Anda, seperti daemon pengumpulan log atau daemon pemantauan.
- ReplicaSets: ReplicaSet adalah sekumpulan Pod 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 aplikasi yang berjalan di Kubernetes, Anda harus menentukan abstraksi jaringan di atas Pod-nya yang disebut Service Kubernetes. Service
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 di luar 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 sementara, yang akan dihapus saat Pod yang sesuai dihentikan.
Pelajari lebih lanjut di dokumentasi Kubernetes:
Bidang kontrol Kubernetes
Bidang kontrol Kubernetes adalah sekumpulan komponen sistem yang mengelola keseluruhan status 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:
Role-based access control (RBAC)
Kubernetes menyertakan mekanisme role-based access control (RBAC) yang memungkinkan Anda membuat kebijakan otorisasi untuk mengakses cluster dan resourcenya. Saat menggunakan GKE, Anda akan sering menggunakan kombinasi RBAC Kubernetes dan Identity and Access Management Google Clouduntuk mengamankan aplikasi Anda.
Pelajari lebih lanjut di dokumentasi Kubernetes:
Rekomendasi bacaan
Bagian ini menyediakan link ke referensi yang direkomendasikan untuk mempelajari lebih lanjut Kubernetes. Khususnya, Kubernetes.io, situs Kubernetes resmi, memiliki banyak materi terbaru dan andal tentang semua hal terkait Kubernetes.
Panduan dan tutorial
- Ringkasan Kubernetes: Ringkasan konsep Kubernetes yang menyeluruh. Mengapa Anda memerlukan Kubernetes dan apa yang dapat dilakukannya adalah pengantar yang bagus untuk masalah yang dapat dipecahkan oleh Kubernetes.
- Tutorial: Pelajari dasar-dasar Kubernetes: Memandu Anda mempelajari dasar-dasar Kubernetes dengan contoh sederhana.
- Tutorial: Pengenalan container: Pelajari container dan orkestrasi container dengan aplikasi contoh sederhana, yang diakhiri dengan contoh yang berjalan di GKE.
- Tutorial Kubernetes: Jika Anda siap mempelajari hal-hal di luar dasar-dasar, bagian dokumentasi Kubernetes ini menyediakan tutorial tentang berbagai topik Kubernetes, mulai dari aplikasi stateful hingga keamanan.
Dokumentasi referensi
- Glosarium Kubernetes: Daftar komprehensif dan standar dari terminologi Kubernetes. 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 sejarah Kubernetes dan cara menggunakannya untuk continuous integration dan delivery, dengan bantuan yang tidak terduga dari Dewi Kebijaksanaan (dan aplikasi yang di-container).