Esegui il deployment di un'app Kubernetes con Cloud Code per VS Code

Questa pagina mostra come iniziare rapidamente a utilizzare Cloud Code.

Configurerai una nuova applicazione Kubernetes utilizzando un'applicazione di esempio "Hello World", creerai un cluster, eseguirai l'app su questo cluster, eseguirai il debug del codice in esecuzione, visualizzerai i log dell'applicazione live e connetterai un terminale al container in esecuzione.

Prima di iniziare

  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. Installa Git. Git è necessario per copiare gli esempi sulla tua macchina.
  11. Installa Docker. Docker è necessario per creare il codice campione. Assicurati che il tuo account utente locale possa creare container.
  12. Se non l'hai ancora fatto, installa il plug-in Cloud Code.
  13. Ruoli obbligatori

    Per ottenere le autorizzazioni necessarie per completare questa guida rapida, 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

  1. Apri la tavolozza dei comandi (premi Ctrl/Cmd+Shift+P o fai clic su Visualizza > Tavolozza comandi) e poi esegui Cloud Code: New Application.

  2. Scegli Applicazione Kubernetes.

  3. Scegli un'app Hello World nella lingua che preferisci.

    Ad esempio, la scelta di Node.js: Hello World crea un'app Node.js Hello World iniziale.

  4. Salva la nuova applicazione.

    Una notifica conferma che la tua applicazione è stata creata e si apre una nuova finestra con la tua applicazione.

Crea un cluster GKE

Per creare un cluster Google Kubernetes Engine (GKE) standard:

  1. Fai clic su Cloud Code ed espandi la sezione Kubernetes.

  2. Fai clic su Aggiungi Aggiungi un cluster a KubeConfig e poi su Google Kubernetes Engine nel menu Scelta rapida.

  3. Quando ti viene chiesto di abilitare l'API Container, seleziona .

  4. Fai clic su + Crea un nuovo cluster GKE.

  5. Scegli Standard come tipo di cluster.

  6. Fai clic su Apri per consentire a Cloud Code di aprire la console Google Cloud .

  7. Nella console Google Cloud , assicurati che il progetto selezionato sia quello che hai creato o scelto in precedenza.

  8. Imposta il nome del cluster su my-first-cluster.

  9. Seleziona Zonal come tipo di località e imposta la zona su us-central1-a.

  10. Fai clic su Crea. La creazione del cluster richiede alcuni minuti.

  11. Dopo aver creato il cluster, fai di nuovo clic su Aggiungi un cluster a KubeConfig e seleziona dall'elenco il cluster che hai appena creato.

  12. Il nuovo cluster viene aggiunto alla configurazione e configurato come contesto attivo.

Eseguire e visualizzare l'app

Ora che hai completato la configurazione, puoi eseguire l'applicazione e visualizzarla in tempo reale. Cloud Code monitora il file system per rilevare le modifiche in modo da poter modificare ed eseguire nuovamente l'app in tempo quasi reale.

Per eseguire l'applicazione, segui questi passaggi:

  1. Nella barra di stato di Cloud Code, fai clic sul nome del progetto attivo.

    Nome del progetto attivo nella barra di stato

  2. Nel menu Selezione rapida visualizzato, seleziona Esegui su Kubernetes. Quando ti viene chiesto di nuovo, seleziona Esegui su Kubernetes.

  3. Conferma se utilizzare il contesto del cluster attuale o passare a un altro.

  4. Se richiesto, scegli un registro delle immagini in cui eseguire il push delle immagini. Se stai creando un nuovo registro delle immagini utilizzando gcr.io/PROJECT_ID, assicurati che si trovi nello stesso progetto del cluster.

  5. Dopo che l'applicazione è in esecuzione su Kubernetes, fai clic sulla voce Stato dell'attività Esegui su Kubernetes nella sezione Sessioni di sviluppo. Si aprirà una finestra con una scheda Output che include l'URL della tua applicazione. Per aprire questo URL, premi Ctrl (o Comando su macOS) e fai clic sull'indirizzo.

    Puoi anche trovare la tua applicazione nella panoramica dei workload della console Google Cloud . Per ulteriori informazioni sull'applicazione in esecuzione, inclusi l'indirizzo IP esterno e il numero di porta, fai clic sul relativo nome nell'elenco.

Suggerimenti per la risoluzione dei problemi

Se utilizzi un cluster preesistente, per impostarlo come attivo e ottenere le credenziali del cluster, segui questi passaggi:

  1. In VS Code, fai clic su Cloud Code ed espandi la sezione Kubernetes.

  2. Fai clic con il tasto destro del mouse sul nome del cluster, quindi fai clic su Imposta come cluster attivo.

