Esegui il deployment di un'app Kubernetes con Cloud Code for IntelliJ
Questa pagina mostra come iniziare a utilizzare Cloud Code.
In questa guida rapida, configurerai una nuova applicazione Kubernetes utilizzando un modello di partenza Hello World, eseguirai l'app su un cluster a tua scelta, avvierai la ricostruzione continua per sviluppare l'app in modo iterativo, eseguirai il debug del codice in esecuzione e potrai rilassarti e visualizzare i log in streaming dall'applicazione in produzione.
Prima di iniziare
Se vuoi utilizzare Google Cloud, devi creare o selezionare un progetto Google Cloud e attivare la fatturazione nel progetto.
In alternativa, puoi utilizzare un cluster ospitato su qualsiasi altra piattaforma cloud o un cluster Kubernetes locale con strumenti come minikube e Docker Desktop.
Installa Git in modo che Cloud Code possa eseguire operazioni Git, come la clonazione di un esempio.
Se non l'hai ancora fatto, installa il plug-in Cloud Code.
Creazione di un'applicazione
Cloud Code include una raccolta di modelli di codice campione per iniziare rapidamente. Per creare una nuova applicazione utilizzando un esempio esistente:
Nell'IDE, apri File > Nuovo progetto e seleziona Cloud Code: Kubernetes.
Seleziona un modello Hello World dall'elenco delle applicazioni iniziali.
Scegli un nome per il progetto.
Dopo aver fatto clic su Fine, Cloud Code clona il modello scelto e apre il progetto appena creato per l'utilizzo.
Per i modelli Java, ti viene chiesto di importare i progetti Maven richiesti per sincronizzare il file pom.xml. Fai clic su Aggiungi come progetto Maven e poi su Importa modifiche.
Scelta di un cluster
Per sviluppare l'applicazione, devi avere un cluster Kubernetes associato (in hosting locale con minikube o utilizzando una piattaforma cloud, come un cluster Google Kubernetes Engine).
Cluster locale
Se non hai già un cluster da utilizzare per questa guida rapida, puoi scegliere di eseguire la tua applicazione con un cluster minikube locale gestito da Cloud Code. Cloud Code avvia un cluster minikube per eseguire l'applicazione e lo interrompe quando il deployment si arresta. Se è già in esecuzione un cluster minikube, Cloud Code riutilizza il cluster minikube esistente per il deployment.
Puoi scegliere di utilizzare questo cluster minikube gestito da Cloud Code nel passaggio successivo, sviluppando l'applicazione, impostandolo come preferenza di deployment.
Cluster basato su piattaforma cloud
Se hai già un cluster configurato per funzionare con gli strumenti Kubernetes (come kubectl) che puoi utilizzare per questa guida introduttiva, Cloud Code lo esegue automaticamente. Puoi passare allo sviluppo dell'applicazione, dove puoi verificare che il cluster preferito sia impostato come contesto corrente.
In caso contrario, puoi crearne uno seguendo le istruzioni specifiche della tua piattaforma cloud. Per GKE, puoi seguire la guida sulla creazione di un cluster.
Sviluppo dell'applicazione
Per avviare lo sviluppo dell'applicazione su Kubernetes:
Se esegui l'operazione su un cluster ospitato su una piattaforma cloud, assicurati di avere definito la posizione in cui sono archiviate le immagini container per Sviluppare su Kubernetes.
Se hai eseguito l'accesso a Google Cloud nell'IDE e hai definito un progetto predefinito, Cloud Code utilizza automaticamente il repository di immagini contenitore predefinito (gcr.io/{project_id}, dove {project_id} fa riferimento al progetto predefinito).
Assicurati che sia impostato il contesto Kubernetes che preferisci. Questo valore può essere specificato nella configurazione Sviluppa su Kubernetes (accessibile tramite Esegui > Modifica configurazioni > Sviluppa su Kubernetes), nella scheda Esegui e nella sezione Preferenze di deployment.
Puoi scegliere di eseguire il deployment in un contesto corrente (predefinito), localmente in un cluster minikube o in un altro contesto disponibile.
Per impostazione predefinita, l'applicazione Kubernetes verrà eseguita in modalità On demand con l'opzione On demand selezionata. Se preferisci, puoi selezionare l'opzione Al salvataggio del file.
Scegli il target di esecuzione Sviluppa su Kubernetes dal selettore di configurazione di Esecuzione/Debug nella barra di navigazione.
In questo modo, tutte le modifiche al codice vengono create, inviate e implementate automaticamente in una nuova versione dell'applicazione.
Per avviare il ciclo di sviluppo sul cluster Kubernetes, fai clic sull'azione di esecuzione per Sviluppa su Kubernetes.
Nella finestra di output, nella scheda Log, visualizza i log delle applicazioni in entrata.
Una volta avviato il deployment, viene visualizzato l'elenco delle porte inoltrate per l'applicazione di cui è stato eseguito il deployment.
Se il deployment è andato a buon fine, ti viene comunicato che sono disponibili nuovi URL di servizio. Fai clic sulla scheda URL servizio per visualizzare gli URL, quindi fai clic sul link dell'URL per aprire il browser con l'applicazione in esecuzione.
In alternativa, puoi aprire il Log eventi e fare clic sul link per aprire il browser con l'applicazione in esecuzione.
Il riquadro Risorse di cui è stato eseguito il deployment mostra ciò che è stato eseguito durante la sessione di sviluppo.
Eseguire il debug dell'applicazione
Cloud Code supporta l'applicazione delle modifiche durante il debug.
Per eseguire il debug dell'applicazione:
Fai clic sull'azione di debug per Sviluppa su Kubernetes per avviare il ciclo di sviluppo in modalità di debug sul tuo cluster Kubernetes.
Cloud Code collegherà una sessione di debug. In caso di esito positivo, si apre la finestra dello strumento di debug, che conferma la connessione (nella scheda Console).
Ora puoi eseguire il debug nel cluster Kubernetes in produzione.
Fai clic sul riquadro nella riga eseguibile del codice in cui vuoi aggiungere un breakpoint.
I cerchi pieni rossi indicano i punti di interruzione attivi, mentre i cerchi vuoti con contorno rosso indicano i punti di interruzione disattivati.
Quando invii una nuova richiesta all'applicazione, questa verrà messa in pausa nella riga indicata.
Per terminare la sessione di debug, fai clic sull'icona di interruzione nella configurazione di esecuzione
Develop on Kubernetes
.
Visualizzazione dei log
Oltre a visualizzare un live streaming dei log dei pod in esecuzione nell'output del terminale durante lo sviluppo e l'esecuzione dell'applicazione, puoi visualizzare i log di un pod specifico passando a Kubernetes Explorer.
Per visualizzare i log di un pod specifico:
Vai a Kubernetes Explorer. Puoi accedervi dal riquadro laterale a destra o utilizzando Strumenti > Cloud Code > Kubernetes > Visualizza Cluster Explorer.
Seleziona il pod di cui vuoi visualizzare i log.
Fai clic con il tasto destro del mouse sul pod e seleziona Stream log. In alternativa, puoi eseguire lo streaming dei log per i singoli container in esecuzione nei pod.
I log vengono visualizzati nella console di Kubernetes Explorer.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.
Vai alla pagina Progetti nella console Google Cloud:
Seleziona il progetto che hai creato per questa guida rapida e fai clic sull'icona del cestino accanto per eliminarlo.
Il progetto viene chiuso e pianificato per l'eliminazione.
Passaggi successivi
- Valuta la possibilità di importare un'applicazione esistente, che si tratti di un'app Kubernetes o App Engine, nel tuo IDE e di eseguire la configurazione con Cloud Code.
- Scopri di più sullo sviluppo di applicazioni Kubernetes:
- Gestisci configurazioni di Google Cloud e Kubernetes più avanzate con il supporto per l'editing YAML di Cloud Code.
- Per una migliore comprensione e gestione delle risorse Kubernetes, utilizza Kubernetes Explorer.
- Esegui il deployment delle applicazioni su cluster GKE ARM64, AMD64 o con architettura mista.
- Crea, esegui, esegui il debug e il deployment di un'app App Engine con Cloud Code.
- Gestisci le API Cloud e le librerie client comodamente dal tuo IDE.
- Esplora i contenuti di Cloud Storage all'interno del tuo IDE.
- Aggiungi nuovi progetti e controllane quelli esistenti da Cloud Source Repositories con Cloud Code.