Esegui il deployment e l'aggiornamento da un IDE


Se sviluppi applicazioni da eseguire in Google Kubernetes Engine, puoi utilizzare un IDE il plug-in Cloud Code per semplificare le attività chiave di sviluppo, come eseguire test e debug localmente ed eseguire il deployment in un cluster di test.

Obiettivi

Scopri come eseguire le seguenti attività di sviluppo nell'editor di Cloud Shell, un IDE dimostrativo online:

  1. Creare un'app Kubernetes di esempio.

  2. Eseguire, aggiornare e visualizzare i log per l'app nell'ambiente di sviluppo.

  3. Eseguire il deployment dell'app in un cluster GKE.

Puoi seguire una procedura simile nel tuo IDE se installi Cloud Code.


Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Procedura guidata:

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. I nuovi utenti di Google Cloud potrebbero essere idonei per una prova gratuita.

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

Creare un cluster Kubernetes. Crea un cluster ed esegui il deployment di un carico di lavoro ti mostra come fare.

Scegli un progetto e un cluster Google Cloud

Quando eseguirai il deployment della tua app in GKE più avanti in questo tutorial, dovrai specificare un progetto Google Cloud e un cluster GKE.

  1. Vai alla pagina Cluster di GKE.

    Vai a Cluster

  2. Scegli un progetto contenente un cluster GKE.

  3. Prendi nota del nome del progetto e del cluster.

    Avrai bisogno di queste informazioni in un secondo momento.

Crea un'app nell'editor di Cloud Shell

  1. Nella console Google Cloud, apri Cloud Shell facendo clic su Cloud Shell nella barra delle applicazioni.

  2. Apri editor.

  3. Attendi l'inizializzazione dell'editor di Cloud Shell.

  4. Nell'editor di Cloud Shell, fai clic su Visualizza > Riquadro dei comandi.

  5. Cerca Cloud Code: nuova applicazione e fai clic sulla voce.

  6. Seleziona prima Applicazione Kubernetes e poi Go: Hello World.

    Ogni framework dei linguaggi offre esperienze leggermente diverse e questo tutorial descrive le funzionalità disponibili per Go.

  7. Nella finestra di dialogo Salva, fai clic su Crea nuova applicazione.

    L'editor di Cloud Shell ricarica la pagina e mostra i file di origine dell'app nella vista Explorer.

L'app è costituita da:

  • Un'app web go-hello-world di base, main.go, che restituisce una risposta modello "È in esecuzione" a tutte le richieste ricevute.

  • Una specifica del deployment di Kubernetes, hello.deployment.yaml.

  • Una specifica del servizio Kubernetes che definisce un bilanciatore del carico per l'app, hello.service.yaml.

  • Un file Skaffold che gestisce il flusso di lavoro per la creazione e il deployment dell'app, skaffold.yaml.

Esegui l'app nell'ambiente di sviluppo

Se possibile, esegui le app nel tuo ambiente di sviluppo prima di eseguire il deployment in GKE. Questo può aiutarti a identificare eventuali problemi senza utilizzare la quota di Google Cloud.

Per eseguire l'app nell'ambiente dell'editor di Cloud Shell:

  1. Nell'editor di Cloud Shell, fai clic su Terminale > Nuovo terminale.

  2. Avvia un cluster eseguendo il seguente comando:

    minikube start
    

    minikube è un'implementazione leggera di Kubernetes che crea una VM nel tuo ambiente locale ed esegue il deployment di un cluster semplice contenente un solo nodo.

    La configurazione del cluster minikube potrebbe richiedere qualche minuto.

  3. Se viene richiesto di autorizzare Cloud Shell a effettuare chiamate API Cloud, fai clic su Autorizza.

    Una volta configurato il cluster minikube, viene visualizzato un messaggio simile al seguente:

    Done! kubectl is now configured to
    use "minikube" cluster...
    

