Inizia a utilizzare Cloud Code for VS Code per Kubernetes

Cloud Code ti consente di creare un'applicazione Kubernetes basata su un esempio o da un progetto esistente.

Creare un'applicazione da un modello

Cloud Code include una raccolta di modelli di esempio di codice per iniziare rapidamente. Per creare un'applicazione Kubernetes utilizzando un esempio esistente, segui questi passaggi:

  1. Avvia la tavolozza dei comandi (premi Ctrl/Cmd+Shift+P o fai clic su Visualizza > Tavolozza comandi) e poi esegui Cloud Code: New Application.
  2. Seleziona Applicazione Kubernetes per il tipo di esempio.
  3. Seleziona un esempio in base alla lingua che vuoi utilizzare tra le opzioni disponibili: NodeJS, Go, Python, Java.
  4. Scegli una posizione preferita per l'applicazione sulla tua macchina locale e poi fai clic su Crea nuova applicazione per salvare.

    Cloud Code clona l'esempio che hai scelto e apre il nuovo progetto per l'utilizzo.

Struttura dell'applicazione di esempio

Tutte le applicazioni di esempio di lingua hanno quasi la stessa struttura. Questa non è l'unica struttura supportata, ma è consigliata per iniziare.

Ad esempio, la struttura dell'applicazione Guestbook Node.js è la seguente:

.
|---- .vscode
|      ---- launch.json
|---- kubernetes-manifests
|     |---- guestbook-backend.deployment.yaml
|     |---- guestbook-backend.service.yaml
|     |---- guestbook-frontend.deployment.yaml
|     |---- guestbook-frontend.service.yaml
|     |---- mongo.deployment.yaml
|     ---- mongo.service.yaml
|---- src
|     |---- backend
|     |     |---- Dockerfile
|     |     |---- index.js
|     |     |---- app.js
|     |     ---- package.json
|     |---- frontend
|           |---- Dockerfile
|           |---- index.js
|     |     |---- app.js
|           ---- package.json
---- skaffold.yaml

Se esaminiamo più da vicino questa app di esempio Kubernetes Guestbook Node.js, ecco alcuni file chiave e i relativi utilizzi:

  • .vscode
    • extensions.json: prompt che richiede il download delle estensioni correlate all'apertura di questo progetto
    • launch.json: configurazione di avvio (di tipo cloudcode.kubernetes) per eseguire o eseguire il debug dell'applicazione Kubernetes
    • tasks.json: informazioni di configurazione per Visual Studio Code Tasks
  • kubernetes-manifests
    • guestbook-backend.deployment.yaml: Specifica pod per i nodi di backend
    • guestbook-frontend.deployment.yaml: Specifica pod per i nodi frontend
    • mongo.deployment.yaml: Specifica pod per il database
  • src
    • (backend|frontend)/app.js: Codice Node.js con la logica del server web
    • (backend|frontend)/Dockerfile: utilizzato per creare l'immagine container per il nostro programma
  • skaffold.yaml: file di configurazione per Skaffold, che Cloud Code utilizza per creare, eseguire il deployment ed eseguire il debug delle applicazioni Kubernetes

Utilizzare la propria applicazione

Per i passaggi per utilizzare un progetto esistente, consulta Utilizzare Cloud Code con un'applicazione Kubernetes esistente.

Imposta il contesto Kubernetes

Prima di eseguire l'applicazione, assicurati di aver configurato il deployment dell'app nel contesto Kubernetes che preferisci. Puoi specificarlo nella configurazione.

Configurazione

Quando utilizzi la configurazione di esecuzione Cloud Code: Develop on Kubernetes, puoi personalizzare la distribuzione configurando le impostazioni disponibili.

Per aggiungere o modificare le configurazioni, vai a Esegui > Apri configurazioni e poi modifica o aggiungi le configurazioni.

Impostazioni di build

Cloud Code supporta i tipi di artefatto Docker, Jib e Buildpacks. Consulta la guida alla configurazione delle preferenze di creazione delle immagini container per scoprire come impostare il builder preferito e le relative impostazioni.

Personalizza la configurazione di avvio

Per configurare la modalità di esecuzione dell'applicazione, puoi personalizzare il file skaffold.yaml.

Puoi anche configurare l'avvio modificando la configurazione cloudcode.kubernetes nel file .vscode/launch.json.

Per saperne di più sulla personalizzazione della configurazione di avvio, consulta la sezione Kubernetes in Cloud Code.

