Questo articolo descrive Skaffold, come e perché Cloud Deploy lo utilizza e cosa devi fare per farlo funzionare.
Cloud Deploy utilizza Skaffold per le operazioni di rendering e deployment. Puoi anche utilizzarlo per lo sviluppo locale, la compilazione, il test e per le funzionalità di deployment avanzato. Tuttavia, Cloud Deploy richiede solo una configurazione Skaffold che identifichi i manifest da eseguire il rendering e applicare.
Che cos'è Skaffold?
Skaffold è uno strumento a riga di comando che consente lo sviluppo continuo per applicazioni native per Kubernetes. Puoi utilizzare Skaffold per configurare uno spazio di lavoro di sviluppo locale da utilizzare con le pipeline di distribuzione continua di Cloud Deploy.
Skaffold include le seguenti funzionalità:
Ti offre il controllo discreto delle attività della pipeline CI/CD (creazione, rendering, test di deployment e così via).
È utile come strumento di sviluppo locale.
I profili Skaffold ti consentono di distinguere tra diversi ambienti, con diverse configurazioni di build, test e deployment, il tutto nello stesso file di configurazione.
Perché Cloud Deploy utilizza Skaffold?
Google Cloud Deploy utilizza Skaffold per separare gli strumenti di rendering dalla pipeline di distribuzione. La pipeline di distribuzione definisce semplicemente la progressione da una destinazione all'altra, mentre la configurazione di Skaffold definisce quali manifest vengono sottoposti a rendering e in che modo. In questo modo, il rendering del manifest è flessibile senza influire sulla definizione della pipeline di pubblicazione.
Ecco alcuni vantaggi offerti da Skaffold quando lo utilizzi con Cloud Deploy:
Onboarding semplice
Inizia con un ciclo di sviluppo locale. Puoi condividere il file
skaffold.yamlcon il tuo team, il che può garantire coerenza e aiutare i nuovi membri del team a iniziare.Controllo coerente del rendering su diverse destinazioni di deployment
Puoi utilizzare i profili Skaffold, con rendering e deployment diversi per target diversi.
Scelta degli strumenti di rendering senza compromettere la definizione delle pipeline di distribuzione
L'utilizzo di Skaffold consente a Cloud Deploy di separare la definizione della pipeline di distribuzione dai dettagli di rendering. Questa separazione ti consente di sperimentare con i manifest senza interrompere la pipeline di distribuzione.
Procedura di rendering coerente
L'origine del rendering e i tuoi container vengono utilizzati per generare manifest di rendering.
Controlli di integrità del deployment
Skaffold li esegue e Cloud Deploy li utilizza.
In che modo Cloud Deploy utilizza Skaffold?
L'origine del rendering e i riferimenti alle immagini container vengono passati a Cloud Deploy quando crei una release.
Nell'ambito della creazione della release, Cloud Deploy chiama Cloud Build, che a sua volta richiama
skaffold diagnoseeskaffold renderper eseguire il rendering del manifest o dei manifest utilizzando l'origine di rendering e le immagini.Puoi utilizzare i profili Skaffold per distinguere i manifest che verranno applicati a target diversi.
Cloud Deploy supporta moduli Skaffold statici.
Durante il deployment, Cloud Deploy chiama
skaffold applyper applicare il manifest o i manifest sottoposti a rendering al cluster di destinazione.Cloud Deploy non supporta l'utilizzo di altri strumenti di deployment per eseguire il deployment dell'applicazione, a meno che non utilizzi target personalizzati. Tuttavia, puoi utilizzare strumenti come Helm o Kustomize come renderer. Per scoprire di più su come Cloud Deploy esegue il deployment senza utilizzare deployer specifici (come Helm), consulta Architettura del servizio.
Utilizzare Skaffold
Configura Skaffold in base alle esigenze della pipeline.
Determina le esigenze della pipeline di distribuzione.
Quanti target avrai? Il rendering e il deployment sono gli stessi per ciascuno. Se la configurazione è la stessa per ogni target nella progressione, non devi utilizzare i profili Skaffold. Ti serve solo un file
skaffold.yamlche descriva i manifest da eseguire il rendering.Se applicabile, crea un profilo Skaffold per ogni target
Definisci questo valore nel file
skaffold.yamle associa la sequenza di progressione della definizione della pipeline di distribuzione.Per saperne di più sui profili Skaffold, consulta la documentazione di Skaffold. Inoltre, il documento Gestione dei manifest in Cloud Deploy include configurazioni di profili di esempio.
Impostare il livello di verbosità del logging di Skaffold
Per impostazione predefinita, il livello di logging di Skaffold è impostato su
warn. Puoi modificare questa impostazione indebugnella configurazione per l'ambiente di esecuzione di una destinazione impostandoverbose: true.
Connetti Cloud Deploy al tuo sistema di integrazione continua.
Al termine del processo di CI, passa
skaffold.yaml, l'origine del rendering e le immagini container da inserire nel manifest sottoposto a rendering.(Facoltativo): configura il ciclo di sviluppo locale utilizzando Skaffold.
L'utilizzo di Skaffold per lo sviluppo è facoltativo in Cloud Deploy. L'unica cosa necessaria per il funzionamento di Cloud Deploy è un file
skaffold.yamlche identifichi i manifest da eseguire il rendering.
Passaggi successivi
Visita il sito di Skaffold per scoprire come funziona e cosa può fare per te.
Scopri come Cloud Deploy seleziona le versioni degli strumenti da utilizzare e come determinare quali versioni sono in uso.
Scopri come utilizzare i profili Skaffold in combinazione con strumenti avanzati di gestione dei manifest come Helm, Kustomize e kpt.