Moduli Skaffold in Cloud Code for VS Code

Skaffold è uno strumento a riga di comando che facilita lo sviluppo continuo. per le applicazioni native di Kubernetes. Skaffold gestisce il flusso di lavoro per la creazione, il push deployment della tua applicazione e fornisce i componenti di base per la creazione di pipeline CI/CD. Skaffold è il motore alla base di Cloud Code.

I progetti Skaffold in genere iniziano utilizzando una singola configurazione skaffold.yaml per descrivere come creare ed eseguire il deployment dell'applicazione. Come cresce, può essere utile suddividere la pipeline dell'applicazione in parti separate.

Skaffold supporta la definizione di più dipendenze di configurazione, messe insieme nello stesso file skaffold.yaml e separate utilizzando i separatori di documenti YAML (---) oppure inserite in file skaffold.yaml separati a cui viene fatto riferimento da un file skaffold.yaml di livello superiore. Una configurazione può essere trasformata in un modulo assegnandole un nome utilizzando il campo .metadata.name.

L'uso dei moduli ti consente di sviluppare ed eseguire il debug di parti dell'applicazione in modo indipendente. È possibile definire dipendenze tra i file di configurazione moduli specifici. Per la procedura da seguire per utilizzare questa funzionalità, consulta Sviluppare parti di un'applicazione in modo indipendente.

Eseguire il debug delle applicazioni con i moduli Skaffold

Puoi sviluppare e eseguire il debug in modo iterativo dell'intera applicazione o di un insieme di moduli definiti. Skaffold gestisce le dipendenze dei moduli e il relativo ordine di deployment.

Iniziare a utilizzare un esempio di moduli Skaffold

Per selezionare i moduli per la tua applicazione, vedi Creazione di moduli Skaffold selezionati e relative dipendenze.

Se non hai utilizzato i moduli Skaffold e vuoi testare la funzionalità con un esempio, consulta Esempio di libro degli ospiti, che è modularizzati in frontend e backend.

Per un esempio di applicazione aziendale di grandi dimensioni, sviluppata utilizzando varie tecnologie e linguaggi e i moduli Skaffold, consulta l'esempio Bank of Anthos.

Casi d'uso comuni

Questa sezione illustra alcuni esempi di casi d'uso comuni che mostrano diversi scenari su quando e come utilizzare i moduli nell'IDE.

Sviluppo di microservizi

Sei uno sviluppatore frontend che lavora principalmente su frontend in maggior dettaglio più avanti in questo modulo. Poiché è un microservizio, frontend non ha una libreria o un codice espliciti dipende dal repository backend, ma richiede il deployment e l'esecuzione di backend nel cluster.

Utilizzerai il progetto basato su Skaffold che contiene una definizione del modulo frontend per eseguire il deployment e il debug da un IDE Cloud Code a un cluster di sviluppo condiviso in cui anche il team di backend esegue il deployment del proprio servizio. Il team DevOps gestisce questo cluster condiviso.

La maggior parte del tempo non utilizzi o esegui il debug del codice backend o aggiorni le configurazioni di Kubernetes. Skaffold crea ed esegue il deployment di altre configurazioni richiesti da frontend. Configura Cloud Code del deployment per l'iterazione solo del modulo frontend.

Puoi anche eseguire il deployment di frontend e backend in un cluster locale per un'esperienza iterativa più rapida.

Sviluppo e debug di microservizi oltre i confini

Quando è necessario eseguire il debug di più microservizi contemporaneamente, puoi:

  • Apri la directory superiore in cui si trovano tutte le sottodirectory con il codice sorgente dei moduli l'una dell'altra
  • Seleziona il file skaffold.yaml radice per il deployment (configurazioni)
  • Configura la configurazione del deployment di Cloud Code in modo da eseguire l'iterazione solo sui moduli frontend e backend disponibili localmente (e sul rispettivo modulo di configurazione Kubernetes in caso di modifiche).

Puoi anche avere un file skaffold.yaml radice separato per le risorse locali che include un server di dati statico.

Modifica del file YAML del modulo intelligente

Sei un ingegnere DevOps che crea un repository di modelli per il team di sviluppatori di microservizi che utilizza i moduli Skaffold. Vuoi assicurarti che non ci siano errori nelle definizioni dei moduli senza eseguire manualmente Skaffold (ad esempio, dipendenze cicliche o nomi di moduli non univoci). Utilizzi gli IDE Cloud Code per modificare i file di configurazione YAML di Skaffold.

Passaggi successivi

Richiedi assistenza

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