In questa pagina viene descritta la modalità operativa Autopilot in Google Kubernetes Engine (GKE) e ti fornisce risorse che puoi utilizzare per di pianificare, configurare e gestire i cluster.
Che cos'è Autopilot?
GKE Autopilot è una modalità operativa GKE, in cui Google gestisce la configurazione del cluster, incluse nodi, scalabilità, sicurezza e altre impostazioni preconfigurate. I cluster Autopilot sono ottimizzati per eseguire la maggior parte dei carichi di lavoro di produzione il provisioning delle risorse di calcolo in base ai manifest di Kubernetes. Il modello semplificato segue le best practice e i suggerimenti di GKE per la configurazione, la scalabilità e la sicurezza di cluster e carichi di lavoro. Per un elenco di componenti impostazioni, consulta le Tabella di confronto tra Autopilot e Standard.
Prezzi
Nella maggior parte dei casi, paghi solo per la CPU, la memoria e lo spazio di archiviazione durante l'esecuzione su GKE Autopilot. Non ti viene addebitato alcun costo per la capacità inutilizzata sui nodi, perché GKE e gestire i nodi.
Non ti viene addebitato alcun costo per i pod di sistema, o carichi di lavoro non pianificati. Per informazioni più dettagliate sui prezzi, consulta Prezzi di Autopilot.
Vantaggi
- Concentrati sulle tue app: Google gestisce l'infrastruttura in modo che tu possa concentrarti per la creazione e il deployment delle applicazioni.
- Sicurezza: i cluster hanno una configurazione predefinita protetta, con molte e le impostazioni di sicurezza attivate per impostazione predefinita. GKE è in esecuzione applicazioni di sicurezza ai nodi, se disponibili, rispettando qualsiasi le pianificazioni di manutenzione configurate.
- Prezzi: il modello di prezzi di Autopilot semplifica la fatturazione previsioni e attribuzione.
- Gestione dei nodi: Google gestisce i nodi worker, quindi non è necessario creare nuovi nodi per accogliere i tuoi carichi di lavoro o configurare gli upgrade e le riparazioni.
- Scalabilità: quando i carichi di lavoro presentano un carico elevato e aggiungi altri pod per gestire il traffico, come nel caso dei pod orizzontali di Kubernetes Scalabilità automatica, GKE esegue automaticamente il provisioning di nuovi nodi Pod ed espande automaticamente le risorse nei nodi esistenti in base in caso di necessità.
- Scheduling (Pianificazione): Autopilot gestisce il bin packing dei pod per te, non devi preoccuparti di quanti pod sono in esecuzione su ciascun nodo. Puoi controllare ulteriormente il posizionamento dei pod utilizzando meccanismi Kubernetes come di affinità e la topologia di diffusione dei pod.
- Gestione delle risorse: se esegui il deployment dei carichi di lavoro senza impostare le risorse come CPU e memoria, Autopilot imposta automaticamente i valori predefiniti preconfigurati e modifica le richieste di risorse al a livello di carico di lavoro.
- Networking: Autopilot abilita alcune funzionalità di sicurezza del networking per impostazione predefinita, ad esempio assicurando che tutto il traffico di rete dei pod passi le regole firewall del virtual private cloud, anche se il traffico viene indirizzato ad altri pod nel cluster.
- Gestione delle release: tutti i cluster Autopilot sono registrati in un canale di rilascio GKE, che garantisce che il tuo piano di controllo e i nodi vengono eseguiti sulle versioni qualificate più recenti in quel canale.
- Flessibilità gestita: se i tuoi carichi di lavoro hanno hardware o carichi di lavoro specifici come requisiti di risorse come CPU o memoria elevata, Autopilot preconfigurati classi di computing per quei carichi di lavoro. Richiedi la classe Compute nel deployment anziché dover creare manualmente nuovi nodi supportati di tipi di macchine e hardware personalizzati. Puoi anche selezionare GPU per accelerare come applicazioni di AI/ML o batch.
- Complessità operativa ridotta: Autopilot riduce la piattaforma l'overhead di amministrazione, eliminando la necessità di monitorare continuamente i nodi, le operazioni di scalabilità e pianificazione.
Autopilot è dotato di uno SLA che copre il piano di controllo e la capacità di calcolo utilizzata dai pod.
Pianifica i tuoi cluster Autopilot
Prima di creare un cluster, pianifica e progetta la tua architettura di Google Cloud. In Autopilot, richiedi l'hardware nelle specifiche dei carichi di lavoro. GKE esegue il provisioning e la gestione dell'infrastruttura per eseguire i carichi di lavoro. Ad esempio, se esegui carichi di lavoro di machine learning, di richiesta di acceleratori hardware. Se sviluppi app per Android, richiedi CPU ARM.
Pianifica e richiedi la quota per il tuo progetto Google Cloud o per l'organizzazione in base dei carichi di lavoro. GKE può eseguire il provisioning dell'infrastruttura per i carichi di lavoro, se il progetto ha una quota sufficiente hardware.
Durante la pianificazione, considera i seguenti fattori:
- Dimensione e scalabilità stimate del cluster
- Tipo di carico di lavoro
- Layout e utilizzo del cluster
- Layout e configurazione di Networking
- Configurazione di sicurezza
- Gestione e manutenzione dei cluster
- Deployment e gestione dei carichi di lavoro
- Logging e monitoraggio
Le seguenti sezioni forniscono informazioni e risorse utili per questi diverse considerazioni.
Networking
Quando crei un cluster Autopilot con il networking pubblico, nel cluster possono comunicare tra loro e con internet. Questo è la modalità di rete predefinita. Google Cloud e Kubernetes forniscono funzioni e capacità di networking aggiuntive che puoi sfruttare in base per il tuo caso d'uso, ad esempio i cluster con networking privato.
Il networking in Kubernetes e nel cloud è un compito complesso. Prima di iniziare a modificare i valori predefiniti Google Cloud si imposta al posto tuo, assicurati di conoscere meglio i concetti di base del networking. La tabella seguente fornisce le risorse per saperne di più sul networking in GKE in base al tuo caso d'uso:
Caso d'uso | Risorse |
---|---|
Comprendere il funzionamento del networking in Kubernetes e GKE |
Dopo aver appreso il modello di networking, considera la e requisiti di sicurezza di rete e di rete. Scegli GKE e le funzionalità di networking di Google Cloud che soddisfano questi criteri. |
Pianifica la configurazione del networking di GKE | Ti consigliamo di comprendere il funzionamento del networking quote di spazio per GKE, come gli endpoint per i limiti di servizi e richieste API. Le seguenti ti aiuteranno a pianificare aspetti specifici del tuo networking configurazione:
|
Esponi i tuoi carichi di lavoro |
|
Esegui servizi connessi a disponibilità elevata in più cluster | Utilizza i servizi multi-cluster (MCS). |
Bilancia il carico del traffico in entrata |
|
Configura la sicurezza della rete del cluster |
|
Osserva il traffico di rete Kubernetes | Per impostazione predefinita, Autopilot utilizza GKE Dataplane V2 per le metriche e l'osservabilità .
|
Scalabilità
Gestire una piattaforma in modo efficace su larga scala richiede una pianificazione e un'attenta considerazione. Devi considerare la scalabilità del progetto, ovvero capacità dei cluster di crescere rimanendo all'interno degli obiettivi del livello di servizio (SLO). Per indicazioni dettagliate rivolte sia agli amministratori di piattaforme che agli sviluppatori, consulta le Linee guida per la creazione di cluster scalabili.
Dovresti anche prendere in considerazione GKE quote e limiti, soprattutto se prevedi di eseguire cluster di grandi dimensioni con potenzialmente migliaia di pod.
Scala i carichi di lavoro Autopilot
In Autopilot, GKE scala automaticamente i nodi in base per il numero di pod nel tuo cluster. Se un cluster non ha carichi di lavoro in esecuzione, Autopilot può fare automaticamente lo scale down del cluster fino a zero nodi. Nella alla maggior parte dei cluster Autopilot appena creati, potresti notare che il primo la pianificazione dei carichi di lavoro di cui esegui il deployment richiede più tempo. Questo perché la nuova Il cluster Autopilot si avvia con zero nodi utilizzabili al momento della creazione e attende fino al deployment di un carico di lavoro per il provisioning di nodi aggiuntivi.
scalare automaticamente il numero di pod. nel tuo cluster, ti consigliamo di utilizzare un meccanismo come Kubernetes la scalabilità automatica orizzontale dei pod, può scalare i pod in base alle metriche di CPU e memoria integrate o a metriche personalizzate da Cloud Monitoring. Per scoprire come configurare la scalabilità in base a vari vedi Ottimizzare la scalabilità automatica dei pod in base metriche.
Sicurezza
I cluster Autopilot abilitano e applicano le best practice per la sicurezza per impostazione predefinita, inclusi molti dei consigli Rafforza la sicurezza del cluster e ai Panoramica sulla sicurezza di GKE.
Se vuoi saperne di più sulle misure di protezione di Autopilot e su come per implementare i requisiti di sicurezza specifici, consulta Misure di sicurezza in Autopilot.
Crea un cluster
Dopo aver pianificato il tuo ambiente e compreso i requisiti, crea un cluster Autopilot. I nuovi cluster Autopilot sono cluster a livello di regione e dispongono di un accessibile un indirizzo IP. A ogni cluster vengono applicate misure di protezione di base, nonché la scalabilità automatica e altre funzionalità. Per un elenco completo dei modelli funzioni, consulta le Confronta GKE Autopilot e Standard.
Se vuoi creare il cluster senza indirizzi IP pubblici, crea un cluster privato .
Esegui il deployment dei carichi di lavoro su Autopilot
Per eseguire il deployment di un carico di lavoro in un cluster Autopilot in esecuzione, scrivi un file Kubernetes e applicarlo al cluster. Per impostazione predefinita, i cluster Autopilot sono ottimizzate per eseguire la maggior parte dei carichi di lavoro di produzione.
Per una guida interattiva nella console Google Cloud per il deployment esponendo un'app, fai clic su Procedura guidata:
Alcuni carichi di lavoro potrebbero avere requisiti hardware specializzati, ad esempio ML carichi di lavoro che richiedono acceleratori hardware o test di app mobile che richiedono dell'architettura ARM. Autopilot ha classi di computing che Google Cloud è configurato per eseguire carichi di lavoro con computing speciale i tuoi requisiti. Se hai requisiti hardware più specifici, puoi definire la tua classi di calcolo personalizzate. Quando esegui il deployment di questi carichi di lavoro specializzati, richiedi una classe di computing nel del file manifest. Autopilot esegue automaticamente il provisioning dei nodi supportati macchine specializzate, gestisce la pianificazione e alloca l'hardware.
La tabella seguente mostra alcuni requisiti comuni e fornisce consigli per quello che dovresti fare:
Caso d'uso | Risorse |
---|---|
Controlla le proprietà dei singoli nodi durante la scalabilità di un cluster | Esegui il deployment di una classe di computing personalizzata e richiedila nel tuo carico di lavoro del file manifest. Per maggiori dettagli, vedi Informazioni sulle classi di calcolo personalizzate. |
Esegui carichi di lavoro ARM | Richiedi la classe di computing Scale-Out e
arm64 nel tuo manifest. Per istruzioni, consulta
per eseguire il deployment dei carichi di lavoro Autopilot sull'architettura ARM. |
Esegui carichi di lavoro accelerati di AI/ML | Richiedi le GPU nel manifest. Per istruzioni, consulta Esegui il deployment dei carichi di lavoro GPU in Autopilot. |
Esegui carichi di lavoro che richiedono un'elevata capacità di calcolo o memoria | Richiedi la classe di computing Balanced . Per istruzioni,
consulta Scegliere le classi di calcolo per i pod Autopilot. |
Esegui carichi di lavoro che richiedono una scalabilità orizzontale più efficiente della capacità della CPU e computing single-thread per core | Richiedi la classe di computing Scale-Out . Per istruzioni,
consulta Scegliere le classi di calcolo per i pod Autopilot. |
Esegui carichi di lavoro a tolleranza di errore, come job batch a costi inferiori | Specifica Pod spot nel tuo manifest. Per istruzioni, consulta Esegui carichi di lavoro a tolleranza di errore a costi inferiori nei pod spot. Con i pod spot puoi utilizzare qualsiasi classe di computing o configurazione hardware. |
Esegui carichi di lavoro che richiedono interruzioni minime, come server di gioco o code di lavoro | Specifica il valore cluster-autoscaler.kubernetes.io/safe-to-evict=false
nella specifica del pod. I pod sono protetti dall'eliminazione
a causa di upgrade automatici dei nodi o eventi di scale down per un massimo di sette giorni.
Per istruzioni, vedi
Estendi il tempo di esecuzione dei pod Autopilot. |
Consenti il burst dei carichi di lavoro oltre le richieste, se disponibili, risorse inutilizzate nella somma delle richieste di risorse pod sul nodo. | Imposta la risorsa limits su un valore superiore a quello di requests
o non impostare limiti per le risorse.
Per istruzioni, vedi
Configura il bursting dei pod in GKE. |
Autopilot consente di richiedere risorse di CPU, memoria e archiviazione temporanea per i tuoi carichi di lavoro. Gli intervalli consentiti variano a seconda che tu voglia eseguire o meno Pod sulla piattaforma di computing per uso generico predefinita o su una classe di computing.
Per informazioni sulle richieste di risorse container predefinite e degli intervalli di risorse, consulta Richieste di risorse in Autopilot.
Separazione dei carichi di lavoro
I cluster Autopilot supportano l'utilizzo dei selettori dei nodi e dell'affinità dei nodi per
e configurare la separazione dei carichi di lavoro. La separazione dei carichi di lavoro è utile quando devi
indica a GKE di posizionare i carichi di lavoro su nodi che soddisfano criteri specifici,
come le etichette personalizzate dei nodi. Ad esempio, puoi dire a GKE
pianificare i pod del server di gioco su nodi con l'etichetta game-server
ed evitare
pianificare qualsiasi altro pod su quei nodi.
Per saperne di più, consulta: Configura la separazione dei carichi di lavoro in GKE.
Pianifica i pod in zone specifiche utilizzando la topologia a livello di zona
Se devi posizionare i pod in una zona specifica di Google Cloud, ad esempio per accedere alle informazioni su un disco permanente Compute Engine a livello di zona, consulta collocare i pod GKE in zone specifiche.
Affinità e anti-affinità dei pod
Utilizza l'affinità e l'anti-affinità dei pod per collocare i pod su un singolo nodo o per creare alcuni pod evitano altri pod. l'affinità e l'anti-affinità dei pod comunicano a Kubernetes prendere una decisione di pianificazione in base alle etichette dei pod in esecuzione sui nodi in specifico di un dominio di topologia, ad esempio una specifica regione o zona. Ad esempio, potrebbe indicare a GKE di evitare la pianificazione di pod di frontend i pod di frontend sugli stessi nodi per migliorare la disponibilità in caso di interruzione.
Per istruzioni e ulteriori dettagli, consulta Affinità e anti-affinità dei pod.
In GKE, puoi utilizzare l'affinità e l'anti-affinità dei pod con
seguenti etichette in topologyKey
:
topology.kubernetes.io/zone
kubernetes.io/hostname
Vincoli di diffusione della topologia dei pod
Per migliorare la disponibilità dei carichi di lavoro man mano che Kubernetes scala
di pod verso l'alto o verso il basso, puoi impostare vincoli di distribuzione della topologia dei pod. Questo
controlla in che modo Kubernetes distribuisce i tuoi pod tra i nodi all'interno di un dominio di topologia,
come una regione. Ad esempio, potresti dire a Kubernetes di inserire un
di pod di sessione del server di gioco in ognuna delle tre zone Google Cloud
regione us-central1
.
Per esempi, ulteriori dettagli e istruzioni, consulta Vincoli di diffusione della topologia dei pod.
Gestisci e monitora i tuoi cluster Autopilot
In Autopilot, GKE gestisce automaticamente gli upgrade dei cluster e manutenzione sia per il piano di controllo che per i nodi worker. Autopilot dispongono inoltre di funzionalità integrate che consentono di monitorare i cluster carichi di lavoro con scale out impegnativi.
Upgrade delle versioni GKE
Tutti i cluster Autopilot sono registrati in un cluster GKE canale di rilascio. Nei canali di rilascio, GKE gestisce versione Kubernetes del cluster, equilibrio tra disponibilità di funzionalità e la stabilità della versione in base al canale. Per impostazione predefinita, i cluster Autopilot sono registrati nella release regolare canale, ma puoi selezionarne uno diverso che soddisfi i tuoi requisiti di stabilità di funzionalità. Per ulteriori informazioni sui canali di rilascio, consulta: Informazioni sui canali di rilascio.
GKE avvia automaticamente gli upgrade, monitora l'avanzamento e mette in pausa l'operazione in caso di problemi. Puoi controllare manualmente il processo di upgrade in nei seguenti modi:
- Per controllare quando GKE può eseguire upgrade automatici, crea periodi di manutenzione. Ad esempio, puoi impostare il periodo di manutenzione sulla notte precedente reimpostazione settimanale del gioco multiplayer, in modo che i giocatori possano accedere al ripristino senza o interruzioni del servizio.
- Per controllare quando GKE non può avviare gli upgrade automatici durante un per un intervallo di tempo specifico, esclusioni di manutenzione. Ad esempio, puoi impostare un'esclusione della manutenzione per la durata del Evento di vendita del Black Friday e del Cyber Monday in modo che i clienti possano fare acquisti senza problemi.
- Per ottenere una nuova versione prima dell'inizio degli upgrade automatici, eseguire manualmente l'upgrade del piano di controllo. GKE riconcilia la versione del nodo con il piano di controllo la versione nel tempo.
- Per ottenere una versione patch disponibile solo in un canale di rilascio più recente, consulta Eseguire le versioni delle patch da un canale più recente. Ad esempio, potresti aver bisogno di una versione patch specifica per mitigare la divulgazione delle vulnerabilità.
Monitora i tuoi cluster Autopilot
Nei cluster Autopilot sono già presenti Cloud Logging, Cloud Monitoring, e Google Cloud Managed Service per Prometheus.
I cluster Autopilot raccolgono i seguenti tipi di log e metriche automaticamente, rispettando le best practice di Google per la raccolta dei dati di telemetria:
Log per Cloud Logging
- Log di sistema
- Log del carico di lavoro
- Audit log delle attività di amministrazione
- Audit log degli accessi ai dati
Metriche per Cloud Monitoring
- Metriche di sistema
- Metriche del carico di lavoro (da Managed Service per Prometheus)
Non è richiesta alcuna configurazione aggiuntiva per abilitare il logging e il monitoraggio. La tabella seguente mostra come interagire con i dati di telemetria raccolti in base ai tuoi requisiti:
Caso d'uso | Risorse |
---|---|
Comprendere e accedere ai log di GKE |
|
Osserva le prestazioni dei cluster GKE | Un monitoraggio efficace delle prestazioni del cluster può aiutarti per ottimizzare i costi operativi di cluster e carichi di lavoro.
|
Monitora la security posture dei cluster | Utilizza la dashboard della security posture per controllare i carichi di lavoro in esecuzione rispetto alle best practice di GKE, analizza le vulnerabilità sistemi operativi per container e pacchetti di linguaggio, consigli di mitigazione. Per saperne di più, vedi Dashboard della postura di sicurezza. |
Risoluzione dei problemi
Per le procedure di risoluzione dei problemi, consulta Risoluzione dei problemi relativi ai cluster Autopilot.