Utilizzare Skaffold con Cloud Deploy

Questo articolo descrive Skaffold, come e perché Cloud Deploy la utilizza e cosa devi fare per farla funzionare te.

Cloud Deploy utilizza Skaffold per le operazioni di rendering e deployment. Puoi anche da usare per lo sviluppo locale, la creazione, il test e per il deployment avanzato funzionalità. Tuttavia, Cloud Deploy richiede solo uno Skaffold configurazione che identifica da visualizzare e applicare.

Che cos'è Skaffold?

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

Skaffold include le seguenti funzionalità:

  • Offre un controllo discreto delle attività della pipeline CI/CD (creazione, rendering, test deployment e così via).

  • È utile come strumento di sviluppo locale.

  • I profili Skaffold ti consentono di distinguere tra diversi ambienti, con configurazioni di build, test e deployment diverse, tutte nella stessa configurazione .

Perché Cloud Deploy utilizza Skaffold?

Google Cloud Deploy utilizza Skaffold per separare gli strumenti di rendering dalla distribuzione una pipeline o un blocco note personalizzato. La pipeline di distribuzione definisce semplicemente l'avanzamento dal target a il target, mentre la configurazione Skaffold definisce quali manifest vengono visualizzati e come. Ciò rende flessibile il rendering del manifest senza influire sulla definizione della tua pipeline di distribuzione.

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

  • Onboarding facile

    Inizia con un loop di sviluppo locale. Puoi condividere il tuo file skaffold.yaml con il team, il che può garantire coerenza e aiutare i nuovi membri del team.

  • Controllo coerente sul rendering su diversi target di deployment

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

  • Scelta di strumenti di rendering senza compromettere il modo in cui le pipeline di distribuzione definito

    L'uso di Skaffold consente a Cloud Deploy di separare la pipeline di distribuzione dai dettagli del rendering. Questa separazione consente di sperimentare con i tuoi manifest senza interrompere la pipeline di distribuzione.

  • Processo di rendering coerente

    L'origine del rendering e i container vengono utilizzati per generare il rendering manifests.

  • Controlli di integrità del deployment

    Skaffold le esegue e Cloud Deploy le usa.

In che modo Cloud Deploy utilizza Skaffold?

  • L'origine di rendering e i riferimenti alle immagini container vengono passati alle Cloud Deploy al momento della creazione di una release.

    Nell'ambito della creazione della release, Cloud Deploy chiama Cloud Build, che a sua volta richiama skaffold diagnose e skaffold render eseguire il rendering di uno o più manifest utilizzando l'origine di rendering e quelle in formato Docker.

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

  • Cloud Deploy supporta moduli Skaffold statici.

  • Durante il deployment, Cloud Deploy chiama skaffold apply per applicare il manifest o i manifest di cui è stato eseguito il rendering al cluster di destinazione.

  • Cloud Deploy non supporta l'utilizzo di altri deployment per il deployment dell'applicazione, a meno che non utilizzi i target personalizzati. Tuttavia, puoi usare strumenti come Helm o Kustomize come renderer. Per saperne di più su come Cloud Deploy esegue il deployment senza utilizzare deployment specifici (come Helm), consulta Architettura dei servizi.

Lascia che Skaffold lavori per te

  1. Configura Skaffold in base alle esigenze della tua pipeline.

    1. Determina le esigenze della tua pipeline di distribuzione.

      Quanti target avrai? Il rendering e il deployment sono uguali per ciascuna. Se la configurazione è la stessa per tutti i target in avanzamento, non dovrai usare i profili Skaffold. Ti serve solo un skaffold.yaml che descrive i manifest di cui eseguire il rendering.

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

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

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

    3. Imposta il livello di dettaglio del logging di Skaffold

      Per impostazione predefinita, Livello di logging Skaffold è impostato su warn. Puoi modificarlo in debug nella configurazione per di un obiettivo ambiente di esecuzione impostando verbose: true.

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

    Al termine del processo di CI, supera il parametro skaffold.yaml, l'origine di rendering e le immagini container da compilare nel manifest sottoposto a rendering.

  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 fare ordine per il funzionamento di Cloud Deploy è un file skaffold.yaml che identifica i manifest di cui 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 la versione di Skaffold da utilizzare, quando quest'ultima cambia e come per determinare quale versione è attualmente in uso.

  • Scopri come utilizzare Skaffold profili in combinazione con strumenti avanzati di gestione dei manifest come Helm, Kustomize e Kpt.

  • Prova la procedura dettagliata per i profili Skaffold.