Con Cloud Code puoi creare un'applicazione Kubernetes basata su un campione o su un progetto esistente.
Crea un'applicazione da un modello
Cloud Code include una raccolta di modelli di esempi di codice per aiutarti a iniziare rapidamente. Per creare un'applicazione Kubernetes utilizzando un esempio esistente, segui questi passaggi:
- Avvia la tavolozza dei comandi (premi
Ctrl
/Cmd
+Shift
+P
o fai clic su Visualizza > Tavolozza comandi), quindi esegui Cloud Code: New Application. - Seleziona Applicazione Kubernetes per il tipo di esempio.
- Seleziona un campione in base al linguaggio che vuoi utilizzare tra le opzioni disponibili: NodeJS, Go, Python, Java.
Scegli una posizione preferita per l'applicazione sulla macchina locale, quindi 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'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 alcuni file chiave e i loro usi:
- .vscode
extensions.json
: prompt che richiede il download delle estensioni correlate all'apertura di questo progettolaunch.json
: avvia la configurazione (di tipocloudcode.kubernetes
) per eseguire o eseguire il debug dell'applicazione Kubernetestasks.json
: informazioni di configurazione per le attività di codice di Visual Studio
- Kubernetes-manifest
guestbook-backend.deployment.yaml
: specifiche dei pod per i nodi di backendguestbook-frontend.deployment.yaml
: specifica del pod per i nodi di frontendmongo.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, utilizzato da Cloud Code per creare, eseguire il deployment e il debug delle applicazioni Kubernetes
Utilizza la tua applicazione
Per la procedura di utilizzo di un progetto esistente, consulta 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 nel contesto Kubernetes che preferisci. Puoi specificarlo nella tua configurazione.
Configurazione
Quando utilizzi la configurazione di esecuzione di 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 modifica o aggiungi configurazioni.Impostazioni build
Cloud Code supporta i tipi di artefatti Docker, Jib e Buildpacks. Consulta la guida alle preferenze per la configurazione delle immagini container per scoprire come configurare il builder preferito e le relative impostazioni.
Personalizzare la configurazione di lancio
Per configurare l'esecuzione dell'applicazione, puoi personalizzare il file skaffold.yaml
.
Puoi anche configurare il lancio modificando la configurazione cloudcode.kubernetes
nel file .vscode/launch.json
.
Per ulteriori informazioni sulla personalizzazione della configurazione di avvio, consulta Kubernetes in Cloud Code.
Esegui l'applicazione
Una volta configurata un'applicazione, puoi eseguirla su un cluster Kubernetes e vederla attiva utilizzando skaffold dev
.
Puoi eseguire la tua applicazione su un cluster locale (come minikube o Docker
desktop), su Google Kubernetes Engine o su 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 l'attuale contesto Kubernetes per eseguire l'app (o passa a uno dei due preferiti). Per ulteriori informazioni sulla configurazione di un contesto Kubernetes, consulta Impostazione della configurazione.
Se hai scelto un cluster remoto come contesto, quando richiesto, scegli un registro di immagini a cui eseguire il push delle immagini. Se utilizzi Container Registry, puoi navigare fino a un registro esistente o specificare il nome di un registro da creare. Se nel tuo progetto è abilitata l'API Artifact Registry e almeno un repository Artifact Registry, puoi cercare e selezionare un repository Artifact Registry esistente.
Gli esempi riportati di seguito mostrano come specificare dove vengono archiviate le immagini container 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 aver eseguito correttamente l'autenticazione 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 immagine specificato nei manifest Kubernetes per generare il nome finale del repository di immagini.
Per ulteriori informazioni, consulta la guida alla gestione del registro di immagini.
Questa scelta è memorizzata nella configurazione di avvio di
cloudcode.kubernetes
(trovata in .vscode/launch.json).Cloud Code crea i container, ne esegue il push 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 mentre sviluppi ed esegui la tua applicazione, puoi visualizzare i log di 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 pulsante destro del mouse sul pod di cui desideri visualizzare i log, quindi fai clic su Visualizza log.
Si apre il Visualizzatore log.
Apporta modifiche, ricrea e pulisci
Se hai impostato la modalità di visualizzazione sufalse
nella configurazione di avvio e vuoi
apportare modifiche all'applicazione, quindi ricreare e rieseguire il deployment dell'applicazione:
Apporta e salva le modifiche.
Nella barra degli strumenti di debug, fai clic su Metti in pausa (
F6
), quindi su Riavvia (Ctrl/Cmd + Shift + F5
) per ricreare la build ed eseguire nuovamente il deployment dell'applicazione.Per interrompere l'esecuzione dell'applicazione, fai clic su Arresta nella barra degli strumenti di debug.
Una volta arrestata 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 secret
Se il 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 informazioni dettagliate 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, carichi di lavoro (ad esempio deployment, set di repliche, pod e container), servizi e Ingress, configurazioni (come secret e mappe di configurazione) e archiviazione (ad esempio volumi). Utilizzando la sezione Kubernetes, puoi eseguire azioni univoche su alcune di queste risorse.
Consulta la panoramica di Kubernetes per ulteriori informazioni sulla visualizzazione dei dettagli delle risorse.
Passaggi successivi
- Esplora le opzioni di build con buildpack, Jib o Docker.
- Utilizza la sincronizzazione dei file e il ricaricamento a caldo per velocizzare lo sviluppo.
- Scopri di più sull'assistenza per la modifica di YAML di Cloud Code.