Obiettivi
Scopri alcune attività di base per configurare un cluster temporaneo e di test:Limita l'accesso al servizio amministrativo del cluster, chiamato piano di controllo. In questo modo gli utenti non autorizzati non possono visualizzare o modificare le impostazioni del cluster e del carico di lavoro.
Specifica che la tua app ha bisogno di risorse di calcolo che facciano lo scale up o scale down in modo efficiente per soddisfare la domanda.
Testa la scalabilità automatica per replicare automaticamente i pod quando la domanda aumenta oltre una soglia specificata.
Regola la conservazione dei log in modo da mantenere solo i log necessari.
Abilita la dashboard della postura di sicurezza di GKE.
Queste sono solo alcune delle attività per promuovere un cluster dallo sviluppo alla gestione temporanea. Leggi la documentazione di GKE per l'elenco completo delle attività da prendere in considerazione.
Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Procedura guidata:
Costi
In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi basata sull'utilizzo previsto,
utilizza il Calcolatore prezzi.
Una volta completate le attività descritte in questo documento, puoi evitare la fatturazione continua eliminando le risorse che hai creato. Per ulteriori informazioni, consulta la pagina Pulizia.
Prima di iniziare
Crea un cluster Kubernetes ed esegui il deployment di un carico di lavoro. Per scoprire come, consulta l'articolo Creare un cluster ed eseguire il deployment di un carico di lavoro.
Limita l'accesso al control plane
Per migliorare la tua postura di sicurezza, consenti solo a una rete autorizzata, a Google Cloud Console e a Cloud Shell di accedere al piano di controllo del tuo cluster.
Configura una rete autorizzata
Nella console Google Cloud, vai alla pagina Cluster di GKE.
Nella colonna Nome, fai clic sul nome del tuo cluster, ovvero hello-world-cluster.
Nella riga
Reti autorizzate piano di controllo della tabella Networking, fai clic su Modifica.Nella finestra di dialogo Modifica reti autorizzate piano di controllo, seleziona Abilita reti autorizzate piano di controllo.
Seleziona Consenti accesso tramite indirizzi IP pubblici di Google Cloud.
In questo modo puoi gestire il cluster dalla console Google Cloud e da Cloud Shell
Fai clic su Aggiungi rete autorizzata.
Inserisci un nome, ad esempio La mia rete on-prem di esempio.
In Rete, inserisci l'intervallo di indirizzi IP a cui vuoi concedere l'accesso al piano di controllo del tuo cluster. Utilizza la notazione CIDR.
Ad esempio, inserisci il seguente intervallo:
198.51.100.0/24
Fai clic su Fine.
Fai clic su Salva modifiche.
Il completamento dell'operazione richiede alcuni minuti.
Fai clic sul pulsante
Notifiche e attendi finché non visualizzi un segno di spunta verde accanto ad Aggiorna l'impostazione delle reti autorizzate del piano di controllo nel cluster "hello-world-cluster" di Kubernetes Engine.
Hai configurato un control plane del cluster accessibile solo dalla tua rete autorizzata e dagli indirizzi IP pubblici di Google Cloud, in modo da gestire il cluster dalla console Google Cloud e da Cloud Shell.
Per visualizzare l'indirizzo IP del piano di controllo del cluster e confermare gli indirizzi della rete autorizzata, fai clic su Avanti.
Visualizza gli indirizzi IP
Vai alla pagina Cluster di GKE.
Nella colonna Nome, fai clic sul nome del tuo cluster, ovvero hello-world-cluster.
Nella tabella Impostazioni di base del cluster, la riga Endpoint esterno mostra l'indirizzo IP del piano di controllo del cluster.
Nella tabella Networking, la riga Reti autorizzate piano di controllo mostra gli indirizzi IP della tua rete autorizzata.
È possibile accedere al piano di controllo del cluster solo da una rete autorizzata, dalla console Google Cloud e da Cloud Shell.
Specifica una classe di computing
Per impostazione predefinita, i pod GKE Autopilot utilizzano risorse di calcolo ottimizzate per carichi di lavoro generici. Per i carichi di lavoro che devono scalare in modo ottimale o che hanno altri requisiti unici, puoi specificare una classe di calcolo diversa.
Aggiorna la specifica del deployment
Nella console Google Cloud, vai alla pagina Carichi di lavoro di GKE.
Nella colonna Nome, fai clic sul nome dell'app di cui hai eseguito il deployment, ovvero hello-world-app.
Fai clic su
Modifica per modificare le specifiche del deployment.Nella scheda YAML, trova la riga che inizia con
containers:
Appena sopra questa riga, aggiungi le seguenti righe:
nodeSelector: cloud.google.com/compute-class: "Scale-Out"
Assicurati che il file corrisponda al testo rientrato nell'esempio seguente:
apiVersion: apps/v1 kind: Deployment ... spec: ... template: ... spec: nodeSelector: cloud.google.com/compute-class: "Scale-Out" containers: - name: hello-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Per scaricare questo file e utilizzarlo come base per altre configurazioni del carico di lavoro, fai clic su
Scarica .Fai clic su Salva.
Qualsiasi replica dei pod creata per eseguire il tuo carico di lavoro utilizzerà la classe di calcolo specificata.
Test della scalabilità automatica
Ora che hai un carico di lavoro che può essere scalato in modo efficiente, aggiorna le impostazioni di scalabilità automatica per eseguire più facilmente lo scale up del carico di lavoro. Quindi genera un carico per attivare la scalabilità automatica.
Aggiorna le impostazioni di scalabilità automatica dei pod
Vai alla pagina Carichi di lavoro di GKE.
Nella colonna Nome, fai clic sul nome del deployment, ovvero hello-world-app.
Fai clic su
Azioni .Seleziona Scalabilità automatica e fai clic su Scalabilità automatica orizzontale dei pod.
Nella finestra di dialogo Configura Horizontal Pod Autoscaler, in Metriche di scalabilità automatica, fai clic su CPU.
Modifica il valore di Target su 2, in modo che venga eseguito automaticamente lo scale up dei pod quando utilizzano almeno il 2% delle risorse CPU configurate. Questo valore target basso consente di attivare facilmente la scalabilità automatica nel passaggio successivo.
Fai clic su Salva.
Per attivare la scalabilità automatica, fai clic su Avanti.
Genera un carico per attivare la scalabilità automatica
Apri Cloud Shell facendo clic su
Cloud Shell .Copia il comando seguente in Cloud Shell:
for i in $(seq -s' ' 1 10000); do wget -q -O- <var>external-IP-address</var>; done
Sostituisci external-IP-address con l'indirizzo IP visualizzato nel
Endpoint colonna.Premi Invio per eseguire il comando e inviare 10.000 richieste a hello-world-app.
Attendi il completamento dell'esecuzione del comando
wget
e che il prompt della riga di comando venga visualizzato di nuovo.Puoi chiudere Cloud Shell al termine del comando
wget
.
Per controllare come viene scalato il carico di lavoro per far fronte all'aumento del traffico, fai clic su Avanti.
Osserva come viene scalato il carico di lavoro
Nella pagina Dettagli deployment del carico di lavoro, cerca un picco di utilizzo della CPU nel grafico
CPU .Potrebbe essere necessario attendere fino a 5 minuti per vedere il picco.
Fai clic su
Aggiorna per assicurarti che la pagina Dettagli deployment mostri i dati più recenti.Cerca nella tabella Pod gestiti per vedere che tre repliche del tuo carico di lavoro sono ora in esecuzione.
Inizialmente potresti vedere errori relativi ai pod non pianificabili, ma questi messaggi sono temporanei mentre le repliche vengono avviate.
Puoi attendere circa 10 minuti, fare clic su
Aggiorna e vedere che l'utilizzo della CPU è diminuito e, di conseguenza, il numero di pod in Pod gestiti torna a essere uno.
Hai testato la scalabilità automatica e osservato come viene scalato il carico di lavoro.
Regola la conservazione dei log
Per impostazione predefinita, Cloud Logging importa tutti i log dai cluster GKE. L'importazione di grandi quantità di dati di log potrebbe comportare una tariffa. Per garantire che stai importando solo i dati dei log necessari per l'ambiente di gestione temporanea, e regolare la conservazione dei log.
Crea un filtro dei log
-
Nella console Google Cloud, vai alla pagina Esplora log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Nota che il riquadro
Risultati delle query mostra i log di tutte le risorse nel tuo progetto. Sopra i risultati della query:
Fai clic su
Risorsa .Cerca e e fai clic su Cluster Kubernetes.
Fai clic su us-central-1.
Fai clic su hello-world-cluster.
Fai clic su Applica.
Fai clic su
Gravità e seleziona Informazioni (che diventa A livello di informazioni e superiori al passaggio del mouse).Fai clic su
Esegui query .Tieni presente che i risultati della query ora contengono solo messaggi INFO del cluster temporaneo.
Copia la query dall'Editor query. Incolla questa query quando crei un filtro per il sink di log.
Per creare un sink di log e un bucket di archiviazione, fai clic su Avanti.
Crea un sink di log e un bucket di archiviazione
Vai alla pagina Router dei log di Logging.
Fai clic su
Crea sink .Inserisci il seguente nome in Nome:
hello-world-cluster-sink
Fai clic su Avanti.
In Seleziona il servizio sink, seleziona Bucket di Logging.
In Seleziona un bucket di log, scegli Crea nuovo bucket di log.
In Dettagli bucket, inserisci un nome univoco, ad esempio:
hello-world-bucket-<var>user-id</var>
Fai clic su Crea bucket.
In Destinazione sink, fai clic su Avanti.
In Crea filtro di inclusione, incolla la query che hai creato in Esplora log.
Fai clic su Crea sink.
Per visualizzare i log del cluster, che sono archiviati nel bucket dei log che hai creato fai clic su Avanti.
Visualizza i log del cluster
-
Nella console Google Cloud, vai alla pagina Esplora log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Fai clic su
Perfeziona ambito .Seleziona Vista di log.
Seleziona la visualizzazione _AllLogs per il bucket di log.
Fai clic su Applica.
Risultati delle query mostra solo i log archiviati nel bucket di log.
Hai modificato la conservazione dei log in modo che il cluster di gestione temporanea non memorizzi i messaggi DEBUG. Puoi impostare le autorizzazioni in modo che solo alcuni utenti possano visualizzare i log nel bucket del cluster.
Attiva la dashboard sulla security posture
La dashboard sulla postura di sicurezza scansiona i cluster e i carichi di lavoro GKE per fornire suggerimenti attendibili e strategici al fine di migliorare la postura di sicurezza.
Esplora qualsiasi problema
Vai alla pagina Postura di sicurezza di GKE.
Se ti viene richiesto di abilitare l'API Container Security, fai clic su Abilita.
La scheda Dashboard riassume i problemi relativi ai cluster del progetto e carichi di lavoro con scale out impegnativi.
Fai clic sulla scheda Problemi.
Se nella scheda sono visualizzati dei problemi, fai clic sul problema per avere ulteriori informazioni.
Hai completato alcune attività di base per configurare un cluster per la gestione temporanea e il test della tua app.
Passaggi successivi
Esegui la pulizia per evitare addebiti. Se prevedi di seguire altri tutorial, attendi il completamento di questi ultimi prima di eseguire la pulizia. Puoi utilizzare il cluster Kubernetes di esempio Tutorial GKE.