Cloud Code ti consente di creare un'applicazione Kubernetes basata su di esempio o di un progetto esistente.
Crea un'applicazione da un modello
Cloud Code include una raccolta esempio di codice modelli per iniziare rapidamente. Per creare un'applicazione Kubernetes un campione esistente, segui questi passaggi:
- Apri la tavolozza dei comandi (premi
Ctrl
/Cmd
+Shift
+P
o fai clic su Visualizza > Command Palette) ed esegui Cloud Code: New Application. - Seleziona Applicazione Kubernetes per il tipo di esempio.
- Seleziona un campione basato sulla lingua che vuoi utilizzare tra quelle disponibili opzioni: NodeJS, Go, Python, Java.
Scegli una posizione preferita per l'applicazione sul computer locale e fai clic su Crea una nuova applicazione per salvare.
Cloud Code clona l'esempio che hai scelto e apre il nuovo progetto per l'uso.
Struttura dell'applicazione di esempio
Tutte le applicazioni di esempio dei linguaggi hanno quasi la stessa struttura. Questo non è l'unica struttura supportata, ma è consigliata all'avvio.
Ad esempio, la struttura dell'applicazione Guestbook Node.js ha questo aspetto:
.
|---- .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 relativi usi:
- .vscode
extensions.json
: richiesta di download delle estensioni correlate quando apertura di questo progettolaunch.json
: avvia configurazione (di tipocloudcode.kubernetes
) per eseguire o eseguire il debug dell'applicazione Kubernetestasks.json
: informazioni di configurazione per Attività di codice di Visual Studio
- kubernetes-manifests
guestbook-backend.deployment.yaml
: specifica del pod per il backend nodiguestbook-frontend.deployment.yaml
: specifica del pod per il frontend nodimongo.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
: utilizzata per creare l'immagine container 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 il contesto Kubernetes che preferisci. Puoi specificare questo valore configurazione.
Configurazione
Quando utilizzi la configurazione di esecuzione Cloud Code: Develop on Kubernetes, puoi: personalizzare il deployment configurando le impostazioni disponibili.
Per aggiungere o modificare le configurazioni, vai a Esegui > Apri Configurazioni, quindi o modificare o aggiungere configurazioni.Impostazioni build
Cloud Code supporta i tipi di artefatti Docker, Jib e Buildpacks. 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 lancio
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
di guardarlo in tempo reale, sfruttando
skaffold dev
Puoi eseguire la tua applicazione su un cluster locale (come minikube o Docker
desktop), Google Kubernetes Engine o qualsiasi altro cloud provider.
- Apri la tavolozza dei comandi (premi
Ctrl
/Cmd
+Shift
+P
), quindi esegui il Comando Cloud Code: Run on Kubernetes. - Conferma se utilizzare il modello attuale Contesto Kubernetes eseguire l'app (o passare all'app che preferisci). Per ulteriori informazioni per configurare un contesto Kubernetes, l'impostazione della configurazione.
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 vai a un registro esistente o specifica il nome di un registro da creare. Se il tuo progetto ha API Artifact Registry abilitata e almeno in un repository Artifact Registry, può 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 container AWS (ECR) {aws_account_id}.dkr.ecr.{region}.amazonaws.com/{my-app} Registro Azure Container (ACR) {my_acr_name}.azurecr.io/{my-app} Cloud Code concatena questo registro di immagini con il nome dell'immagine specificato nei manifest Kubernetes per generare il repository di immagini 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, ne esegue il push 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:
- Nella sezione Kubernetes, espandi Deployment
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.
Apporta modifiche, ricrea e pulisci
Se hai impostato la modalità orologio sufalse
nella configurazione di avvio e vuoi
apporta modifiche all'applicazione, quindi ricrea l'applicazione ed eseguine nuovamente il deployment:
Apporta e salva le modifiche.
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.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 l'cleanUp
nella configurazione di avvio.
Archivia 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 Secret Manager per poi recuperarli in modo programmatico quando ne hai bisogno.
Per uno sguardo dettagliato su come creare e gestire i secret con Cloud Code, consulta 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 alcuni di queste risorse.
Consulta la panoramica di Kubernetes per ulteriori informazioni informazioni sulla visualizzazione dei dettagli delle risorse.
Passaggi successivi
- Esplora le opzioni di build con buildpack, Jib o Docker.
- Utilizza le funzionalità di sincronizzazione file e ricaricamento a caldo per velocizzare lo sviluppo.
- Scopri di più su Cloud Code Modifica di YAML assistenza.