Cluster dan workload GKE produksi tingkat perusahaan

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 kelas perusahaan: membuat infrastruktur dasar yang diperlukan untuk aplikasi produksi. Template ini menyiapkan cluster GKE pribadi yang aman dan dioptimalkan untuk integritas, jaringan lanjutan, dan pemulihan dari bencana (disaster recovery).

  • Workload GKE produksi kelas perusahaan (Pratinjau): men-deploy diagram helm yang menyertakan konfigurasi untuk aplikasi web tanpa status yang sangat tersedia. Workload dikonfigurasi untuk meningkatkan keamanan, keandalan, dan kontinuitas layanan.

Misalnya, Anda dapat men-deploy template cluster dan workload untuk mengatasi kebutuhan bisnis berikut:

Contoh Kebutuhan bisnis Penerapan
Platform perdagangan global Lembaga keuangan memerlukan platform perdagangan terdistribusi secara global dengan latensi rendah dan waktu aktif maksimum, keamanan yang ketat, serta kepatuhan yang dapat diaudit untuk menangani perdagangan frekuensi tinggi. Gunakan cluster multi-regional yang terdistribusi secara global dengan jaringan lanjutan 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-as-a-service (SaaS) perlu menghosting platform yang sangat skalabel, aman, dan dioptimalkan biayanya untuk ribuan pelanggan perusahaan, yang memerlukan isolasi tenant yang ketat, alokasi resource dinamis, dan continuous delivery fitur baru tanpa waktu henti. Gunakan cluster multi-tenant dengan isolasi namespace yang kuat, segmentasi jaringan, dan pengelolaan kuota 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 yang sangat rendah, throughput tinggi, dan kemampuan untuk beradaptasi dengan cepat ke versi model baru dengan kemampuan audit 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:

Cluster yang terhubung ke node pool di kanvas desain

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-central1 Memastikan lokalitas dan kepatuhan data dalam batas geografis. Penyiapan multi-zona dalam region memberikan ketersediaan tinggi.
    network: projects/PROJECT_ID/global/networks/enterprise-vpc Menentukan VPC yang sudah ada yang biasanya dirancang untuk segmentasi dan konektivitas jaringan.
    subnetwork: projects/PROJECT_ID/regions/us-central1/subnetworks/gke-subnet Menentukan subnetwork untuk cluster di VPC yang biasanya dirancang 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. Hal ini mencegah akses tidak sah ke API pengelolaan cluster.
    private_cluster_config.enable_private_endpoint: true Memastikan bahwa bidang kontrol hanya dapat diakses menggunakan alamat IP internal dalam VPC atau jaringan yang diizinkan. Hal ini meningkatkan keamanan dengan menghapus eksposur publik.
    private_cluster_config.enable_private_nodes: true Memastikan semua node pekerja hanya memiliki alamat IP pribadi, sehingga mengisolasinya dari internet publik dan mengurangi potensi serangan.
    release_channel: STABLE Update yang dapat diprediksi dan diuji secara menyeluruh mempertahankan stabilitas di lingkungan produksi.
    network_policy.enabled: true Mengaktifkan Kebijakan Jaringan Kubernetes, yang memberikan kontrol atas komunikasi pod-ke-pod untuk meningkatkan keamanan dan mikro-segmentasi.
    binary_authorization: true Menerapkan 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, memberikan keamanan data, dan memenuhi persyaratan kepatuhan.
    workload_identity_config: {"enabled": true} Mengizinkan akun layanan Kubernetes untuk bertindak sebagai Google Cloud akun layanan, sehingga memungkinkan akses yang aman dan terperinci ke resource menggunakan IAM.
    logging_config dan monitoring_config ditetapkan 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 workload 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: true Node 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 lanjutan, termasuk pemindaian kerentanan dan penerapan kebijakan.
  • Node pool GKE: grup node pekerja yang menjalankan container aplikasi.

    Tabel berikut menjelaskan konfigurasi node pool dalam template ini:

    Konfigurasi Tujuan
    location: us-central1. Menentukan region tempat node pool 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 autoscaler cluster untuk node pool ini. Memastikan node pool selalu mempertahankan setidaknya satu node, dan menetapkan batas atas hingga tiga node untuk mengontrol biaya dan penggunaan 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 pool ini. Jenis mesin adalah keseimbangan CPU dan memori yang cocok untuk workload tujuan umum. Menentukan akses yang diberikan ke akun layanan. Mengaktifkan Booting Aman untuk instance Shielded VM, sehingga membantu melindungi 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 CPU dan memori minimum yang dicadangkan untuk setiap pod, sehingga memastikan resource tersedia dan penjadwalan yang efisien.
resources.limits: {"cpu": "250m", "memory": "256Mi"} Menentukan jumlah CPU dan memori maksimum 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 endpoint jaringan lainnya, sehingga 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} Mengaktifkan Anggaran Disrupsi Pod untuk memastikan bahwa setidaknya satu replika tetap tersedia selama gangguan sukarela, sehingga mempertahankan ketersediaan tinggi.

Membuat aplikasi web

Gunakan template Cluster dan workload GKE produksi kelas perusahaan untuk men-deploy aplikasi web Anda.

Men-deploy infrastruktur web

Konfigurasikan dan deploy template Cluster GKE produksi kelas perusahaan untuk membuat infrastruktur dasar tempat workload web Anda berjalan.

  1. Duplikasikan dan deploy template Cluster GKE produksi kelas perusahaan sebagai aplikasi.

    Cluster GKE dibuat dalam project deployment yang Anda pilih.

  2. Konfigurasikan komponen. Untuk mengetahui informasi selengkapnya, lihat referensi berikut:

  3. Klik Deploy. Aplikasi akan di-deploy setelah beberapa menit.

  4. Di panel Application details, klik tab Outputs.

  5. Identifikasi cluster_id untuk aplikasi Anda. Anda akan menggunakan informasi ini saat men-deploy diagram helm.

Men-deploy workload web

Gunakan template Workload GKE produksi kelas perusahaan untuk men-deploy workload web ke dalam cluster yang Anda buat. Anda akan men-deploy diagram helm yang menyertakan konfigurasi workload web.

  1. Dari halaman Google catalog, pada template Enterprise-grade production GKE workload, klik Create new application.

  2. Di kolom Name, masukkan nama unik untuk aplikasi Anda.

  3. Di area GKE Deployment Target, lakukan hal berikut:

    1. Dari Project list, pilih project tempat Anda men-deploy cluster GKE dari aplikasi Enterprise-grade production GKE cluster.

    2. Dari daftar Region, pilih region tempat Anda men-deploy cluster GKE.

    3. Dari daftar Clusters, pilih cluster GKE yang di-deploy.

    4. Dari daftar Namespace, masukkan namespace untuk workload Anda. Jika Anda tidak mengubah nama, masukkan default.

    5. Klik Create application.

    Aplikasi akan dibuat dan file konfigurasi akan ditampilkan.

  4. Di panel Helm chart, lakukan hal berikut:

    1. Tinjau detail konfigurasi.

    2. Opsional: sesuaikan konfigurasi untuk memenuhi kebutuhan unik Anda.

    3. Untuk men-deploy diagram helm ke cluster Anda, klik Deploy.

      Untuk mengetahui langkah-langkah mendetail, lihat Men-deploy aplikasi.

    Setelah beberapa menit, konfigurasi diagram helm akan di-deploy ke cluster GKE Anda.

Langkah berikutnya