Buat cluster dan workload Google Kubernetes Engine (GKE) dengan keamanan tinggi yang dioptimalkan untuk produksi. Panduan ini menjelaskan template berikut, yang dapat Anda gunakan untuk men-deploy aplikasi web produksi:
Template cluster GKE produksi tingkat perusahaan: buat infrastruktur dasar yang diperlukan untuk aplikasi produksi. Template ini menyiapkan cluster GKE pribadi yang aman dan dioptimalkan untuk integritas, jaringan tingkat lanjut, dan pemulihan dari bencana (disaster recovery).
Workload GKE produksi tingkat perusahaan (Pratinjau): men-deploy diagram helm yang mencakup konfigurasi untuk aplikasi web stateless dengan ketersediaan tinggi. Workload dikonfigurasi untuk meningkatkan keamanan, keandalan, dan kelangsungan layanan.
Misalnya, Anda dapat men-deploy template cluster dan workload untuk memenuhi kebutuhan bisnis berikut:
| Contoh | Kebutuhan bisnis | Penerapan |
|---|---|---|
| Platform perdagangan global | Lembaga keuangan memerlukan platform perdagangan yang didistribusikan secara global dengan latensi rendah, waktu beroperasi maksimum, keamanan yang ketat, dan kepatuhan yang dapat diaudit untuk menangani perdagangan frekuensi tinggi. | Gunakan cluster multi-regional yang didistribusikan secara global dengan jaringan canggih untuk memastikan latensi ultra-rendah dan ketahanan. Terapkan kebijakan jaringan yang kuat, konfigurasi cluster pribadi, dan fitur keamanan lanjutan untuk perlindungan data dan kepatuhan terhadap peraturan. |
| Platform SaaS multi-tenant | Penyedia software sebagai layanan (SaaS) perlu menghosting platform yang sangat skalabel, aman, dan dioptimalkan untuk biaya bagi ribuan pelanggan perusahaan, yang memerlukan isolasi tenant yang ketat, alokasi resource dinamis, dan continuous delivery fitur baru tanpa periode nonaktif. | Gunakan cluster multi-tenant dengan isolasi namespace, segmentasi jaringan, dan pengelolaan kuota yang andal untuk memastikan pembagian resource dan keamanan yang adil antar-tenant. |
| Inferensi real-time untuk operasi penting | Organisasi perlu men-deploy model AI/ML untuk inferensi real-time dalam aplikasi deteksi penipuan yang penting, yang memerlukan latensi sangat rendah, throughput tinggi, dan kemampuan untuk beradaptasi dengan cepat terhadap versi model baru dengan auditabilitas penuh. | Konfigurasi cluster dengan node pool khusus untuk inferensi AI. Pastikan konektivitas jaringan latensi rendah dan aktifkan perutean traffic yang efisien ke endpoint inferensi. |
Arsitektur
Gambar berikut menunjukkan komponen dan koneksi dalam template:
Berikut ini deskripsi konfigurasi komponen dalam template ini:
Cluster GKE Standard: cluster tempat workload Anda berjalan.
Tabel berikut menjelaskan konfigurasi cluster dalam template ini:
Konfigurasi Tujuan location: us-central1Memastikan lokalitas dan kepatuhan data dalam batas geografis. Penyiapan multi-zona dalam region memberikan ketersediaan tinggi. network: projects/PROJECT_ID/global/networks/enterprise-vpcMenentukan VPC yang sudah ada dan biasanya dirancang untuk segmentasi dan konektivitas jaringan. subnetwork: projects/PROJECT_ID/regions/us-central1/subnetworks/gke-subnetMenentukan subnetwork untuk cluster di VPC yang biasanya didesain dengan alokasi IP dan isolasi jaringan yang tepat. master_authorized_networks_config: [{"cidr_block": "10.0.0.0/8", "display_name": "Internal Network"}]Membatasi akses ke endpoint bidang kontrol ke blok CIDR IP tertentu yang tepercaya. Tindakan ini mencegah akses tidak sah ke API pengelolaan cluster. private_cluster_config.enable_private_endpoint: trueMemastikan bahwa bidang kontrol hanya dapat diakses menggunakan alamat IP internal dalam VPC atau jaringan yang diizinkan. Tindakan ini meningkatkan keamanan dengan menghilangkan eksposur publik. private_cluster_config.enable_private_nodes: trueMemastikan semua worker node hanya memiliki alamat IP pribadi, mengisolasinya dari internet publik dan mengurangi permukaan serangan. release_channel: STABLEUpdate yang dapat diprediksi dan diuji secara menyeluruh menjaga stabilitas di lingkungan produksi. network_policy.enabled: trueMengaktifkan Kebijakan Jaringan Kubernetes, yang memberikan kontrol atas komunikasi pod ke pod untuk meningkatkan keamanan dan segmentasi mikro. binary_authorization: trueMenerapkan kebijakan deployment, memastikan hanya image container tepercaya dan bertanda tangan yang dapat berjalan di cluster. database_encryption: {"state": "ENCRYPTED_WITH_CMEK", "key_name": "projects/PROJECT_ID/locations/us-central1/keyRings/gke-keyring/cryptoKeys/gke-etcd-key"}Kunci Enkripsi yang Dikelola Pelanggan (CMEK) mengenkripsi database, sehingga memberikan keamanan data dan memenuhi persyaratan kepatuhan. workload_identity_config: {"enabled": true}Mengizinkan akun layanan Kubernetes bertindak sebagai akun layanan Google Cloud , sehingga memungkinkan akses yang aman dan terperinci ke resource menggunakan IAM. logging_configdanmonitoring_configdisetel ke{"component_config": {"enable_components": ["SYSTEM_COMPONENTS", "WORKLOADS"]}}Terintegrasi dengan Cloud Logging dan Cloud Monitoring, sehingga memastikan kemampuan observasi, audit, dan pemberitahuan yang komprehensif untuk beban kerja produksi. maintenance_policy: {"daily_maintenance_window": {"start_time": "03:00"}, "recurring_window": {"start_time": "00:00", "end_time": "04:00", "recurrence": "FREQ=WEEKLY;BYDAY=SAT,SUN"}}Masa pemeliharaan mengontrol kapan GKE melakukan upgrade otomatis, sehingga meminimalkan gangguan pada aplikasi penting. enable_shielded_nodes: trueNode GKE Terlindungi menyediakan fitur keamanan seperti booting aman dan pemantauan integritas untuk melindungi dari rootkit dan malware tingkat booting. gateway_api_config: {"channel": "CHANNEL_STANDARD"}Pengelolaan traffic lanjutan untuk perutean, load balancing, dan pengelolaan API yang kompleks dalam aplikasi perusahaan. security_posture_config: {"mode": "ENTERPRISE", "vulnerability_mode": "VULNERABILITY_ENTERPRISE"}Pengelolaan postur keamanan tingkat lanjut, termasuk pemindaian kerentanan dan penerapan kebijakan. Node pool GKE: sekelompok worker node yang menjalankan container aplikasi.
Tabel berikut menjelaskan konfigurasi kumpulan node dalam template ini:
Konfigurasi Tujuan location: us-central1.Menentukan region tempat kumpulan node ini dibuat. Mirip dengan lokasi cluster, hal ini memastikan resource node pool berada di satu area geografis. autoscaling: {"max_node_count":3, "min_node_count":1}.Mengonfigurasi penskalaan otomatis cluster untuk node pool ini. Memastikan bahwa node pool selalu memiliki setidaknya satu node, dan menetapkan batas atas hingga tiga node untuk mengontrol biaya dan konsumsi resource. node_config: {"machine_type":"e2-medium", "oauth_scopes":["https://www.googleapis.com/auth/cloud-platform"], "shielded_instance_config":{"enable_secure_boot":true}}.Mengelompokkan konfigurasi untuk node dalam kumpulan ini. Jenis mesin ini memiliki keseimbangan CPU dan memori yang cocok untuk beban kerja umum. Menentukan akses yang diberikan ke akun layanan. Mengaktifkan Booting Aman untuk instance Shielded VM, sehingga membantu memberikan perlindungan dari malware tingkat booting.
Konfigurasi diagram Helm
Tabel berikut mencantumkan konfigurasi diagram helm, yang telah disesuaikan untuk men-deploy dan menskalakan aplikasi web dasar di GKE.
| Konfigurasi | Tujuan |
|---|---|
replicaCount: 3 |
Membuat tiga replika awal untuk menetapkan tingkat redundansi awal dan ketersediaan tinggi dasar untuk aplikasi. |
image.repository: gcr.io/google-samples/hello-app |
Menggunakan image Docker server web dasar sebagai placeholder. |
resources.requests: {"cpu": "100m", "memory": "128Mi"} |
Menentukan jumlah minimum CPU dan memori yang dicadangkan untuk setiap pod, sehingga memastikan ketersediaan resource dan penjadwalan yang efisien. |
resources.limits: {"cpu": "250m", "memory": "256Mi"} |
Menentukan jumlah maksimum CPU dan memori yang dicadangkan untuk setiap pod, sehingga mencegah monopoli resource oleh satu pod. |
networkPolicy.enabled: true |
Mengaktifkan Kebijakan Jaringan Kubernetes untuk aplikasi, yang memungkinkan Anda menentukan aturan tentang cara pod berkomunikasi satu sama lain dan dengan endpoint jaringan lainnya, serta menerapkan segmentasi dan isolasi jaringan. |
service: {"type": "ClusterIP", "port": 80} |
Mengonfigurasi layanan untuk akses internal dalam cluster di port HTTP standar. |
pdb: {"enabled": true, "minAvailable": 1} |
Memungkinkan Anggaran Gangguan Pod untuk memastikan bahwa setidaknya satu replika tetap tersedia selama gangguan sukarela, sehingga mempertahankan ketersediaan tinggi. |
Membuat aplikasi web Anda
Gunakan template cluster GKE produksi tingkat perusahaan dan workload untuk men-deploy aplikasi web Anda.
Men-deploy infrastruktur web Anda
Konfigurasi dan deploy template cluster GKE produksi tingkat Enterprise untuk membuat infrastruktur dasar tempat beban kerja web Anda berjalan.
Duplikasikan dan deploy template Cluster GKE produksi tingkat perusahaan sebagai aplikasi.
Cluster GKE dibuat dalam project deployment yang Anda pilih.
Konfigurasi komponen. Untuk informasi selengkapnya, lihat referensi berikut:
Klik Deploy. Aplikasi akan di-deploy setelah beberapa menit.
Di panel Application details, klik tab Outputs.
Identifikasi cluster_id untuk aplikasi Anda. Anda akan menggunakan informasi ini saat men-deploy diagram helm.
Men-deploy workload web Anda
Gunakan template Workload GKE produksi tingkat perusahaan untuk men-deploy workload web ke cluster yang Anda buat. Anda akan men-deploy diagram helm yang menyertakan konfigurasi beban kerja web Anda.
Dari halaman Google catalog, pada template Enterprise-grade production GKE workload, klik Create new application.
Di kolom Name, masukkan nama unik untuk aplikasi Anda.
Di area GKE Deployment Target, lakukan hal berikut:
Dari Project list, pilih project tempat Anda men-deploy cluster GKE dari aplikasi Enterprise-grade production GKE cluster.
Dari daftar Region, pilih region tempat Anda men-deploy cluster GKE.
Dari daftar Clusters, pilih cluster GKE yang di-deploy.
Dari daftar Namespace, masukkan namespace untuk workload Anda. Jika Anda tidak mengubah nama, masukkan
default.Klik Create application.
Aplikasi dibuat dan file konfigurasi ditampilkan.
Di panel Helm chart, lakukan hal berikut:
Tinjau detail konfigurasi.
Opsional: sesuaikan konfigurasi untuk memenuhi kebutuhan unik Anda.
Untuk men-deploy helm chart ke cluster Anda, klik Deploy.
Untuk mengetahui langkah-langkah mendetail, lihat Men-deploy aplikasi.
Setelah beberapa menit, konfigurasi helm chart akan di-deploy ke cluster GKE Anda.
Langkah berikutnya
- Untuk mempelajari cara menduplikasi dan menyesuaikan template, lihat Panduan memulai: Menyesuaikan dan men-deploy template Google.
- Tentukan konfigurasi Anda sendiri dengan mendesain template aplikasi.
- Identifikasi praktik terbaik arsitektur umum dengan Google Cloud Framework Arsitektur.