Utilizza Skaffold con Cloud Deploy

Questo articolo descrive Skaffold, come e perché viene utilizzato da Cloud Deploy e cosa devi fare per utilizzarlo.

Cloud Deploy utilizza Skaffold per le operazioni di rendering e deployment. Puoi anche usarlo per lo sviluppo locale, la compilazione, i test e le funzionalità di deployment avanzato. Tuttavia, Cloud Deploy richiede solo una configurazione Skaffold che identifichi i manifest da eseguire e applicare.

Che cos'è Skaffold?

Skaffold è uno strumento a riga di comando che consente lo sviluppo continuo per le applicazioni native di Kubernetes. Puoi utilizzare Skaffold per configurare un'area di lavoro di sviluppo locale da utilizzare con le pipeline di distribuzione continua di Cloud Deploy.

Skaffold include le seguenti funzionalità:

  • Ti offre un 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 ambienti diversi, con configurazioni di compilazione, test e deployment diverse, 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 importazione definisce semplicemente la progressione da un target all'altro, mentre la configurazione di Skaffold definisce quali manifest vengono visualizzati e come. In questo modo, il rendering del manifest è flessibile senza influire sulla definizione della pipeline di pubblicazione.

Ecco alcuni dei vantaggi offerti da Skaffold se lo utilizzi con Cloud Deploy:

  • Onboarding facile

    Inizia con un ciclo di sviluppo locale. Puoi condividere il file skaffold.yaml con il tuo team, in modo da garantire la coerenza e aiutare i nuovi membri a iniziare.

  • Controllo coerente del rendering su diversi target di deployment

    Puoi utilizzare i profili Skaffold, con rendering e deployment diversi per diversi target.

  • Scelta degli strumenti di rendering senza compromettere la modalità di definizione delle pipeline di caricamento

    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 eseguire esperimenti con i manifest senza interrompere la pipeline di distribuzione.

  • Procedura di rendering coerente

    L'origine di rendering e i container vengono utilizzati per generare manifest visualizzati.

  • Controlli di integrità del deployment

    Skaffold le esegue e Cloud Deploy le utilizza.

In che modo Cloud Deploy utilizza Skaffold?

  • La sorgente di 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 diagnose e skaffold render per eseguire il rendering del manifest o dei manifest utilizzando l'origine di rendering e le immagini.

  • Puoi utilizzare i profili Skaffold per differenziare i manifest che verranno applicati a target diversi.

  • Cloud Deploy supporta i moduli Skaffold statici.

  • Durante il deployment, Cloud Deploy chiama skaffold apply per applicare il manifest o i manifest visualizzati al cluster di destinazione.

  • Cloud Deploy non supporta l'utilizzo di altri deployer per eseguire il deployment della tua applicazione, a meno che non utilizzi destinazioni personalizzate. Tuttavia, puoi utilizzare strumenti come Helm o Kustomize come visualizzatori. Per scoprire di più su come Cloud Deploy esegue il deployment senza utilizzare deployer specifici (come Helm), consulta Architettura del servizio.

Fai lavorare Skaffold per te

  1. Configura Skaffold in base alle esigenze della pipeline.

    1. 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 dovrai utilizzare i profili Skaffold. È sufficiente un file skaffold.yaml che descriva i manifest da eseguire.

    2. Se applicabile, crea un profilo Skaffold per ogni target

      Definisci questo valore nel file skaffold.yaml e associalo alla sequenza di progressione della definizione della pipeline di distribuzione.

      Per ulteriori informazioni sui profili Skaffold, consulta la documentazione di Skaffold. Inoltre, il documento Gestione dei manifest in Cloud Deploy include configurazioni di profili di esempio.

    3. Impostare il livello di dettaglio del logging di Skaffold

      Per impostazione predefinita, il livello di logging di Skaffold è impostato su warn. Puoi impostare debug nella configurazione per il ambiente di esecuzione di un target impostando verbose: true.

  2. Connetti Cloud Deploy al tuo sistema di integrazione continua.

    Al termine del processo CI, passa il skaffold.yaml, l'origine di rendering e le immagini container da compilare nel manifest visualizzato.

  3. (Facoltativo) Configura il loop 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.yaml che identifica i manifest da eseguire.

Passaggi successivi

  • Visita il sito di Skaffold per scoprire come funziona e cosa può fare per te.

  • Scopri come Cloud Deploy seleziona la versione di Skaffold da usare, quando la versione di Skaffold cambia e come determinare quale versione è attualmente in uso.

  • Scopri come utilizzare i profili Skaffold insieme a strumenti di gestione dei manifest avanzati come Helm, Kustomize e kpt.

  • Prova la procedura dettagliata per i profili Skaffold.