Terminologia di Cloud Deploy

I termini in questo documento sono definiti in base a come vengono utilizzati in Cloud Deploy.

Abbandona

Per disattivare definitivamente una release.

Applicazione

Il software di cui vuoi eseguire il deployment mediante Cloud Deploy.

Distribuzione delle applicazioni

Pubblicazione degli asset necessari per eseguire il deployment di un'applicazione nell'ambiente target previsto. In Cloud Deploy, la distribuzione delle applicazioni consiste nel generare, promuovere e distribuire i manifest Kubernetes della tua applicazione nel cluster.

Artefatto

Le immagini container di cui eseguire il deployment (artefatti della build) e i file di configurazione, ad esempio manifest e configurazioni Skaffold, utilizzati per il deployment (artefatti di destinazione).

Automazione

L'Automation ti consente di configurare la pipeline di distribuzione e i target in modo da eseguire alcune azioni su release e implementazioni per quella pipeline, senza richiedere l'intervento umano. Ad esempio, puoi impostare la pipeline di pubblicazione in modo che la promozione in un target specifico avvenga automaticamente, nelle giuste circostanze. Scopri di più.

Regola di automazione

Il comportamento di un'automazione è definito in parte dalla regola di automazione. Una regola di automazione definisce cosa viene automatizzato, ad esempio la promozione di una release.

Le regole di automazione disponibili sono elencate nel documento Utilizzo delle regole di automazione.

Esecuzione automazione

Un'istanza di un'automazione.

Deployment canary

Una strategia di deployment in cui implementare le modifiche a un sottoinsieme di utenti, testarla per garantire l'affidabilità e poi implementarla completamente.

Implementazione figlio

Per il deployment parallelo, l'implementazione generata per il deployment in un target figlio.

Vedi anche Implementazione del controller.

Target figlio

Per il deployment parallelo, una destinazione che rappresenta uno dei vari target singoli di GKE, GKE Enterprise o Cloud Run per cui stai eseguendo il deployment contemporaneamente.

Vedi anche Target multipli, Deployment parallelo, Implementazione figlio.

Distribuzione continua

Una pratica di progettazione del software in cui le modifiche possono essere rilasciate agli utenti in modo sicuro, frequente e nella maggior parte dei casi automaticamente.

Deployment continuo

Si tratta di una pratica di ingegneria del software che porta a modifiche automatiche del deployment del codice e della configurazione.

Mentre la pubblicazione continua richiede l'approvazione manuale in una o più fasi, il deployment continuo è automatico senza necessità di approvazione manuale.

Implementazione del controller

Un'implementazione generata per il deployment parallelo. L'implementazione del controller non viene utilizzata per il deployment in un singolo cluster o servizio di destinazione; piuttosto, ha un'implementazione figlio per ogni target figlio.

Vedi anche Deployment parallelo, Target multipli.

Target personalizzato

Un target che utilizza un tipo di target personalizzato definito dall'utente anziché uno dei tipi di target supportati.

Dichiarativo

Configurazione di un sistema, ad esempio un cluster Kubernetes, che descrive lo stato previsto e si basa su questo sistema per ottenerlo. Al contrario della configurazione imperativa, vengono descritti i passaggi specifici per raggiungere quello stato.

Oltre al rendering e al deployment dei manifest dichiarativi di Kubernetes, Cloud Deploy utilizza le definizioni di risorse dichiarative per definire il processo di rendering e distribuzione. skaffold.yaml e clouddeploy.yaml sono nomi file tipici per la definizione di Skaffold e la definizione della pipeline di distribuzione.

Pipeline di distribuzione

Una rappresentazione del flusso di lavoro che fornisce un'applicazione a ogni target in una avanzamento del deployment.

La documentazione di Cloud Deploy utilizza il termine "pipeline di distribuzione" per distinguerla da altre pipeline utilizzate, ad esempio una pipeline CI.

In Cloud Deploy, la pipeline di distribuzione è definita in un file YAML di configurazione, di solito clouddeploy.yaml, e questa definizione comprende quanto segue:

  • Target di deployment
  • La sequenza di promozione tra questi target

Vedi anche Istanza pipeline.

Esegui il deployment dell'hook

Un'azione arbitraria che puoi eseguire prima o dopo il deployment. Scopri di più.

Parametri di deployment

Segnaposto che possono essere aggiunti a un manifest, ma che non vengono risolti nell'ambito del rendering. I valori di questi segnaposto vengono invece assegnati dopo il rendering di ogni manifest specifico per il target. Scopri di più.

Strategia di deployment

Una tecnica per eseguire il deployment in modo sicuro delle modifiche all'applicazione riducendo al minimo l'impatto per gli utenti.

Ambiente di esecuzione

Un insieme di risorse Google Cloud su cui viene eseguito Cloud Deploy. È composto da:

  • Il pool di worker predefinito o privato in cui Cloud Deploy esegue le azioni di rendering e deployment

  • L'account di servizio dell'ambiente di esecuzione predefinito o alternativo che chiama Cloud Deploy per eseguire il rendering e il deployment

  • La posizione di archiviazione predefinita o alternativa per i manifest visualizzati in Cloud Storage.

Idratanti

Vedi Rendering.

Job

Un'operazione specifica da eseguire su un'implementazione, ad esempio il deployment o la verifica. Scopri di più.

Esecuzione job

