Deployment di carichi di lavoro


Come indicato nella nostra guida sul ciclo di vita del cluster, in qualità di utente GKE in genere utilizzi gli strumenti Google Cloud per la gestione dei cluster e gli strumenti Kubernetes come kubectl per le attività interne al cluster, come il deployment delle applicazioni. Ciò significa che se hai già dimestichezza con il deployment dei carichi di lavoro su un'altra implementazione di Kubernetes, il deployment dei carichi di lavoro su GKE dovrebbe comportare molti degli stessi flussi di lavoro (se non hai già dimestichezza con il deployment dei carichi di lavoro su Kubernetes, consulta Deployment e le altre risorse in Inizia a scoprire Kubernetes).

Tuttavia, GKE fornisce anche funzionalità aggiuntive per il deployment e la gestione dei carichi di lavoro, tra cui strumenti di osservabilità, opzioni di database completamente gestite per le applicazioni con stato e opzioni hardware specifiche per tipi di carichi di lavoro speciali, inclusi i carichi di lavoro di AI/ML.

Questa pagina fornisce una rapida panoramica per sviluppatori e amministratori che vogliono eseguire il deployment di carichi di lavoro sui cluster GKE, con link a documentazione più dettagliata. Puoi trovare molte altre guide e tutorial specifici nelle sezioni Esegui il deployment… della documentazione di base di GKE.

Prima di leggere questa pagina, devi conoscere quanto segue:

Ruoli obbligatori

Se non sei il proprietario di un progetto, devi disporre almeno del seguente ruolo IAM per eseguire il deployment dei carichi di lavoro:

  • Visualizzatore cluster Kubernetes Engine (roles/container.clusterViewer): fornisce l'autorizzazione container.clusters.get, necessaria per autenticarsi nei cluster di un progetto Google Cloud. Ciò non ti autorizza a eseguire azioni all'interno di questi cluster. L'amministratore del cluster può autorizzarti a eseguire altre azioni sul cluster utilizzando IAM o Kubernetes RBAC.

    Per informazioni dettagliate su tutte le autorizzazioni incluse in questo ruolo o per concedere un ruolo con autorizzazioni di lettura/scrittura, consulta la sezione Ruoli Kubernetes Engine nella documentazione IAM.

Puoi scoprire di più su come funziona controllo dell'accesso in GKE in Controllo dell'accesso.

Applicazioni stateless

Le applicazioni stateless sono applicazioni che non archiviano lo stato dei dati o delle applicazioni nel cluster o in uno spazio di archiviazione permanente. Le applicazioni senza stato possono essere messe in produzione direttamente dal menu Carichi di lavoro nella console Google Cloud nonché utilizzando l'API Kubernetes. Puoi scoprire come eseguire il deployment di un'applicazione Linux stateless su GKE in Deployment di un'applicazione Linux stateless. Se preferisci, puoi anche scoprire come eseguire il deployment di un'applicazione Windows Server stateless.

Applicazioni stateful e archiviazione

Le applicazioni che devono salvare i dati esistenti oltre la durata del pod sono chiamate applicazioni stateful. Tu o il tuo amministratore potete utilizzare un oggetto PersistentVolume di Kubernetes per eseguire il provisioning di questo spazio di archiviazione. In GKE, lo spazio di archiviazione dei volumi permanenti è supportato dai dischi Compute Engine. Puoi scoprire come eseguire il deployment di un'applicazione stateful semplice su GKE in Eseguire il deployment di un'applicazione stateful.

Se vuoi che i dati della tua applicazione stateful persistano in un database anziché in uno spazio di archiviazione legato alla vita utile di un cluster, GKE offre le seguenti opzioni:

  • Database completamente gestiti: un database gestito, come Cloud SQL o Spanner, offre un overhead operativo ridotto ed è ottimizzato per l'infrastruttura Google Cloud. I database gestiti richiedono meno impegno per la manutenzione e il funzionamento rispetto a un database di cui esegui il deployment direttamente in Kubernetes.
  • Applicazione Kubernetes: puoi eseguire il deployment e l'esecuzione di un'istanza di database (ad esempio MySQL o PostgreSQL) su un cluster GKE.

Puoi scoprire di più sulle opzioni di dati in GKE in Dati su GKE e Pianifica i deployment di database su GKE.

Carichi di lavoro con requisiti speciali

GKE fornisce funzionalità e guide per aiutarti a eseguire il deployment di carichi di lavoro con requisiti speciali, tra cui applicazioni che richiedono architetture di nodi e carichi di lavoro AI/ML specifici che utilizzano Cloud TPU, nonché applicazioni che richiedono l'esecuzione dei pod su nodi uguali o separati. Per scoprire di più sul deployment di alcuni di questi componenti, consulta le seguenti guide:

  • Informazioni sulle TPU in GKE illustra l'utilizzo degli acceleratori Cloud TPU per i workload AI/ML in GKE. GKE fornisce il supporto completo per la gestione del ciclo di vita dei nodi TPU e pool di nodi, inclusa la creazione, la configurazione e l'eliminazione delle VM TPU. Puoi eseguire il deployment dei carichi di lavoro TPU sia sui cluster standard sia su quelli Autopilot.
  • Informazioni sulle GPU in GKE spiega come richiedere e utilizzare l'hardware GPU con i workload GKE.
  • Classi di calcolo in Autopilot descrive come scegliere architetture di calcolo specifiche per la pianificazione dei pod durante il deployment delle applicazioni sui cluster Autopilot. Per i cluster standard, puoi specificare direttamente la famiglia di macchine che vuoi utilizzare per i tuoi nodi durante la creazione di un cluster.
  • L'articolo Informazioni sulle classi di calcolo personalizzate descrive come creare classi di calcolo personalizzate per una maggiore flessibilità quando specifichi le opzioni hardware per le tue applicazioni sia sui cluster Autopilot che su quelli standard.
  • L'articolo Configurare la separazione dei carichi di lavoro in GKE descrive come assicurarti che i pod della tua applicazione vengano eseguiti sulle stesse o su macchine di base diverse.

Osservazione dei carichi di lavoro

GKE offre una serie di funzionalità per osservare i carichi di lavoro e la loro integrità, tra cui panoramiche dello stato e delle metriche dei carichi di lavoro nella console Google Cloud, nonché metriche, log e avvisi più approfonditi.

Gestione del deployment dei carichi di lavoro

Se tu o il tuo amministratore volete configurare una pipeline di integrazione e distribuzione continua (CI/CD) per il deployment dei vostri carichi di lavoro, potete trovare linee guida e best practice specifiche per GKE per l'integrazione e la distribuzione continua in Best practice per l'integrazione e la distribuzione continua in GKE, nonché tutorial per la configurazione di pipeline CI/CD con strumenti e prodotti specifici.

Passaggi successivi