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:
- Avvia la tavolozza dei comandi (premi
Ctrl/Cmd+Shift+Po fai clic su Visualizza > Tavolozza comandi) e poi esegui Cloud Code: New Application. - Seleziona Applicazione Kubernetes per il tipo di esempio.
- Seleziona un esempio in base alla lingua che vuoi utilizzare tra le opzioni disponibili: NodeJS, Go, Python, Java.
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 progettolaunch.json: configurazione di avvio (di tipocloudcode.kubernetes) per eseguire o eseguire il debug dell'applicazione Kubernetestasks.json: informazioni di configurazione per Visual Studio Code Tasks
- kubernetes-manifests
guestbook-backend.deployment.yaml: Specifica pod per i nodi di backendguestbook-frontend.deployment.yaml: Specifica pod per i nodi frontendmongo.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.
- Apri la tavolozza dei comandi (premi
Ctrl/Cmd+Shift+P) e poi esegui il comando Cloud Code: Run on Kubernetes. - 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.
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_NAMEDocker 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/APPRegistro Azure Container (ACR) ACR_NAME.azurecr.io/APPCloud 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:
- Nella sezione Kubernetes, espandi Deployment.
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 sufalse nella configurazione di avvio e vuoi
apportare modifiche all'applicazione, quindi ricompilarla ed eseguirne nuovamente il deployment:
Apporta e salva le modifiche.
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.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
- Esplora le opzioni di build con buildpack, Jib o Docker.
- Utilizza la sincronizzazione dei file e il ricaricamento rapido per velocizzare lo sviluppo.
- Scopri di più sull'assistenza di Cloud Code per la modifica di YAML.