Una risorsa figlio di un'implementazione, l'esecuzione del job è un'istanza di un job. In altre parole, rappresenta un tentativo di eseguire un job come eseguire il deployment o eseguire una verifica. Scopri di più.

Manifest

Un oggetto di configurazione di Kubernetes utilizzato per creare, modificare ed eliminare risorse Kubernetes come pod, deployment, servizi o Ingress.

I manifest in Cloud Deploy hanno uno di due stati: sottoposto a rendering o non sottoposto a rendering. Un manifest non sottoposto a rendering non è pronto per il deployment in una destinazione. Il processo di rendering, che include l'inserimento di valori specifici nel file manifest, viene spesso eseguito da strumenti come Helm, Kustomize e kpt. Cloud Deploy utilizza Skaffold per orchestrare il rendering della configurazione (il comando skaffold render).

Vedi anche Rendering.

Più target

Quando configuri o esegui un deployment parallelo, un target multiplo è una fase a pipeline singola, ma può comprendere più runtime di destinazione.

Vedi anche Target figlio, Deployment parallelo, Implementazione del controller.

Deployment parallelo

La pratica di eseguire il deployment di un'applicazione su più destinazioni contemporaneamente, nella stessa fase della pipeline di distribuzione. Questa tecnica consente, ad esempio, di eseguire il deployment su più cluster o servizi in produzione.

Fase

La raccolta di operazioni (job) in un'implementazione che sono raggruppate logicamente insieme, ad esempio un deployment o un deployment e una verifica. Scopri di più.

Pipeline

Consulta pipeline di distribuzione

Istanza pipeline

Uno snapshot di una pipeline di distribuzione, acquisito al momento della creazione di un release. Cloud Deploy conserva questo snapshot per garantire che tutti i deployment di una release vengano gestiti in modo coerente utilizzando la pipeline come definita al momento della creazione di release.

Per ulteriori informazioni, consulta Istanze pipeline per release.

Mancata corrispondenza della pipeline

Quando una pipeline di distribuzione o un target vengono modificati dopo la creazione di una release, l'istanza della pipeline associata a release è ora diversa dalla definizione della pipeline.

In caso di mancata corrispondenza della pipeline, Cloud Deploy ti chiede di esaminare le definizioni prima di promuovere una release o tentare un rollback.

Per ulteriori informazioni, consulta Istanze pipeline per release.

Progressione

Una configurazione, nel file di configurazione della pipeline di distribuzione, che descrive una sequenza di promozione da un target a un altro, ad esempio dal giorno test al giorno staging fino al giorno prod.

Promozione

Il processo di avanzamento di una release da un target all'altro, in base alla avanzamento definita nella pipeline di distribuzione.

Registra

fornire un'applicazione al servizio Cloud Deploy, sotto forma di pipeline di distribuzione, in modo che la distribuzione dell'applicazione sia gestita dal servizio.

Release

Una risorsa Cloud Deploy che rappresenta le modifiche (codice, configurazione o entrambi) di cui eseguire il deployment.

Il ciclo di vita della release è descritto nel documento Architettura dei servizi di Cloud Deploy.

Rendering

preparare un manifest per il deployment nella destinazione. Il rendering di un manifest consiste principalmente nel fornire valori per le variabili nel manifest. Cloud Deploy esegue questa operazione utilizzando skaffold render.

Implementazione

Una risorsa che associa una release a un target di deployment. Viene creato un rollout per release per target, quindi, in un semplice avanzamento su tre target in una pipeline di distribuzione, ci sono tre risorse rollout per la release, una per ogni target.

Per deployment più complessi, ad esempio utilizzando una strategia di deployment canary, un rollout può essere più complicato. Scopri di più.

Strategia di deployment standard

La strategia di deployment standard è il modo predefinito per eseguire il deployment di un'applicazione in una destinazione. Per ogni fase definita nella pipeline di distribuzione, il deployment dell'applicazione viene eseguito completamente nella destinazione, ogni volta che sostituisce l'applicazione come era stato precedentemente eseguito.

Fase

Un target o più target in una pipeline di distribuzione. Ad esempio, in una semplice pipeline di distribuzione con le seguenti fasi:

  • dev
  • staging
  • prod

Ognuna di queste è una fase.

Quando si esegue il deployment parallelo, il multi-target è una fase singola, ma le target figlio non sono fasi separate.

Sospendi (una pipeline di distribuzione)

Per impedire la creazione e la promozione di release da una determinata pipeline di distribuzione. Per ulteriori informazioni, consulta la sezione Sospensione di una pipeline di distribuzione.

Destinazione

L'ambiente di runtime specifico (cluster Kubernetes, servizio Cloud Run o altro runtime supportato) in cui eseguire il deployment dell'applicazione. Inoltre, la configurazione per quell'ambiente.

Puoi definire i target nel file di configurazione della pipeline di distribuzione o in un file separato.

Una destinazione può anche essere multi-target o secondaria per supportare il deployment parallelo.

Artefatto di destinazione

Un file di configurazione utilizzato per il rendering e il deployment di un'applicazione su una destinazione. Questi includono il manifest Kubernetes o la definizione del servizio Cloud Run, i file di configurazione Skaffold e l'origine di rendering utilizzata per crearli.

Verifica

La possibilità di confermare l'esito positivo di un deployment mediante l'esecuzione di un container arbitrale, con test. Scopri di più sulla verifica del deployment.