Cloud Code installa e gestisce automaticamente minikube. Se
hai disattivato la gestione delle dipendenze, aggiungi il programma binario minikube a PATH
.
Prima di iniziare
- Installa Git in modo che Cloud Code possa eseguire operazioni Git, come la clonazione di un campione.
- Se non l'hai ancora fatto, installa il plug-in Cloud Code.
Creare 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 dei comandi), quindi esegui Cloud Code: New Application. - Seleziona Applicazione Kubernetes come tipo di esempio.
- Seleziona un esempio in base al linguaggio che vuoi utilizzare tra le opzioni disponibili: NodeJS, Go, Python, Java.
Scegli il percorso dell'applicazione preferito sulla tua macchina locale, quindi fai clic su Crea nuova applicazione per salvare.
Cloud Code clona l'esempio che hai scelto e apre il nuovo progetto da utilizzare.
Struttura dell'applicazione di esempio
Tutte le applicazioni di esempio in linguaggio hanno quasi la stessa struttura. Questa non è l'unica struttura supportata, ma è consigliata all'inizio.
Ad esempio, la struttura dell'applicazione Guestbook Node.js è simile a:
.
|---- .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 un'occhiata più da vicino a questa app di esempio Node.js del guestbook Kubernetes, ecco alcuni file chiave e i loro utilizzi:
- .vscode
extensions.json
: richiesta di 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 attività di codice di Visual Studio
- manifest-kubernetes
guestbook-backend.deployment.yaml
: specifica dei pod per i nodi di backendguestbook-frontend.deployment.yaml
: specifica dei pod per i nodi del 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
: utilizzato per creare l'immagine container per il nostro programma
skaffold.yaml
: file di configurazione per Skaffold, utilizzato da Cloud Code per creare le applicazioni Kubernetes ed eseguirne il deployment e il debug
Utilizza la tua applicazione
Per la procedura di utilizzo di un progetto esistente, consulta Utilizzare Cloud Code con un'applicazione Kubernetes esistente.
Imposta il contesto di Kubernetes
Prima di eseguire l'applicazione, assicurati di avere la configurazione necessaria per eseguire il deployment dell'app nel contesto Kubernetes preferito. Puoi specificarlo nella tua 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 e poi modifica o aggiungi configurazioni.Crea ed esegui il deployment in un cluster minikube
Avvia un cluster minikube
Cloud Code installa e gestisce automaticamente minikube. Se
hai disattivato la gestione delle dipendenze, aggiungi il programma binario minikube a PATH
.
- Avvia la tavolozza dei comandi (premi
Ctrl
/Cmd
+Shift
+P
o fai clic su Visualizza > Tavolozza comandi), quindi esegui il comando Cloud Code: Control minikube. - Fai clic su minikube per Scegli un cluster (profilo) Minikube da controllare, quindi fai clic su Avvia.
Esegui su minikube
- Avvia la tavolozza dei comandi ed esegui Cloud Code: Run on Kubernetes.
- Fai clic su Sì per Usare il contesto corrente (minikube) per eseguire l'app?
Cloud Code esegue la tua app in un cluster minikube. Se richiesto, autorizza Cloud Shell a utilizzare le tue credenziali per effettuare una chiamata API Google Cloud.
Visualizza i dettagli del deployment nella sezione Sessioni di sviluppo di Cloud Code.
Visualizza gli URL facendo clic su URL di trasferimento nella sezione Sessioni di sviluppo, quindi fai clic sul link dell'URL per aprire il browser con l'applicazione in esecuzione.
Apri un terminale interattivo in un container
- Fai clic su Cloud Code ed espandi lo strumento di esplorazione Sessioni di sviluppo.
- Espandi Risorse di cui è stato eseguito il deployment, quindi espandi Pod.
- Fai clic con il tasto destro del mouse su un contenitore, quindi fai clic su Ottieni terminale.
Metti in pausa o arresta un cluster minikube
- Avvia la tavolozza dei comandi (premi
Ctrl
/Cmd
+Shift
+P
o fai clic su Visualizza > Tavolozza comandi), quindi esegui il comando Cloud Code: Control minikube. - Una volta visualizzata l'opzione Scegli un cluster (profilo) Minikube da controllare, fai clic su minikube e poi su Arresta o Metti in pausa.
Crea e aggiungi un cluster da un altro cloud provider
Se usi un cluster on-premise o un cluster di un altro provider come Azure o AWS, utilizza gli strumenti del provider per creare il cluster e aggiungerlo a KubeConfig.
Lavora con altri cluster locali
Oltre a minikube, puoi utilizzare Cloud Code se utilizzi Docker Desktop (per Mac o Windows).
Per far funzionare Cloud Code con un cluster locale, assicurati che la configurazione predefinita (ad esempio ~/.kube/config
) contenga il cluster locale. Questo cluster deve essere impostato come contesto attuale.
Ad esempio, se utilizzavi un cluster locale, docker-for-desktop
, con Docker Desktop, imposta il tuo cluster preferito eseguendo questo comando:
kubectl config use-context docker-for-desktop
Passaggi successivi
- Utilizza sincronizzazione file e ricaricamento a caldo per accelerare lo sviluppo.
- Eseguire il debug dell'applicazione in Cloud Code