Esegui il deployment di un'app Kubernetes con Cloud Code for IntelliJ

Scopri come utilizzare Cloud Code for IntelliJ per eseguire il deployment della tua prima applicazione Kubernetes.

In questa guida rapida, configurerai una nuova applicazione Kubernetes utilizzando un modello iniziale Hello World, eseguirai l'app su un cluster, configurerai la ricompilazione continua per sviluppare l'app in modo iterativo, eseguirai il debug del codice in esecuzione e visualizzerai i log di streaming dell'applicazione live.

Sebbene consigliamo di utilizzare Google Cloud per questa guida, puoi utilizzare Cloud Code con un cluster locale utilizzando strumenti come minikube e Docker Desktop. Tuttavia, funzionalità come la creazione di cluster GKE live e la distribuzione continua integrata offrono la migliore esperienza con un progettoGoogle Cloud .

Prima di iniziare

Indipendentemente dal fatto che tu scelga di utilizzare un cluster locale o ospitato sul cloud, per completare questa guida rapida, segui questi passaggi:

  1. Installa Git. Git è necessario per copiare gli esempi di codice sul tuo computer.
  2. Installa Docker. Docker è necessario per creare il codice campione. Assicurati che il tuo account utente locale possa creare container.
  3. Se non l'hai ancora fatto, installa il plug-in Cloud Code.

Per completare questa guida rapida utilizzando Google Cloud, segui questi passaggi:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Se utilizzi un progetto esistente per questa guida, verifica di disporre delle autorizzazioni necessarie per completare la guida. Se hai creato un nuovo progetto, disponi già delle autorizzazioni necessarie.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Google Kubernetes Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Se utilizzi un progetto esistente per questa guida, verifica di disporre delle autorizzazioni necessarie per completare la guida. Se hai creato un nuovo progetto, disponi già delle autorizzazioni necessarie.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Google Kubernetes Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  10. Ruoli obbligatori

    Per ottenere le autorizzazioni necessarie per completare questa guida rapida utilizzando Google Cloud, chiedi all'amministratore di concederti il ruolo IAM Kubernetes Engine Admin (roles/container.admin) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Crea un'applicazione

Cloud Code include una raccolta di modelli di codice campione per aiutarti a iniziare. Per creare una nuova applicazione utilizzando un esempio esistente:

  1. Nell'IDE, apri File > Nuovo progetto e seleziona Cloud Code: Kubernetes.

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

  3. Scegli un nome per il progetto.

    Dopo aver fatto clic su Fine, Cloud Code clona il modello che hai 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.

Scegli un cluster

Per sviluppare l'applicazione, avrai bisogno di un cluster Kubernetes associato ospitato localmente con minikube o utilizzando una piattaforma cloud, come un cluster Google Kubernetes Engine.

Cluster locale

Se non hai ancora 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 eseguire l'applicazione e lo arresta quando il deployment si interrompe. 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, sviluppando l'applicazione, impostandolo come preferenza di deployment.

Cluster basato sulla piattaforma cloud

Se hai già un cluster configurato 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, 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, segui la guida Creazione di un cluster.

Sviluppare l'applicazione

Per iniziare lo sviluppo dell'applicazione su Kubernetes:

  1. Se esegui l'applicazione su un cluster ospitato su una piattaforma cloud, assicurati di aver definito dove sono archiviate le immagini container per 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 il contesto Kubernetes preferito sia impostato. Puoi specificarlo 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 (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 Develop on Kubernetes (Sviluppa su Kubernetes) dal selettore di configurazione Esegui/Debug nella barra di navigazione.

    Configurazioni di esecuzione del deployment Kubernetes

    In questo modo, tutte le modifiche al codice vengono create, inviate ed eseguite automaticamente 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, nella scheda Log, visualizza i log delle applicazioni in entrata.

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

  6. Quando il deployment viene eseguito correttamente, ricevi una notifica che ti informa che sono disponibili nuovi URL del servizio. Fai clic sulla scheda URL servizio per visualizzare gli URL, poi fai clic sul link URL per aprire il browser con l'applicazione in esecuzione.

    Visualizzazione dei servizi con port forwarding nella scheda URL 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 è stato eseguito il deployment 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:

  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 cluster Kubernetes.

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

  2. Cloud Code collegherà una sessione di debug. In caso di esito positivo, si apre la finestra Debug Tool, che conferma la connessione (nella scheda Console).

    Ora puoi eseguire il debug sul cluster Kubernetes live.

  3. Fai clic nel margine in corrispondenza della riga eseguibile del codice in cui vuoi aggiungere un punto di interruzione.

    I cerchi rossi pieni 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 si interromperà alla riga desiderata.

    Sessione del debugger Kubernetes

  5. Per terminare la sessione di debug, fai clic sull'icona di interruzione nella configurazione di esecuzione Develop on Kubernetes.

Visualizza i 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:

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

    Il riquadro di Kubernetes Explorer aperto utilizzando la scheda sulla barra delle app 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 Stream Logs (Trasmetti log). In alternativa, puoi trasmettere in streaming i log per i singoli container in esecuzione nei pod.

    In questo modo, i log vengono inviati alla console di Kubernetes Explorer.

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

    Il progetto viene chiuso e pianificato per l'eliminazione.

Passaggi successivi