Inizia a utilizzare Cloud Code for VS Code per Kubernetes

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

Creare un'applicazione da un modello

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

  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 campione basato sulla lingua che vuoi utilizzare tra quelle disponibili opzioni: NodeJS, Go, Python, Java.
  4. Scegli la posizione preferita dell'applicazione sulla tua macchina locale e 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 dei linguaggi hanno quasi la stessa struttura. Questa non è l'unica struttura supportata, ma è consigliata all'inizio.

Ad esempio, la struttura dell'applicazione Guestbook di 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 diamo uno sguardo più da vicino a questa app di esempio Node.js Guestbook di Kubernetes, ecco di alcuni file chiave e dei loro usi:

  • .vscode
    • extensions.json: richiesta di download di estensioni correlate all'apertura di questo progetto
    • launch.json: configurazione di lancio (di tipo cloudcode.kubernetes) per eseguire o eseguire il debug dell'applicazione Kubernetes
    • tasks.json: informazioni di configurazione per Attività di codice di Visual Studio
  • kubernetes-manifests
    • guestbook-backend.deployment.yaml: specifica del pod per il backend nodes
    • guestbook-frontend.deployment.yaml: specifica del pod per il frontend nodes
    • mongo.deployment.yaml: specifica del 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 del contenitore per il nostro programma
  • skaffold.yaml: file di configurazione per Skaffold, che Utilizza Cloud Code per creare ed eseguire il deployment di Kubernetes ed eseguirne il debug applicazioni

Utilizza la tua applicazione

Per la procedura di utilizzo di un progetto esistente, vedi Utilizzare Cloud Code con un'applicazione Kubernetes esistente.

Imposta il tuo contesto Kubernetes

Prima di eseguire l'applicazione, assicurati che sia tutto pronto per eseguire il deployment dell'app in il contesto Kubernetes che preferisci. Puoi specificare questo valore configurazione.

Configurazione

Quando utilizzi la configurazione di esecuzione Cloud Code: sviluppa su Kubernetes, puoi personalizzare il deployment configurando le impostazioni disponibili.

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

Impostazioni build

Cloud Code supporta i tipi di elementi Docker, Jib e Buildpack. Consulta la guida alle preferenze di configurazione delle immagini container. per scoprire come impostare il tuo generatore preferito e le relative impostazioni.

Personalizzare la configurazione di avvio

Per configurare l'esecuzione dell'applicazione, puoi personalizzare il tuo skaffold.yaml.

Puoi anche configurare il lancio modificando cloudcode.kubernetes configurazione nel tuo file .vscode/launch.json.

Per ulteriori informazioni sulla personalizzazione della configurazione di lancio, consulta 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), su Google Kubernetes Engine o su qualsiasi altro provider cloud.

  1. Apri la tavolozza dei comandi (premi Ctrl/Cmd+Shift+P), quindi esegui il Comando Cloud Code: Run on Kubernetes.
  2. Conferma se utilizzare il contesto Kubernetes corrente per eseguire l'app (o passa a quello che preferisci). Per ulteriori informazioni per configurare un contesto Kubernetes, l'impostazione della configurazione.
  3. Se hai scelto un cluster remoto come contesto, scegli un'immagine quando ti viene richiesto. registro a cui eseguire il push delle immagini. Se utilizzi Container Registry, puoi accedere a un registry esistente o specificare il nome di un registry da creare. Se nel tuo progetto è abilitata l'API Artifact Registry e hai almeno un repository Artifact Registry, puoi sfogliare e selezionare un repository Artifact Registry esistente.

    I seguenti esempi mostrano come specificare la posizione delle immagini container archiviati per alcuni registri comuni:

    Artifact Registry {region}-docker.pkg.dev/{project_id}/{repo-name}
    Container Registry gcr.io/{project_id}
    Docker Hub docker.io/{account}
    Assicurati di avere correttamente autenticato se utilizzi un repository Docker Hub privato.
    Repository di contenitori AWS (ECR) {aws_account_id}.dkr.ecr.{region}.amazonaws.com/{my-app}
    Azure Container Registry (ACR) {my_acr_name}.azurecr.io/{my-app}

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

    Per ulteriori informazioni, consulta guida alla gestione del registro di immagini.

    Questa scelta è memorizzata nella configurazione di avvio di cloudcode.kubernetes (disponibile in .vscode/launch.json).

    Cloud Code crea i container, li invia al registry, 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 nel terminale durante lo sviluppo e l'esecuzione dell'applicazione, puoi visualizzare i log per un pod specifico, accedendo alla sezione Kubernetes.

Per visualizzare i log di un pod specifico, segui questi passaggi:

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

    Si apre il Visualizzatore log.

Apportare modifiche, ricostruire e ripulire

Se hai impostato la modalità smartwatch su false nella configurazione di lancio e vuoi apportare modifiche all'applicazione, quindi ricostruirla 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), quindi fai clic su Riavvia (Ctrl/Cmd + Shift + F5) per ricreare ed eseguire nuovamente il deployment dell' un'applicazione.

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

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

Memorizzare i secret

Se il codice include dati potenzialmente sensibili come chiavi API, password e 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 ti servono.

Per una panoramica dettagliata su 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 e carichi di lavoro. (ad esempio deployment, set di repliche, pod e container), servizi e oggetti Ingress, configurazioni (come secret e mappe di configurazione) e archiviazione (come i volumi). Utilizzando la sezione Kubernetes, puoi eseguire azioni univoche su alcune di queste risorse.

Consulta la panoramica di Kubernetes per ulteriori informazioni informazioni sulla visualizzazione dei dettagli delle risorse.

Passaggi successivi

Richiedi assistenza

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