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 Hello World iniziale, eseguirai la tua app su un cluster di tua scelta, attiverai la ricreazione continua per sviluppare iterativamente la tua app, eseguirai il debug del codice in esecuzione, mettiti comodo e visualizza i log in streaming dall'applicazione attiva.

Prima di iniziare

  1. Se vuoi utilizzare Google Cloud, devi creare o selezionare un progetto Google Cloud e abilitare la fatturazione nel tuo 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.

  2. Installa Git in modo che Cloud Code possa eseguire operazioni Git, come la clonazione di un campione.

  3. Installa il plug-in Cloud Code, se non l'hai ancora fatto.

Creazione di un'applicazione

Per creare una nuova applicazione utilizzando un esempio esistente:

  1. Nel tuo IDE, apri File > Nuovo progetto e seleziona Cloud Code: Kubernetes.

  2. Seleziona un modello Hello World dall'elenco delle applicazioni di base. Elenco dei modelli disponibili: Python, Go, NodeJS, Java Hello World e applicazioni guestbook

  3. 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 richiesto di importare i progetti Maven necessari per sincronizzare il file pom.xml. Fai clic su Aggiungi come progetto Maven e quindi su Importa modifiche.

Scelta di un cluster

Per sviluppare la tua applicazione, devi disporre di un cluster Kubernetes associato (ospitato localmente con minikube o tramite 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 l'applicazione con un cluster minikube locale gestito da Cloud Code. Cloud Code avvia un cluster minikube per l'esecuzione dell'applicazione e arresta il cluster all'arresto del deployment. Se un cluster minikube è già in esecuzione, Cloud Code riutilizza il cluster minikube esistente per il deployment.

Puoi scegliere di utilizzare questo cluster minikube gestito da Cloud Code nel passaggio successivo, lo sviluppo dell'applicazione, impostandolo come preferenza di deployment.

Cluster basato su piattaforma cloud

Se hai già configurato un cluster per funzionare con gli strumenti Kubernetes (come kubectl) che puoi utilizzare per questa guida rapida, Cloud Code esegue il deployment automaticamente. Puoi passare allo sviluppo dell'applicazione, in cui puoi confermare che il cluster preferito è impostato come contesto attuale.

In caso contrario, puoi crearne uno utilizzando le istruzioni specifiche della piattaforma cloud. Per GKE, puoi seguire la guida alla creazione di un cluster.

Sviluppo dell'applicazione

Per avviare lo sviluppo della tua applicazione su Kubernetes:

  1. Se esegui un cluster su una piattaforma cloud, assicurati di aver definito dove vengono archiviate le immagini container per lo strumento Develop on Kubernetes.

    Se hai eseguito l'accesso a Google Cloud nel tuo IDE e hai definito un progetto predefinito, Cloud Code utilizza automaticamente il repository di immagini container predefinito (gcr.io/{project_id}, dove {project_id} fa riferimento al tuo progetto predefinito).

  2. Assicurati che sia impostato il contesto Kubernetes che preferisci. Puoi specificare questo valore nella configurazione di Sviluppo 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 attuale (impostazione predefinita), 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.

  3. Scegli la destinazione di esecuzione Sviluppa su Kubernetes dal selettore di configurazione Esegui/Debug nella barra di navigazione.

    Configurazioni di esecuzione deployment Kubernetes

    In questo modo, tutte le modifiche al codice verranno automaticamente create, inviate tramite push e sottoposte a deployment in una nuova versione dell'applicazione.

  4. Per avviare il ciclo di sviluppo sul cluster Kubernetes, fai clic sull'azione Esegui per Sviluppare su Kubernetes.

  5. Nella finestra di output, nella scheda Log, visualizza i log delle applicazioni in entrata.

    Una volta avviato il deployment, vedrai l'elenco delle porte inoltrati per l'applicazione di cui è stato eseguito il deployment.

  6. Una volta eseguito il deployment, riceverai una notifica per la disponibilità di nuovi URL di servizio. Fai clic sulla scheda URL di servizio per visualizzare gli URL, quindi fai clic sul link dell'URL per aprire il browser con l'applicazione in esecuzione.

    Visualizzazione dei servizi con port forwarding nella scheda URL di servizio

    In alternativa, puoi aprire il Log eventi e poi fare clic sul link per aprire il browser con l'applicazione in esecuzione.

    Il riquadro Risorse di cui è stato eseguito il deployment mostra gli elementi di cui hai eseguito il deployment durante la sessione di sviluppo.

Debug dell'applicazione

Cloud Code supporta l'applicazione di modifiche durante il debug.

Per eseguire il debug dell'applicazione:

  1. Fai clic sull'azione di debug Icona dell'azione di debug per Sviluppo su Kubernetes per avviare il ciclo di sviluppo in modalità di debug sul cluster Kubernetes.

    Avvio del ciclo di sviluppo del cluster Kubernetes in modalità di debug

  2. Cloud Code collegherà una sessione di debug. Se l'operazione ha esito positivo, viene visualizzata la finestra Strumento di debug, che conferma la connessione (nella scheda Console).

    Ora puoi eseguire il debug sul tuo cluster Kubernetes live.

  3. Fai clic sul margine nella riga eseguibile del codice in cui vuoi aggiungere un punto di interruzione.

    I cerchi pieni rossi indicano i punti di interruzione attivi, mentre i cerchi vuoti con contorno rosso indicano i punti di interruzione disattivati.

  4. Quando invii una nuova richiesta alla tua applicazione, questa viene messa in pausa sulla riga desiderata.

    Sessione debugger Kubernetes

  5. Per terminare la sessione di debug, fai clic sull'icona di interruzione nella configurazione di esecuzione di 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 accedendo a Kubernetes Explorer.

Per visualizzare i log di un pod specifico, segui questi passaggi:

  1. Vai a Kubernetes Explorer. È possibile accedervi dal riquadro laterale a destra o utilizzando Strumenti > Cloud Code > Kubernetes > Visualizza Explorer cluster.

    Il riquadro Explorer di Kubernetes si apre usando la scheda sulla barra delle applicazioni laterale destra

  2. Seleziona il pod da cui vuoi visualizzare i log.

  3. Fai clic con il tasto destro del mouse sul pod e seleziona Avvia flusso di log. In alternativa, puoi trasmettere i flussi di log per singoli container in esecuzione nei pod.

    I log vengono inviati alla console di Kubernetes Explorer.

    Streaming dei log da un pod utilizzando il menu di scelta rapida per generare i log 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.

  1. Vai alla pagina Progetti nella console Google Cloud:

    Vai alla pagina Progetti

  2. Seleziona il progetto che hai creato per questa guida rapida e fai clic sull'icona del cestino accanto per eliminarlo.

    Questa operazione chiude il progetto e ne pianifica l'eliminazione.

Passaggi successivi