Halaman ini menjelaskan mode operasi Autopilot di Google Kubernetes Engine (GKE) dan menyediakan resource yang dapat Anda gunakan untuk merencanakan, menyiapkan, dan mengelola cluster.
Apa itu Autopilot?
GKE Autopilot adalah mode operasi di GKE tempat Google mengelola konfigurasi cluster Anda, termasuk node, penskalaan, keamanan, dan setelan lainnya yang telah dikonfigurasi sebelumnya. Cluster autopilot dioptimalkan untuk menjalankan sebagian besar workload produksi, dan menyediakan resource komputasi berdasarkan manifes Kubernetes Anda. Konfigurasi yang disederhanakan mengikuti praktik terbaik GKE dan rekomendasi untuk penyiapan cluster dan workload, skalabilitas, serta keamanan. Untuk daftar setelan bawaan, lihat tabel perbandingan Autopilot dan Standard.
Harga
Dalam sebagian besar situasi, Anda hanya membayar untuk CPU, memori, dan penyimpanan yang diminta oleh beban kerja Anda saat menjalankan GKE Autopilot. Anda tidak akan ditagih untuk kapasitas yang tidak digunakan di node Anda, karena GKE mengelola node tersebut.
Anda tidak akan dikenai biaya untuk Pod sistem, biaya sistem operasi, atau workload yang tidak terjadwal. Untuk informasi harga detail, lihat harga Autopilot.
Manfaat
- Fokus pada aplikasi Anda: Google mengelola infrastruktur, sehingga Anda dapat fokus membangun dan men-deploy aplikasi.
- Keamanan: Cluster memiliki konfigurasi yang telah melalui proses hardening secara default, dengan banyak setelan keamanan yang diaktifkan secara default. GKE secara otomatis menerapkan patch keamanan ke node Anda jika tersedia, sesuai dengan jadwal pemeliharaan apa pun yang Anda konfigurasi.
- Harga: Model penetapan harga Autopilot menyederhanakan perkiraan penagihan dan atribusi.
- Pengelolaan node: Google mengelola worker node, sehingga Anda tidak perlu membuat node baru untuk mengakomodasi workload atau mengonfigurasi upgrade dan perbaikan otomatis.
- Penskalaan: Saat workload mengalami beban tinggi dan Anda menambahkan lebih banyak Pod untuk mengakomodasi traffic, misalnya dengan Penskalaan Otomatis Pod Horizontal Kubernetes, GKE secara otomatis menyediakan node baru untuk Pod tersebut, dan secara otomatis memperluas resource di node yang ada berdasarkan kebutuhan.
- Penjadwalan: Autopilot mengelola bin packing Pod, sehingga Anda tidak perlu memikirkan jumlah Pod yang berjalan di setiap node. Anda dapat mengontrol penempatan Pod lebih lanjut menggunakan mekanisme Kubernetes, seperti topologi afinitas dan penyebaran Pod.
- Pengelolaan resource: Jika Anda men-deploy workload tanpa menetapkan nilai resource seperti CPU dan memori, Autopilot akan otomatis menetapkan nilai default yang telah dikonfigurasi sebelumnya dan mengubah permintaan resource di tingkat workload.
- Jejaring: Autopilot mengaktifkan beberapa fitur keamanan jejaring secara default, seperti memastikan bahwa semua traffic jaringan Pod melewati aturan firewall Virtual Private Cloud Anda, meskipun traffic tersebut mengarah ke Pod lain dalam cluster.
- Pengelolaan rilis: Semua cluster Autopilot terdaftar di saluran rilis GKE, yang memastikan bahwa bidang kontrol dan node Anda berjalan pada versi terbaru yang memenuhi syarat di saluran tersebut.
- Fleksibilitas terkelola: Jika workload Anda memiliki persyaratan hardware atau resource tertentu, seperti CPU atau memori tinggi, Autopilot menawarkan class komputasi yang telah dikonfigurasi sebelumnya yang dibangun untuk workload tersebut. Anda meminta class komputasi dalam deployment, sehingga tidak perlu membuat node baru secara manual yang didukung oleh hardware dan jenis mesin yang disesuaikan. Anda juga dapat memilih GPU untuk mempercepat workload seperti aplikasi batch atau AI/ML.
- Mengurangi kompleksitas operasional: Autopilot mengurangi overhead administrasi platform dengan meniadakan kebutuhan untuk terus memantau node, penskalaan, dan penjadwalan operasi.
Autopilot dilengkapi dengan SLA yang mencakup bidang kontrol dan kapasitas komputasi yang digunakan oleh Pod Anda.
Merencanakan cluster Autopilot Anda
Sebelum membuat cluster, rencanakan dan rancang arsitektur Google Cloud Anda. Dalam Autopilot, Anda meminta hardware dalam spesifikasi workload Anda. GKE menyediakan dan mengelola infrastruktur yang sesuai untuk menjalankan workload tersebut. Misalnya, jika menjalankan workload machine learning, Anda meminta akselerator hardware. Jika mengembangkan aplikasi Android, Anda meminta CPU Arm.
Rencanakan dan minta kuota untuk project Google Cloud atau organisasi Anda berdasarkan skala workload Anda. GKE hanya dapat menyediakan infrastruktur untuk workload Anda jika project Anda memiliki cukup kuota untuk hardware tersebut.
Pertimbangkan faktor-faktor berikut selama perencanaan:
- Estimasi ukuran dan skala cluster
- Jenis workload
- Tata letak dan penggunaan cluster
- Tata letak dan konfigurasi jejaring
- Konfigurasi keamanan
- Pengelolaan dan pemeliharaan cluster
- Deployment dan pengelolaan workload
- Logging dan pemantauan
Bagian berikut memberikan informasi dan referensi yang berguna untuk pertimbangan ini.
Networking
Saat Anda membuat cluster Autopilot dengan jejaring publik, workload di cluster tersebut dapat berkomunikasi satu sama lain dan dengan internet. Ini adalah mode jejaring default. Google Cloud dan Kubernetes menyediakan berbagai fitur dan kemampuan jejaring tambahan yang dapat Anda manfaatkan berdasarkan kasus penggunaan, seperti cluster dengan jejaring pribadi.
Jejaring di Kubernetes dan cloud itu kompleks. Pastikan Anda memahami konsep dasar jejaring sebelum mulai mengubah setelan default yang ditetapkan Google Cloud untuk Anda. Tabel berikut memberi Anda referensi untuk mempelajari lebih lanjut jejaring di GKE berdasarkan kasus penggunaan Anda:
Kasus penggunaan | Referensi |
---|---|
Memahami cara kerja jejaring di Kubernetes dan GKE |
Setelah mempelajari model jejaring, pertimbangkan persyaratan keamanan jejaring dan jejaring organisasi Anda. Pilih fitur jejaring GKE dan Google Cloud yang memenuhi kriteria tersebut. |
Merencanakan konfigurasi jejaring GKE Anda | Sebaiknya Anda memahami quotas jejaring untuk GKE, seperti endpoint per batas permintaan API dan Layanan. Referensi berikut akan membantu Anda merencanakan aspek tertentu dari penyiapan jejaring Anda:
|
Mengekspos workload Anda |
|
Jalankan layanan terhubung yang sangat tersedia di beberapa cluster | Gunakan Layanan multi-cluster (MCS). |
Menyeimbangkan beban traffic masuk |
|
Mengonfigurasi keamanan jaringan cluster |
|
Mengamati traffic jaringan Kubernetes Anda |
|
Penskalaan
Untuk mengoperasikan platform secara efektif dalam skala besar, diperlukan perencanaan dan pertimbangan yang cermat. Anda harus mempertimbangkan skalabilitas desain, yang merupakan kemampuan cluster untuk berkembang sekaligus tetap berada dalam tujuan tingkat layanan (SLO). Untuk mendapatkan panduan mendetail bagi administrator dan developer platform, lihat Panduan membuat cluster skalabel.
Anda juga harus mempertimbangkan kuota dan batas GKE, terutama jika berencana menjalankan cluster besar dengan kemungkinan ribuan Pod.
Menskalakan workload Autopilot
Dalam mode Autopilot, GKE secara otomatis menskalakan node Anda berdasarkan jumlah Pod di cluster Anda. Jika cluster tidak memiliki beban kerja yang berjalan, Autopilot dapat otomatis menskalakan cluster hingga nol node. Di cluster Autopilot yang baru dibuat, Anda mungkin melihat bahwa beban kerja pertama yang Anda deploy membutuhkan lebih banyak waktu untuk dijadwalkan. Hal ini karena cluster Autopilot baru dimulai dengan nol node yang dapat digunakan saat pembuatan dan menunggu hingga Anda men-deploy beban kerja untuk menyediakan node tambahan.
Untuk menskalakan jumlah Pod di cluster Anda secara otomatis, sebaiknya gunakan mekanisme seperti penskalaan otomatis Pod horizontal Kubernetes, yang dapat menskalakan Pod berdasarkan dalam metrik CPU dan memori bawaan, atau metrik kustom dari Cloud Monitoring. Untuk mempelajari cara mengonfigurasi penskalaan berdasarkan berbagai metrik, lihat Mengoptimalkan penskalaan otomatis Pod berdasarkan metrik.
Keamanan
Cluster Autopilot mengaktifkan dan menerapkan praktik terbaik serta setelan keamanan secara default, termasuk banyak rekomendasi dalam Hardening keamanan cluster dan ringkasan keamanan GKE
Jika Anda ingin mempelajari lebih lanjut langkah-langkah hardening Autopilot dan cara menerapkan persyaratan keamanan khusus, lihat Tindakan keamanan di Autopilot.
Membuat cluster
Setelah merencanakan lingkungan dan memahami kebutuhan Anda, buat cluster Autopilot. Cluster Autopilot baru adalah cluster regional yang memiliki alamat IP yang dapat diakses secara publik. Setiap cluster memiliki langkah hardening dasar yang diterapkan, serta penskalaan otomatis dan fitur lainnya. Untuk daftar lengkap fitur yang telah dikonfigurasi, lihat Membandingkan GKE Autopilot dan Standard.
Jika Anda ingin membuat cluster tanpa alamat IP publik, buat cluster pribadi.
Men-deploy workload di Autopilot
Untuk men-deploy workload ke cluster Autopilot yang berjalan, tulis manifes Kubernetes dan terapkan ke cluster. Secara default, cluster Autopilot dioptimalkan untuk menjalankan sebagian besar workload produksi.
Untuk panduan interaktif di Konsol Google Cloud terkait cara men-deploy dan mengekspos aplikasi, klik Pandu saya:
Beberapa workload Anda mungkin memiliki persyaratan hardware khusus, seperti workload ML yang memerlukan akselerator hardware atau pengujian aplikasi seluler yang memerlukan arsitektur Arm. Autopilot memiliki class komputasi yang telah dikonfigurasi Google Cloud untuk menjalankan workload yang memiliki persyaratan komputasi khusus. Saat men-deploy workload ini, minta class komputasi dalam manifes. Autopilot secara otomatis menyediakan node yang didukung oleh mesin khusus, mengelola penjadwalan, dan mengalokasikan hardware.
Tabel berikut menunjukkan beberapa persyaratan umum dan memberikan rekomendasi untuk tindakan yang sebaiknya Anda lakukan:
Kasus penggunaan | Referensi |
---|---|
Menjalankan workload Arm | Minta class komputasi Scale-Out dan arsitektur arm64 di manifes Anda. Untuk petunjuk, lihat Men-deploy workload Autopilot di arsitektur Arm. |
Menjalankan workload AI/ML yang dipercepat | Minta GPU dalam manifes Anda. Untuk petunjuk, lihat Men-deploy workload GPU di Autopilot. |
Menjalankan workload yang memerlukan kapasitas memori atau komputasi tinggi | Minta class komputasi Balanced . Untuk petunjuk, baca Memilih class komputasi untuk Pod Autopilot. |
Menjalankan workload yang memerlukan penskalaan horizontal kapasitas CPU yang lebih efisien dan komputasi thread per core tunggal | Minta class komputasi Scale-Out . Untuk petunjuk, baca Memilih class komputasi untuk Pod Autopilot. |
Menjalankan workload fault-tolerant seperti tugas batch dengan biaya lebih rendah | Tentukan Spot Pods dalam manifes Anda. Untuk petunjuk, lihat Menjalankan workload fault-tolerant dengan biaya lebih rendah di Spot Pod. Anda dapat menggunakan class komputasi atau konfigurasi hardware apa pun dengan Spot Pod. |
Menjalankan workload yang memerlukan gangguan minimal, seperti server game atau antrean tugas | Tentukan anotasi cluster-autoscaler.kubernetes.io/safe-to-evict=false dalam spesifikasi Pod. Pod dilindungi dari penghapusan yang disebabkan oleh upgrade otomatis node atau peristiwa penurunan skala selama hingga tujuh hari.
Untuk petunjuk, lihat Memperpanjang waktu berjalan Pod Autopilot. |
Membiarkan workload melampaui permintaannya jika tersedia resource yang tidak terpakai dalam jumlah permintaan resource Pod pada node. | Tetapkan limits resource lebih tinggi dari requests
atau jangan tetapkan batas resource.
Untuk mengetahui petunjuknya, lihat
Mengonfigurasi burst Pod di GKE. |
Dengan mode autopilot, Anda dapat meminta resource CPU, memori, dan penyimpanan sementara untuk workload Anda. Rentang yang diizinkan bergantung pada apakah Anda ingin menjalankan Pod di platform komputasi tujuan umum default, atau di class komputasi.
Untuk informasi tentang permintaan resource container default dan rentang resource yang diizinkan, lihat Permintaan resource di Autopilot.
Pemisahan workload
Cluster autopilot mendukung penggunaan pemilih node dan afinitas node untuk mengonfigurasi pemisahan workload. Pemisahan workload berguna saat Anda perlu memberi tahu GKE untuk menempatkan workload di node yang memenuhi kriteria tertentu, seperti label node khusus. Misalnya, Anda dapat memberi tahu GKE untuk menjadwalkan Pod server game di node dengan label game-server
dan menghindari penjadwalan Pod lain di node tersebut.
Untuk mempelajari lebih lanjut, baca Mengonfigurasi pemisahan workload di GKE.
Menjadwalkan Pod di zona tertentu menggunakan topologi zona
Jika Anda perlu menempatkan Pod di zona Google Cloud tertentu, misalnya untuk mengakses informasi di persistent disk Compute Engine zona, lihat Menempatkan Pod GKE di zona tertentu.
Afinitas dan anti-afinitas pod
Gunakan afinitas dan anti-afinitas Pod untuk menempatkan Pod bersama di satu node atau untuk membuat beberapa Pod menghindari Pod lain. Afinitas dan anti-afinitas pod memberi tahu Kubernetes untuk membuat keputusan penjadwalan berdasarkan label Pod yang berjalan di node dalam domain topologi tertentu, seperti region atau zona tertentu. Misalnya, Anda dapat memberi tahu GKE untuk menghindari penjadwalan Pod frontend bersama Pod frontend lain di node yang sama untuk meningkatkan ketersediaan jika terjadi pemadaman layanan.
Untuk petunjuk dan detail selengkapnya, lihat Afinitas dan anti-afinitas pod.
Di GKE, Anda dapat menggunakan afinitas dan anti-afinitas Pod dengan label berikut di topologyKey
:
topology.kubernetes.io/zone
kubernetes.io/hostname
Batasan penyebaran topologi pod
Untuk meningkatkan ketersediaan workload saat Kubernetes meningkatkan dan menurunkan skala jumlah Pod, Anda dapat menyetel batasan penyebaran topologi pod. Ini mengontrol cara Kubernetes menyebarkan Pod ke berbagai node dalam domain topologi, seperti region. Misalnya, Anda dapat meminta Kubernetes untuk menempatkan sejumlah Pod sesi server game tertentu di ketiga zona Google Cloud dalam region us-central1
.
Untuk contoh, detail dan petunjuk selengkapnya, lihat Batasan Penyebaran Topologi Pod.
Mengelola dan memantau cluster Autopilot Anda
Di mode Autopilot, GKE secara otomatis mengelola upgrade dan pemeliharaan cluster untuk bidang kontrol dan worker node. Cluster autopilot juga memiliki fungsi bawaan agar Anda dapat memantau cluster dan workload.
Upgrade versi GKE
Semua cluster Autopilot terdaftar di saluran rilis GKE. Dalam saluran rilis, GKE mengelola versi cluster Kubernetes, sehingga menyeimbangkan antara ketersediaan fitur dan stabilitas versi, bergantung pada salurannya. Secara default, cluster Autopilot terdaftar di saluran rilis Reguler, tetapi Anda dapat memilih saluran lain yang memenuhi kebutuhan stabilitas dan fungsi Anda. Untuk informasi selengkapnya tentang saluran rilis, lihat Tentang saluran rilis.
GKE secara otomatis memulai upgrade, memantau progres, dan menjeda operasi jika terjadi masalah. Anda dapat mengontrol proses upgrade secara manual dengan cara berikut:
- Untuk mengontrol kapan GKE dapat melakukan upgrade otomatis, buat masa pemeliharaan. Misalnya, Anda dapat menyetel masa pemeliharaan ke malam sebelum reset mingguan game multiplayer, sehingga pemain dapat login saat reset tanpa gangguan.
- Untuk mengontrol kapan GKE tidak dapat memulai upgrade otomatis selama rentang waktu tertentu, gunakan pengecualian pemeliharaan. Misalnya, Anda dapat menetapkan pengecualian pemeliharaan selama durasi acara penjualan Black Friday dan Cyber Monday, sehingga pelanggan Anda dapat berbelanja tanpa masalah.
- Untuk mendapatkan versi baru sebelum upgrade otomatis dimulai, upgrade bidang kontrol secara manual. GKE merekonsiliasi versi node dengan versi bidang kontrol dari waktu ke waktu.
- Untuk mendapatkan versi patch yang hanya tersedia di saluran rilis yang lebih baru, lihat Menjalankan versi patch dari saluran yang lebih baru. Misalnya, Anda mungkin memerlukan versi patch tertentu untuk mengurangi pengungkapan kerentanan terbaru.
Memantau cluster Autopilot Anda
Cluster Autopilot telah mengaktifkan Cloud Logging, Cloud Monitoring, dan Google Cloud Managed Service for Prometheus.
Cluster Autopilot mengumpulkan jenis log dan metrik berikut secara otomatis, sesuai dengan praktik terbaik Google untuk pengumpulan telemetri:
Log untuk Cloud Logging
- Log sistem
- Log workload
- Log audit Aktivitas Admin
- Log audit Akses Data
Metrik untuk Cloud Monitoring
- Metrik sistem
- Metrik workload (dari Managed Service for Prometheus)
Tidak diperlukan konfigurasi tambahan untuk mengaktifkan logging dan pemantauan. Tabel berikut menunjukkan cara berinteraksi dengan telemetri yang dikumpulkan berdasarkan persyaratan Anda:
Kasus penggunaan | Referensi |
---|---|
Memahami dan mengakses log GKE |
|
Mengamati performa cluster GKE Anda | Pemantauan performa cluster yang efektif dapat membantu Anda mengoptimalkan biaya pengoperasian cluster dan workload.
|
Memantau postur keamanan cluster Anda | Gunakan dasbor postur keamanan untuk mengaudit workload Anda yang berjalan berdasarkan praktik terbaik GKE, memindai kerentanan di sistem operasi container dan paket bahasa Anda, serta mendapatkan rekomendasi mitigasi yang dapat ditindaklanjuti. Untuk mempelajari lebih lanjut, lihat Tentang dasbor postur keamanan. |
Pemecahan masalah
Untuk langkah-langkah pemecahan masalah, lihat Memecahkan masalah cluster Autopilot.