Esegui l'applicazione

Una volta configurata un'applicazione, puoi eseguirla su un cluster Kubernetes e visualizzarla in tempo reale sfruttando skaffold dev. Puoi eseguire l'applicazione su un cluster locale (come minikube o Docker Desktop), Google Kubernetes Engine o qualsiasi altro provider cloud.

  1. Apri la tavolozza dei comandi (premi Ctrl/Cmd+Shift+P) e poi esegui il comando Cloud Code: Run on Kubernetes.
  2. Conferma se utilizzare il contesto Kubernetes attuale per eseguire l'app (o passare a uno preferito). Per saperne di più sulla configurazione di un contesto Kubernetes, consulta Configurazione.
  3. Se hai scelto un cluster remoto come contesto, quando richiesto, scegli un registro di immagini in cui eseguire il push delle immagini. Se il tuo progetto ha l'API Artifact Registry abilitata e almeno un repository Artifact Registry, puoi sfogliare e selezionare un repository Artifact Registry esistente.

    Gli esempi seguenti mostrano come specificare dove vengono archiviate le immagini container per alcuni registri comuni:

    Artifact Registry REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME
    Docker Hub docker.io/ACCOUNT
    Assicurati di essere autenticato correttamente se utilizzi un repository Docker Hub privato.
    Repository di container AWS (ECR) AWS_ACCOUNT_ID.dkr.ecr.REGION.amazonaws.com/APP
    Registro Azure Container (ACR) ACR_NAME.azurecr.io/APP

    Cloud Code concatena questo registro delle immagini con il nome dell'immagine specificato nei manifest Kubernetes per generare il nome del repository delle immagini finale.

    Per saperne di più, consulta la guida alla gestione del registro delle immagini.

    Questa scelta viene memorizzata nella configurazione di avvio cloudcode.kubernetes (che si trova in .vscode/launch.json).

    Cloud Code crea i container, li invia al registro, applica le configurazioni Kubernetes al cluster e attende l'implementazione.

Visualizza i log

Oltre a visualizzare i log dei pod in esecuzione come live streaming nell'output del terminale durante lo sviluppo e l'esecuzione dell'applicazione, puoi visualizzare i log di un pod specifico andando alla sezione Kubernetes.

Per visualizzare i log di un pod specifico:

  1. Nella sezione Kubernetes, espandi Deployment.
  2. Fai clic con il tasto destro del mouse sul pod di cui vuoi visualizzare i log, quindi fai clic su Visualizza log.

    Si apre il visualizzatore log.

Apportare modifiche, ricompilare e liberare spazio

Se hai impostato la modalità smartwatch su false nella configurazione di avvio e vuoi apportare modifiche all'applicazione, quindi ricompilarla ed eseguirne nuovamente il deployment:

  1. Apporta e salva le modifiche.

  2. Nella barra degli strumenti di debug, fai clic su Metti in pausa (F6) e poi su Riavvia (Ctrl/Cmd + Shift + F5) per ricompilare e rieseguire il deployment l'applicazione.

  3. Per interrompere l'esecuzione dell'applicazione, fai clic su Interrompi nella barra degli strumenti di debug.

Dopo aver arrestato l'applicazione, tutte le risorse Kubernetes di cui è stato eseguito il deployment vengono eliminate dal cluster. Puoi modificare questo comportamento utilizzando il flag cleanUp nella configurazione di avvio.

Archivia i secret

Se il tuo codice include dati potenzialmente sensibili come chiavi API, password e certificati, ti consigliamo di archiviarli come secret. Con Cloud Code, puoi archiviare in modo sicuro questi secret in Secret Manager e recuperarli in modo programmatico quando ne hai bisogno.

Per un'analisi dettagliata di come creare e gestire i secret con Cloud Code, consulta la guida di Secret Manager.

Visualizza dettagli risorsa

La sezione Kubernetes mostra cluster, spazi dei nomi, nodi, carichi di lavoro (come deployment, replicaset, pod e container), servizi e ingress, configurazioni (come secret e mappe di configurazione) e spazio di archiviazione (come volumi). Utilizzando la sezione Kubernetes, puoi eseguire azioni uniche su alcune di queste risorse.

Per ulteriori informazioni sulla visualizzazione dei dettagli delle risorse, consulta la panoramica di Kubernetes.

Passaggi successivi

Richiedi assistenza

Per inviare feedback, segnala problemi su GitHub, oppure fai una domanda su Stack Overflow.