I template Google Kubernetes Engine (GKE) di produzione di livello enterprise in Application Design Center ti consentono di eseguire il deployment di un cluster ad alta sicurezza e di un'applicazione web stateless. Puoi utilizzare il template Cluster GKE di produzione di livello enterprise per eseguire il provisioning di un cluster GKE privato e sicuro configurato per l'integrità, il networking avanzato e il ripristino di emergenza. Puoi quindi accoppiarlo al template Workload GKE di produzione di livello enterprise (anteprima) per eseguire il deployment di un grafico Helm configurato per l'alta affidabilità, l'affidabilità e la continuità del servizio.
Ad esempio, puoi eseguire il deployment dei template di cluster e workload per soddisfare le seguenti esigenze aziendali:
| Esempio | Esigenza aziendale | Implementazione |
|---|---|---|
| Piattaforma di trading globale | Un istituto finanziario richiede una piattaforma di trading distribuita a livello globale, a bassa latenza, con uptime massimo, sicurezza rigorosa e conformità verificabile per gestire operazioni di trading ad alta frequenza. | Utilizza cluster multiregionali distribuiti a livello globale con networking avanzato per garantire una latenza ultra bassa e la resilienza. Implementa policy di rete efficaci, configurazioni di cluster privato e funzionalità di sicurezza avanzate per la protezione dei dati e la conformità legale. |
| Piattaforma SaaS multi-tenant | Un provider di software as a service (SaaS) deve ospitare una piattaforma altamente scalabile, sicura e ottimizzata in termini di costi per migliaia di clienti aziendali, che richiede un isolamento rigoroso dei tenant, un'allocazione dinamica delle risorse e una distribuzione continua di nuove funzionalità senza tempi di inattività. | Utilizza cluster multi-tenant con un isolamento efficace degli spazi dei nomi, una segmentazione della rete e una gestione delle quote per garantire una condivisione delle risorse e una sicurezza eque tra i tenant. |
| Inferenza in tempo reale per operazioni critiche | Un'organizzazione deve eseguire il deployment di modelli di AI/ML per l'inferenza in tempo reale in applicazioni di rilevamento delle frodi mission-critical, che richiedono una latenza estremamente bassa, un throughput elevato e la capacità di adattarsi rapidamente alle nuove versioni dei modelli con una completa verificabilità. | Configura i cluster con node pool specializzati per l'inferenza AI. Garantire una connessione di rete a bassa latenza e consentire un routing del traffico efficiente verso gli endpoint di inferenza. |
Architettura
La seguente immagine mostra i componenti e le connessioni nel modello:
Di seguito sono descritte le configurazioni dei componenti in questo modello:
Cluster GKE Standard: un cluster in cui viene eseguito il workload.
La tabella seguente descrive la configurazione del cluster in questo template:
Configurazione Finalità location: us-central1Garantisce la località dei dati e la conformità all'interno di un confine geografico. Una configurazione multizona all'interno della regione garantisce un'alta affidabilità. network: projects/PROJECT_ID/global/networks/enterprise-vpcSpecifica un VPC preesistente, in genere progettato per la segmentazione e la connettività della rete. subnetwork: projects/PROJECT_ID/regions/us-central1/subnetworks/gke-subnetSpecifica una subnet per il cluster nel VPC, che in genere è progettata con un'allocazione IP e un isolamento della rete appropriati. master_authorized_networks_config: [{"cidr_block": "10.0.0.0/8", "display_name": "Internal Network"}]Limita l'accesso all'endpoint del control plane a blocchi CIDR IP specifici e attendibili. In questo modo, si impedisce l'accesso non autorizzato alle API di gestione dei cluster. private_cluster_config.enable_private_endpoint: trueGarantisce che il control plane sia accessibile solo utilizzando indirizzi IP interni all'interno del VPC o delle reti autorizzate. In questo modo, la sicurezza viene migliorata rimuovendo l'esposizione pubblica. private_cluster_config.enable_private_nodes: trueGarantisce che tutti i nodi worker abbiano solo indirizzi IP privati, isolandoli dalla rete internet pubblica e riducendo la superficie di attacco. release_channel: STABLEGli aggiornamenti prevedibili e testati accuratamente mantengono la stabilità in un ambiente di produzione. network_policy.enabled: trueAbilita la policy di rete di Kubernetes, che fornisce il controllo sulla comunicazione tra pod per una maggiore sicurezza e microsegmentazione. binary_authorization: trueApplica i criteri di deployment, garantendo che nel cluster possano essere eseguite solo immagini container attendibili e firmate. database_encryption: {"state": "ENCRYPTED_WITH_CMEK", "key_name": "projects/PROJECT_ID/locations/us-central1/keyRings/gke-keyring/cryptoKeys/gke-etcd-key"}Le chiavi di crittografia gestite dal cliente (CMEK) criptano il database, garantendo la sicurezza dei dati e soddisfacendo i requisiti di conformità. workload_identity_config: {"enabled": true}Consente ai service account Kubernetes di agire come service account Google Cloud , consentendo un accesso sicuro e granulare alle risorse utilizzando IAM. logging_configemonitoring_configsono impostate su{"component_config": {"enable_components": ["SYSTEM_COMPONENTS", "WORKLOADS"]}}Si integra con Cloud Logging e Cloud Monitoring, garantendo osservabilità, controllo e avvisi completi per i workload di produzione. 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"}}I periodi di manutenzione controllano quando GKE esegue gli upgrade automatici, riducendo al minimo le interruzioni delle applicazioni critiche. enable_shielded_nodes: trueI nodi GKE schermati forniscono funzionalità di sicurezza come l'avvio protetto e il monitoraggio dell'integrità per proteggere da rootkit e malware a livello di avvio. gateway_api_config: {"channel": "CHANNEL_STANDARD"}Gestione avanzata del traffico per routing, bilanciamento del carico e gestione delle API complessi nelle applicazioni aziendali. security_posture_config: {"mode": "ENTERPRISE", "vulnerability_mode": "VULNERABILITY_ENTERPRISE"}Gestione avanzata della security posture, tra cui analisi delle vulnerabilità e applicazione delle policy. Node pool GKE: un gruppo di nodi worker che eseguono i container dell'applicazione.
La tabella seguente descrive le configurazioni dei pool di nodi in questo template:
Configurazione Finalità location: us-central1.Specifica la regione in cui viene creato questo pool di nodi. Analogamente alla località del cluster, questo garantisce che le risorse del pool di nodi si trovino in un'unica area geografica. autoscaling: {"max_node_count":3, "min_node_count":1}.Configura il gestore della scalabilità automatica dei cluster per questo pool di nodi. Garantisce che il pool di nodi mantenga sempre almeno un nodo e imposta il limite superiore su tre nodi per controllare i costi e il consumo di risorse. node_config: {"machine_type":"e2-medium", "oauth_scopes":["https://www.googleapis.com/auth/cloud-platform"], "shielded_instance_config":{"enable_secure_boot":true}}.Raggruppa le configurazioni per i nodi all'interno di questo pool. Il tipo di macchina è un bilanciamento di CPU e memoria adatto ai workload per uso generico. Definisce l'accesso concesso al account di servizio. Abilita l'avvio protetto per le istanze Shielded VM, contribuendo a proteggerle dal malware a livello di avvio.
Configurazione del grafico Helm
La tabella seguente elenca le configurazioni del grafico Helm, che sono state personalizzate per il deployment e la scalabilità di un'applicazione web di base su GKE.
| Configurazione | Finalità |
|---|---|
replicaCount: 3 |
Crea tre repliche iniziali per stabilire un livello iniziale di ridondanza e un'alta affidabilità di base per l'applicazione. |
image.repository: gcr.io/google-samples/hello-app |
Utilizza un'immagine Docker del server web di base come segnaposto. |
resources.requests: {"cpu": "100m", "memory": "128Mi"} |
Specifica la quantità minima di CPU e memoria riservata per ogni pod, garantendo risorse disponibili e una pianificazione efficiente. |
resources.limits: {"cpu": "250m", "memory": "256Mi"} |
Specifica la quantità massima di CPU e memoria riservata per ogni pod, impedendo la monopolizzazione delle risorse da parte di un singolo pod. |
networkPolicy.enabled: true |
Attiva le policy di rete di Kubernetes per l'applicazione, consentendoti di definire regole per la comunicazione dei pod tra loro e con altri endpoint di rete, applicando la segmentazione e l'isolamento della rete. |
service: {"type": "ClusterIP", "port": 80} |
Configura il servizio per l'accesso interno al cluster sulla porta HTTP standard. |
pdb: {"enabled": true, "minAvailable": 1} |
Abilita un budget di interruzione dei pod (PDB) per garantire che almeno una replica rimanga disponibile durante le interruzioni volontarie, mantenendo un'alta affidabilità. |
Crea la tua applicazione web
Utilizza i modelli Cluster GKE e workload di produzione di livello enterprise per eseguire il deployment della tua applicazione web.
Esegui il deployment della tua infrastruttura web
Configura ed esegui il deployment del template Cluster GKE di produzione di livello enterprise per creare l'infrastruttura di base in cui viene eseguito il workload web.
Duplica ed esegui il deployment del modello Cluster GKE di produzione di livello enterprise come applicazione.
Viene creato un cluster GKE nel progetto di deployment che scegli.
Configura i componenti. Per ulteriori informazioni, consulta le seguenti risorse:
Fai clic su Esegui il deployment. Il deployment dell'applicazione viene eseguito dopo alcuni minuti.
Nel riquadro Dettagli applicazione, fai clic sulla scheda Output.
Identifica il cluster_id della tua applicazione. Utilizzerai queste informazioni quando eseguirai il deployment del tuo grafico Helm.
Esegui il deployment del tuo workload web
Utilizza il template Workload GKE di produzione di livello enterprise per eseguire il deployment del tuo workload web nel cluster che hai creato. Eseguirai il deployment di un grafico Helm che include la configurazione del workload web.
Nella pagina Catalogo Google, nel template Workload GKE di produzione di livello enterprise, fai clic su Crea nuova applicazione.
Nel campo Nome, inserisci un nome univoco per l'applicazione.
Nell'area Destinazione deployment GKE, segui questi passaggi:
Dall'elenco dei progetti, seleziona il progetto in cui hai eseguito il deployment del cluster GKE dall'applicazione Cluster GKE di produzione di livello enterprise.
Dall'elenco Regione, seleziona la regione in cui hai eseguito il deployment del cluster GKE.
Dall'elenco Cluster, seleziona il cluster GKE di cui è stato eseguito il deployment.
Dall'elenco Spazio dei nomi, inserisci lo spazio dei nomi per il tuo workload. Se non hai modificato il nome, inserisci
default.Fai clic su Crea applicazione.
L'applicazione viene creata e vengono visualizzati i file di configurazione.
Nel riquadro Grafico Helm, segui questi passaggi:
Esamina i dettagli di configurazione.
(Facoltativo) Personalizza la configurazione in base alle tue esigenze specifiche.
Per eseguire il deployment del grafico Helm nel tuo cluster, fai clic su Esegui il deployment.
Per i passaggi dettagliati, consulta Esegui il deployment delle applicazioni.
Dopo alcuni minuti, la configurazione del grafico Helm viene distribuita nel cluster GKE.
Passaggi successivi
- Per scoprire come duplicare e personalizzare i modelli, consulta Guida rapida: personalizza ed esegui il deployment di un modello Google.
- Definisci le tue configurazioni progettando i modelli di applicazione.
- Identifica le best practice generali per l'architettura con il framework di architettura diGoogle Cloud .