Utilizzare minikube per lo sviluppo locale in Cloud Code per VS Code

Cloud Code installa e gestisce automaticamente minikube. Se hai disattivato la gestione delle dipendenze, aggiungi il file binario minikube a PATH.

Prima di iniziare

  1. Installa Git in modo che Cloud Code possa eseguire operazioni Git, come la clonazione di un esempio.
  2. 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 codice campione 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: Nuova applicazione.
  2. Seleziona Applicazione Kubernetes per il tipo di esempio.
  3. Seleziona un esempio in base al linguaggio che vuoi utilizzare tra le opzioni disponibili: Node.js, Go, Python, Java.
  4. Scegli la posizione dell'applicazione che preferisci 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 per le lingue 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

Ecco alcuni file chiave e i relativi utilizzi di questa app di esempio Node.js Kubernetes Guestbook:

  • .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 Visual Studio Code Tasks
  • kubernetes-manifests
    • guestbook-backend.deployment.yaml: Specifica del pod per i nodi di backend
    • guestbook-frontend.deployment.yaml: specifica del pod per i nodi frontend
    • 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, utilizzato da Cloud Code per creare, eseguire il deployment e eseguire il debug di applicazioni Kubernetes

Utilizzare la tua applicazione

Per la procedura per utilizzare un progetto esistente, consulta Utilizzare Cloud Code con un'applicazione Kubernetes esistente.

Impostare 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: 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.

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 file binario minikube a PATH.

  1. Avvia la tavolozza dei comandi (premi Ctrl/Cmd+Shift+P o fai clic su Visualizza > Tavolozza comandi) e poi esegui il comando Cloud Code: Control minikube.
  2. Fai clic su minikube in Scegli un cluster Minikube (profilo) da controllare e poi su Avvia.

Esegui su minikube

  1. Avvia la tavolozza dei comandi ed esegui Cloud Code: Esegui su Kubernetes.
  2. Fai clic su per Vuoi utilizzare il contesto attuale (minikube) per eseguire l'app?
  3. Cloud Code esegue l'app in un cluster minikube. Se richiesto, autorizza Cloud Shell a utilizzare le tue credenziali per effettuare una chiamataGoogle Cloud API.

    Visualizza i dettagli del deployment nella sezione Sessioni di sviluppo di Cloud Code.

  4. Visualizza gli URL facendo clic su Inoltra URL nella sezione Sessioni di sviluppo, quindi fai clic sul link dell'URL per aprire il browser con l'applicazione in esecuzione.

Aprire un terminale interattivo per un contenitore

  1. Fai clic su Cloud Code ed espandi l'esploratore Sessioni di sviluppo.
  2. Espandi Risorse di cui è stato eseguito il deployment, quindi espandi Pod.
  3. Fai clic con il tasto destro del mouse su un contenitore e poi su Ottieni terminale.

Mettere in pausa o interrompere un cluster minikube

  1. Avvia la tavolozza dei comandi (premi Ctrl/Cmd+Shift+P o fai clic su Visualizza > Tavolozza comandi) e poi esegui il comando Cloud Code: Control minikube.
  2. Dopo aver compilato l'opzione Scegli un cluster (profilo) Minikube da controllare, fai clic su minikube e poi su Interrompi o Metti in pausa.

Creare e aggiungere un cluster da un altro cloud provider

Se utilizzi 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 al file KubeConfig.

Collaborare 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 corrente.

Ad esempio, se utilizzavi un cluster locale, docker-for-desktop, con Docker Desktop, imposta il cluster che preferisci eseguendo il seguente comando:

kubectl config use-context docker-for-desktop

Passaggi successivi

Richiedi assistenza

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