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 a utilizzare un singolo skaffold.yaml
per descrivere come creare l'applicazione ed eseguirne il deployment. Come
cresce, può essere utile suddividere la pipeline dell'applicazione
in parti separate.
Skaffold supporta la definizione di più istanze
dipendenze di configurazione,
posizionati insieme nello stesso file skaffold.yaml
e separati tramite YAML
separatori di documenti (---
) o inseriti in skaffold.yaml
separati
file a cui viene fatto riferimento da un file skaffold.yaml
di livello superiore. R
configurazione può essere trasformata in un modulo assegnandogli un nome utilizzando
.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 conoscere la procedura per usare questa funzione, vedi Sviluppare parti di un'applicazione in modo indipendente.
Debug delle applicazioni con i moduli Skaffold
Puoi sviluppare ed eseguire il debug in modo iterativo dell'intera applicazione o di un insieme di moduli definiti. Skaffold gestisce le dipendenze dei moduli e il loro ordine di deployment.
Esempio di utilizzo dei 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 campione di applicazioni aziendali di grandi dimensioni, sviluppato utilizzando di tecnologie e linguaggi e sull'utilizzo dei moduli Skaffold, Esempio di Bank of Anthos.
Casi d'uso comuni
Questa sezione illustra alcuni esempi di casi d'uso comuni che dimostrano diversi scenari di quando e come puoi usare i moduli nel tuo IDE.
![](https://cloud.google.com/static/code/docs/intellij/images/skaffold-modules-customer-environment-diagram.png?authuser=0000&hl=it)
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.
Non utilizzi o esegui il debug del codice backend
né non aggiorni Kubernetes
la maggior parte delle volte. 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 ottenere un'esperienza iterativa più rapida.
Sviluppo e debug di microservizi oltre i confini
Quando è necessario eseguire il debug di più microservizi insieme, 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
ebackend
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 YAML modulo smart
Sei un ingegnere DevOps che sta creando 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). Puoi utilizzare gli IDE Cloud Code per modificare i file di configurazione YAML Skaffold.
Passaggi successivi
- Sviluppare parti di un'applicazione in modo indipendente
- Debug di un'applicazione Kubernetes
- Esecuzione di un'applicazione Kubernetes