Mulai mempelajari Kubernetes


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:

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

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