Moduli Skaffold

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 e il deployment della tua applicazione e fornisce i componenti di base per la creazione di pipeline CI/CD. Skaffold è il motore su cui si basa Cloud Code.

I progetti Skaffold di solito iniziano a utilizzare una singola configurazione skaffold.yaml per descrivere come creare l'applicazione ed eseguirne il deployment. Man mano che un progetto cresce, può essere utile suddividere la pipeline dell'applicazione in parti separate.

Skaffold supporta la definizione di più dipendenze di configurazione, posizionate insieme nello stesso file skaffold.yaml e separate utilizzando separatori di documenti YAML (---), oppure posizionate 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 assegnando un nome tramite il campo .metadata.name.

L'uso dei moduli consente di sviluppare ed eseguire il debug di parti dell'applicazione in modo indipendente. È possibile definire dipendenze tra i file di configurazione e moduli specifici.

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 relativo ordine di deployment.

Introduzione a un esempio di moduli Skaffold

Per selezionare i moduli per la tua applicazione, vedi Sviluppare in modo indipendente parti di un'applicazione.

Se non hai utilizzato i moduli Skaffold e vuoi testare la funzionalità con un esempio, consulta l'esempio di guestbook, che è modulare in frontend e backend.

Per un esempio di grande applicazione aziendale, sviluppato utilizzando una serie di tecnologie e linguaggi diversi e utilizzando i moduli Skaffold, consulta l'esempio di Bank of Anthos.

Casi d'uso comuni

Questa sezione descrive alcuni esempi di casi d'uso comuni che mostrano diversi scenari di quando e come utilizzare i moduli nel tuo IDE.

Sviluppo di microservizi

Sei uno sviluppatore frontend che lavora principalmente al modulo frontend. Essendo un microservizio, frontend non ha una dipendenza chiara da codice o libreria sul repository backend, ma richiede che venga eseguito il deployment di backend e che sia in esecuzione nel cluster.

Utilizzerai il tuo progetto basato su Skaffold che contiene una definizione del modulo frontend per eseguire il deployment e il debug da un IDE Cloud Code in 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 delle volte non puoi lavorare con il codice backend né eseguirne il debug né aggiornare le configurazioni di Kubernetes. Skaffold crea ed esegue il deployment di altre configurazioni richieste da frontend. Puoi configurare la configurazione del deployment di Cloud Code in modo che venga eseguita l'iterazione solo nel 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 tra confini

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

  • Apri la directory padre in cui si trovano tutte le sottodirectory con il codice sorgente dei moduli l'una rispetto all'altra
  • Seleziona il file skaffold.yaml principale 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 di Kubernetes in caso di modifiche).

Potresti anche avere un file skaffold.yaml principale separato per lo sviluppo locale che include un server di dati statici.

Modifica YAML modulo intelligente

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 Skaffold manualmente (ad esempio dipendenze cicliche o nomi di moduli non univoci). Puoi utilizzare gli IDE Cloud Code per modificare i file YAML di configurazione Skaffold.

Ricevi assistenza

Per inviare un feedback o segnalare un problema nell'IDE IntelliJ, vai a Strumenti > Cloud Code > Guida / Informazioni > Invia feedback o segnala un problema per segnalare un problema su GitHub oppure fai una domanda su Stack Overflow.