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 ricostruzione continua per sviluppare l'app in modo iterativo, eseguirai il debug del codice in esecuzione e potrai rilassarti e visualizzare i flussi di log della tua applicazione live.

Prima di iniziare

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

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

  3. Se non l'hai ancora fatto, installa il plug-in Cloud Code.

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 avvio. Elenco di modelli disponibili: applicazioni Python, Go, NodeJS, hello world Java 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 da utilizzare.

    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.

Scegliere un cluster

Per sviluppare la tua applicazione, avrai bisogno di un cluster Kubernetes associato (ospitato localmente con minikube o utilizzando una piattaforma cloud, ad esempio un cluster Google Kubernetes Engine).

Cluster locale

Se non hai ancora 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 arresta 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 della tua applicazione, impostandolo come preferenza di deployment.

Cluster basato su piattaforma cloud

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

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

Sviluppo dell'applicazione

Per avviare lo sviluppo della tua applicazione su Kubernetes:

  1. Se esegui l'esecuzione su un cluster ospitato su una piattaforma cloud, assicurati di aver definito dove sono archiviate le immagini container per sviluppare su 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 tuo contesto Kubernetes preferito. Puoi specificare questa opzione nella configurazione di Sviluppo su Kubernetes (accessibile tramite Esegui > Modifica configurazioni > Sviluppo su Kubernetes), nella scheda Esegui e nella sezione Preferenze di deployment.

    Puoi scegliere di eseguire il deployment in un contesto attuale (predefinito), localmente su 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 di file.

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

    Configurazioni delle esecuzioni dei deployment Kubernetes

    Ciò garantisce la creazione, il push e il deployment automatici di qualsiasi modifica al codice in una nuova versione dell'applicazione.

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

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

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

  6. Una volta completato il deployment, riceverai una notifica che indica 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 port forwarding nella scheda URL dei servizi

    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 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 della tua applicazione:

  1. Fai clic sull'azione di debug Icona dell'azione di debug per Sviluppa su Kubernetes per avviare il ciclo di sviluppo in modalità di debug sul tuo 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 va a buon fine, si apre la finestra Strumento di debug, che conferma la connessione (nella scheda Console).

    Ora puoi eseguire il debug sul tuo cluster Kubernetes attivo.

  3. Fai clic sul margine della 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 contorni rossi indicano i punti di interruzione disattivati.

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

    Sessione del 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 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:

  1. Vai a Kubernetes Explorer. Puoi accedere dal riquadro laterale a destra o utilizzando Strumenti > Cloud Code > Kubernetes > Visualizza Cluster Explorer.

    Riquadro di Kubernetes Explorer aperto utilizzando la scheda nella barra delle applicazioni laterale a destra

  2. Seleziona il pod di 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 i 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 creato per questa guida rapida e fai clic sull'icona del cestino accanto per eliminarlo.

    In questo modo il progetto verrà chiuso e ne pianifica l'eliminazione.

Passaggi successivi