Dopo aver configurato minikube, crea ed esegui la tua app:

  1. Nella barra di stato dell'editor di Cloud Shell, fai clic su Cloud Code.

  2. Seleziona Esegui su Kubernetes.

  3. Se richiesto, conferma di voler utilizzare il contesto attuale di minikube.

    L'editor di Cloud Shell crea la tua app e ne esegue il deployment nel cluster minikube.

  4. Osserva lo stato del deployment nella vista Sessioni di sviluppo.

    Al termine del deployment, accanto agli URL di port forwarding viene visualizzato un segno di spunta verde. Accanto a Log applicazioni flusso viene visualizzata un'icona che gira.

  5. Per visualizzare la tua app, guarda più in basso nel riquadro Sessioni di sviluppo e individua URL di port forwarding > servizio.

  6. Tieni premuto il puntatore del mouse su go-hello-world-external e fai clic su Apri URL.

Modifica l'app

Quando modifichi un file di origine nell'app, l'editor di Cloud Shell crea ed esegue il deployment dell'app automaticamente nel cluster a cui attualmente è stabilita la connessione. In questo caso, la connessione è stabilita con il cluster minikube.

Per modificare ed eseguire nuovamente il deployment dell'app nel tuo cluster minikube locale:

  1. Modifica il tuo file main.go per stampare "Deployment eseguito nuovamente". Il file viene salvato automaticamente.

  2. Guarda la vista Sessioni di sviluppo mentre la tua app viene ricreata e ne viene eseguito il deployment.

  3. Visualizza l'app di cui hai eseguito il deployment come in precedenza:

    1. Nel riquadro Sessioni di sviluppo, individua URL di port forwarding > servizio.

    2. Tieni premuto il puntatore del mouse su go-hello-world-external e fai clic su Apri URL.

Visualizza i log delle app

  1. Nella barra dei menu dell'editor di Cloud Shell, seleziona Visualizza > Riquadro dei comandi.

  2. Cerca Cloud Code: visualizza log e fai clic sulla voce.

    Si apre il visualizzatore log.

  3. In Deployment, seleziona go-hello-world.

    Filtra il visualizzatore log in modo che mostri solo i log per l'app go-hello-world.

  4. Passa alla scheda con l'app che mostra il messaggio "Deployment eseguito nuovamente". Ricarica la pagina nel browser, quindi torna alla scheda Cloud Shell.

  5. Per visualizzare i log appena generati all'interno del visualizzatore log, fai clic su Aggiorna.

Esegui il deployment dell'app in un cluster GKE

  1. Aggiungi il tuo cluster GKE all'elenco dei cluster in cui puoi eseguire il deployment:

    1. Nella vista Kubernetes, fai clic su Aggiungi un cluster a KubeConfig.

    2. Nella finestra di dialogo Scegli una piattaforma, fai clic su Google Kubernetes Engine.

    3. Se viene richiesto di abilitare l'API Google Cloud, fai clic su .

    4. Attendi che l'editor di Cloud Shell trovi i cluster nel progetto Google Cloud.

    5. Nella finestra di dialogo Crea o scegli un cluster GKE, seleziona il nome del cluster che hai creato, hello-world-cluster.

  2. Nella barra di stato dell'editor di Cloud Shell, fai clic su Cloud Code e seleziona Esegui su Kubernetes.

  3. Quando ti viene chiesto di selezionare un contesto per la richiesta di deployment, scegli Usa contesto attuale, che è impostato sul tuo cluster GKE.

  4. Nella finestra di dialogo Scegli repository di immagini, seleziona gcr.io/PROJECT_NAME.

    L'editor di Cloud Shell crea la tua app in un container e archivia il container nel repository che hai selezionato.

  5. Guarda la vista Sessioni di sviluppo mentre la tua app viene ricreata e ne viene eseguito il deployment.

  6. Per visualizzare messaggi di log dettagliati durante il deployment dell'app in GKE, fai clic sul nodo Esegui il deployment nel cluster nella vista Sessioni di sviluppo.

  7. Per visualizzare la tua app in esecuzione:

    1. Chiudi la vista facendo clic sull'intestazione Sessioni di sviluppo.

    2. Apri la vista Kubernetes.

    3. Espandi il tuo cluster GKE.

    4. Vai a Spazi dei nomi > predefinito > Servizi > go-hello-world-external > IP esterni.

    5. Tieni il puntatore del mouse sull'indirizzo IP e fai clic su Apri URL.

Hai creato ed eseguito correttamente il deployment di un'app GKE da un IDE.

Passaggi successivi