Crea un cluster Google Kubernetes Engine (GKE) e un workload efficienti in termini di costi e ottimizzati per la gestione delle risorse in un'unica località. Questa guida descrive i seguenti modelli, che puoi utilizzare per eseguire il deployment di un'applicazione web di base:
Modello di cluster GKE a livello di regione: crea l'infrastruttura di base richiesta per un'applicazione a livello di regione. Questo modello configura un cluster GKE privato e sicuro ottimizzato per la gestione delle risorse.
Workload GKE a livello di regione (anteprima): esegui il deployment di un grafico Helm che include la configurazione per un'applicazione web di base. Il workload è configurato per la scalabilità in base al carico della CPU e per garantire la disponibilità dell'applicazione durante le interruzioni volontarie.
Ad esempio, puoi eseguire il deployment dei modelli di cluster e workload per soddisfare le seguenti esigenze aziendali:
| Esempio | Esigenza aziendale | Implementazione |
|---|---|---|
| Applicazione line-of-business interna | Un'applicazione interna richiede una residenza dei dati rigorosa in una regione specifica, un'efficienza in termini di costi per un utilizzo interno prevedibile e un'elevata affidabilità. | Utilizza il deployment a livello di regione per garantire la località dei dati. Utilizza la scalabilità automatica per gestire in modo efficiente le risorse per la domanda degli utenti interni. |
| Backend di e-commerce a livello di regione | Una piattaforma di e-commerce ha bisogno di un'alta affidabilità in una regione specifica per garantire un servizio continuo, scalabilità per gestire i picchi di traffico durante gli eventi di vendita e una sicurezza robusta per le transazioni e i dati dei clienti. | Crea una configurazione del cluster multi-zonale che fornisca un'alta affidabilità a livello di regione. Utilizza la configurazione dell'avvio protetto per rafforzare la strategia di sicurezza per i dati sensibili dei clienti. |
| Piattaforma di analisi ed elaborazione dei dati a livello di regione | Una piattaforma per l'elaborazione e l'analisi di set di dati di grandi dimensioni richiede la località dei dati per la conformità e le prestazioni, il calcolo ottimizzato in termini di costi per i job batch intermittenti e l'accesso sicuro ai dati. | Il deployment a livello di regione garantisce che i dati rimangano entro i confini geografici. Scala le risorse per le attività di elaborazione di grandi dimensioni e i periodi di inattività. |
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 a livello di regione efficiente in termini di costi in cui viene eseguito il workload.
La tabella seguente descrive la configurazione del cluster in questo modello:
Configurazione Finalità locationè impostato suus-central1.Limita le risorse del cluster a una singola area geografica, garantendo la località dei dati e riducendo al minimo i costi e la latenza del trasferimento dei dati tra regioni. initial_node_countè impostato su1.Definisce un nodo iniziale da creare nel pool di nodi predefinito del cluster quando viene eseguito il provisioning iniziale del cluster. Nei cluster regionali, questo è il numero di nodi per zona. release_channelè impostato su{"channel":"REGULAR"}.Garantisce che il cluster GKE riceva aggiornamenti stabili e prevedibili, fornendo un equilibrio tra nuove funzionalità e affidabilità. enable_intranode_visibilityè impostato sutrue.Consente la visibilità del traffico intranodo nei log di flusso VPC, necessaria per il monitoraggio della rete, la risoluzione dei problemi e l'analisi della sicurezza. control_plane_endpoints_configè impostato su{"dns_endpoint_config":{"allow_external_traffic":true}}.Il piano di controllo GKE è configurato per essere accessibile pubblicamente, in modo da poter gestire il cluster al di fuori della rete Virtual Private Cloud (VPC). Node pool GKE: un gruppo di nodi worker che eseguono i container dell'applicazione.
La tabella seguente descrive le configurazioni pool di nodi in questo modello:
Configurazione Finalità locationè impostato suus-central1.Specifica la regione in cui viene creato questo pool di nodi. Analogamente alla località del cluster, ciò garantisce che le risorse del pool di nodi si trovino in una singola area geografica. autoscalingè impostato su{"max_node_count":3, "min_node_count":1}.Configura il gestore della scalabilità automatica del cluster per questo pool di nodi. Garantisce che il pool di nodi mantenga sempre almeno un nodo e imposta il limite massimo a tre nodi per controllare i costi e il consumo di risorse. node_configè impostato su{"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 equilibrio tra CPU e memoria adatto ai workload per uso generico. Definisce l'accesso concesso al account di servizio. Attiva Secure Boot per le istanze Shielded VM, contribuendo a proteggere 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: 2 |
Crea due repliche iniziali per stabilire un livello iniziale di ridondanza. |
image.repository: gcr.io/google-samples/hello-app |
Utilizza un'immagine Docker del server web di base. |
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. |
hpa: {"enabled": true, "minReplicas": 2, "maxReplicas": 10, "targetCPUUtilizationPercentage": 60} |
Attiva la Horizontal Pod Autoscaler per regolare automaticamente il numero di pod tra 2 e 10 in base all'utilizzo della CPU, garantendo prestazioni ed efficienza in termini di costi. |
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 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 a regione singola e workload per eseguire il deployment dell'applicazione web.
Esegui il deployment dell'infrastruttura web
Configura ed esegui il deployment del modello Cluster GKE a livello di regione per creare l'infrastruttura di base in cui viene eseguito il workload web.
Duplica ed esegui il deployment del modello Cluster GKE a livello di regione 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. L'applicazione viene sottoposta a deployment dopo alcuni minuti.
Nel riquadro Dettagli applicazione, fai clic sulla scheda Output.
Identifica il cluster_id per la tua applicazione. Utilizzerai queste informazioni quando esegui il deployment del grafico Helm.
Esegui il deployment del workload web
Utilizza il modello Workload GKE a livello di regione per eseguire il deployment del 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 modello Workload GKE a livello di regione, fai clic su Crea nuova applicazione.
Nel campo Nome, inserisci un nome univoco per l'applicazione.
Nell'area Destinazione del deployment GKE, segui questi passaggi:
Nell'elenco Progetti, seleziona il progetto in cui hai eseguito il deployment del cluster GKE dall'applicazione Cluster GKE a livello di regione.
Nell'elenco Regione, seleziona la regione in cui hai eseguito il deployment del cluster GKE.
Nell'elenco Cluster, seleziona il cluster GKE di cui è stato eseguito il deployment.
Nell'elenco Spazio dei nomi, inserisci lo spazio dei nomi in cui hai eseguito il deployment del cluster GKE. 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 cluster, fai clic su Esegui il deployment.
Per la procedura dettagliata, vedi Esegui il deployment delle applicazioni.
Dopo alcuni minuti, la configurazione del grafico Helm viene sottoposta a deployment nel cluster GKE.
Passaggi successivi
- Scopri come eseguire il deployment o duplicare questo modello.
- Scopri come personalizzare i modelli in base alle tue esigenze specifiche.
- Identifica le best practice di architettura generali nel Google Cloud Framework di architettura.