Debug dell'app

Per eseguire il debug dell'applicazione, segui questi passaggi:

  1. Nella barra di stato di Cloud Code, fai clic sul nome del progetto attivo.

    Nome del progetto attivo nella barra di stato

  2. Nel menu Selezione rapida visualizzato, seleziona Debug su Kubernetes.

  3. Se richiesto, autentica le tue credenziali per eseguire e debuggare un'applicazione localmente.

  4. Se richiesto, conferma se utilizzare il contesto del cluster attuale o passare a uno preferito.

    Cloud Code utilizza le configurazioni cloudcode.kubernetes nel file .vscode/launch.json per eseguire l'applicazione e collegarvi una sessione di debugger.

    Cloud Code crea i container, li invia al registro, applica le configurazioni Kubernetes al cluster e restituisce l'indirizzo IP che puoi utilizzare per sfogliare l'applicazione live.

  5. Prima che la sessione di debug venga collegata, ti viene chiesto di confermare o inserire la directory nel container remoto in cui si trova il programma di cui eseguire il debug o premere ESC per saltare il debug del container.

  6. Per aggiungere un punto di interruzione alla riga 9, apri src/app.js e poi fai clic nel margine dell'editor.

    I cerchi rossi pieni indicano i punti di interruzione attivi, mentre i cerchi grigi vuoti indicano i punti di interruzione disattivati. Per un controllo più preciso dei punti di interruzione, puoi utilizzare la sezione Punti di interruzione nella visualizzazione Debug di VS Code.

    Sezione Punti di interruzione nel riquadro a sinistra della visualizzazione di debug che consente di aggiungere, rimuovere e disattivare i punti di interruzione

    Quando invii una nuova richiesta alla tua applicazione, il debugger si arresta al primo punto di interruzione attivo.

    Nel seguente esempio, in Locale nella sezione Variabili, nota che il valore di res._contentLength; per Hello, world! è 13.

    L'app è in pausa in corrispondenza del punto di interruzione e le sezioni delle variabili e dello stack di chiamate sono compilate con i valori nell'ambito

  7. Modifica la stringa inviata in linea n. 8 in Hello, goodbye! e poi riavvia l'azione Debug su Kubernetes.

    Dopo aver ricompilato e ridistribuito l'app, prendi nota del valore aggiornato di res._contentLength.

    App in pausa al punto di interruzione con valori aggiornati

Una volta avviata la sessione di debug, nel riquadro Sessioni di sviluppo viene visualizzata la visualizzazione della registrazione strutturata. Quando un'attività inizia, viene visualizzata con un semicerchio rotante progress_activity.

Se un'attività va a buon fine, accanto al passaggio viene visualizzato un segno di spunta check_circle.

Per visualizzare i dettagli di un passaggio, fai clic sul passaggio nel riquadro Sessione di sviluppo. Il riquadro Output mostra il passaggio nell'output di logging.

Apri un terminale nel container

Per aprire un terminale nel container, segui queste istruzioni:

  1. Fai clic su Cloud Code ed espandi la sezione Kubernetes.

  2. Espandi le seguenti sezioni:

    • La sezione del tuo cluster preferito
    • La sezione Spazi dei nomi e poi la sezione dello spazio dei nomi che preferisci
    • La sezione Podcast e poi la sezione del podcast che preferisci
    • La sezione Container

      Pod Cloud Code

  3. Fai clic con il tasto destro del mouse sul contenitore in cui vuoi aprire un terminale e poi fai clic su Ottieni terminale.

    Viene avviato un terminale. Ora hai accesso a una shell all'interno del container in esecuzione.

Esegui la pulizia

Dopo aver arrestato l'applicazione, tutte le risorse Kubernetes di cui è stato eseguito il deployment durante l'esecuzione vengono eliminate automaticamente.

Per evitare che al tuo account vengano addebitati costi per altre risorse utilizzate in questa guida rapida, assicurati di eliminare il progetto o il cluster che hai creato se vuoi riutilizzare il progetto.

Per eliminare il cluster:

  1. Fai clic su Cloud Code ed espandi Explorer di Kubernetes.
  2. Tieni il puntatore sopra il nome del cluster e poi fai clic su open_in_new Apri nella console Google Cloud .
  3. Fai clic su Elimina e quindi su Elimina.

Per eliminare il progetto (e le risorse associate, inclusi i cluster):

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Passaggi successivi