Questo documento descrive come configurare l'analisi della pipeline di distribuzione se utilizzi Google Cloud Observability come sistema di monitoraggio.
Se utilizzi un altro provider di monitoraggio, devi definire un'analisi personalizzata, che include la creazione di un container per l'inserimento e la valutazione di metriche e altri dati del provider.
Prima di iniziare
-
Accedi al tuo Account Google.
Se non ne hai già uno, registrati per creare un nuovo account.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Verifica di disporre delle autorizzazioni necessarie per completare questa guida.
-
Verifica che la fatturazione sia abilitata per il tuo Google Cloud progetto.
Abilita le API Compute Engine e Cloud Deploy:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore Service Usage (
roles/serviceusage.serviceUsageAdmin), che contiene l'serviceusage.services.enableautorizzazione. Scopri come concedere i ruoli.gcloud services enable clouddeploy.googleapis.com
compute.googleapis.com -
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Verifica di disporre delle autorizzazioni necessarie per completare questa guida.
-
Verifica che la fatturazione sia abilitata per il tuo Google Cloud progetto.
Abilita le API Compute Engine e Cloud Deploy:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore Service Usage (
roles/serviceusage.serviceUsageAdmin), che contiene l'serviceusage.services.enableautorizzazione. Scopri come concedere i ruoli.gcloud services enable clouddeploy.googleapis.com
compute.googleapis.com
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare e utilizzare i job di analisi, chiedi all'amministratore di concederti i seguenti ruoli IAM sull'account del tuo progetto:
- Cloud Deploy Runner (
roles/clouddeploy.jobRunner) - Visualizzatore avvisi di monitoraggio (
roles/monitoring.alertPolicyViewer) - Consumer Service Usage (
roles/serviceusage.serviceUsageConsumer)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Per assicurarti che il account di servizio Cloud Deploy disponga delle autorizzazioni necessarie per creare e utilizzare le automazioni, chiedi all'amministratore di concedere i seguenti ruoli IAM al account di servizio Cloud Deploy nel tuo progetto:
- Utente service account IAM (
roles/iam.serviceAccountUser) - Cloud Deploy Releaser (
roles/clouddeploy.releaser) - Cloud Deploy Operator (
roles/clouddeploy.operator)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
L'amministratore potrebbe anche assegnare al account di servizio Cloud Deploy le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Configurare l'analisi in Cloud Deploy
La configurazione dell'analisi del deployment prevede i seguenti passaggi:
Configura un job di analisi nella pipeline di distribuzione.
Esegui la pipeline per eseguire l'analisi.
Definire i criteri di avviso
Definisci i criteri di avviso per ricevere le metriche da Google Cloud Observability. Un criterio di avviso di Google Cloud Observability descrive quando e come vuoi ricevere una notifica quando i dati di monitoraggio soddisfano i criteri specificati.
L'analisi di Cloud Deploy utilizza questi avvisi per intraprendere azioni in base alle circostanze indicate dagli avvisi.
Ad esempio, puoi configurare una criterio di avviso per la tua applicazione in produzione in modo da inviare un avviso se la latenza della risposta HTTP è troppo elevata e, in base a questo avviso, il job di analisi può attivare un' repairRolloutRule automazione per eseguire il rollback della release.
In alternativa, puoi creare un criterio di avviso simile per l'applicazione di cui hai eseguito il deployment nell'ambiente di staging e, se non viene attivato alcun avviso durante la durata del job di analisi, il job può attivare un'promoteReleaseRule automazione per promuovere la release in produzione.
Creare l'analisi
Per creare un job di analisi per la pipeline di distribuzione dell'applicazione, configura l'analisi all'interno della configurazione della pipeline, quindi applica il file di configurazione.
Configurare un job di analisi
Questa sezione descrive come configurare un job di analisi di Cloud Deploy per l'utilizzo con Google Cloud Observability.
Il job di analisi viene configurato come parte della definizione della pipeline di distribuzione, all'interno di una sezione strategy. Può essere all'interno di qualsiasi strategia, canary o standard. Se vuoi configurare l'analisi per fase, utilizza un canary personalizzato (strategy.canary.customCanaryDepolyment.phaseConfigs.phaseId.analysis).
Un job di analisi è costituito dai seguenti elementi:
Una durata
Questa durata specifica per quanto tempo viene eseguito il job di analisi. Se la durata scade e non rileva avvisi da Google Cloud Observability, l'analisi viene considerata riuscita e il rollout continua.
Uno o più controlli, corrispondenti ai criteri di avviso nel sistema di monitoraggio
Ogni controllo include quanto segue:
Un ID
Uno o più criteri di avviso
Ovvero, riferimenti a uno o più criteri di avviso di Google Cloud Observability.
- Una o più etichette, utilizzate per identificare una criterio di avviso specifica. Poiché un criterio di avviso di Google Cloud Observability può monitorare molte applicazioni, queste etichette ci consentono di limitare il controllo a una o più applicazioni specifiche.
Tieni presente che puoi utilizzare i parametri di sistema come chiavi per le etichette qui.
Di seguito è riportata la sintassi per la configurazione di un job di analisi quando si utilizza una strategia di deployment standard:
strategy:
standard:
analysis:
duration: DURATION
googleCloud:
alertPolicyChecks:
- id: CHECK_ID
alertPolicies:
- [ALERT_POLICY_ID]
labels:
[KEY: VALUE]
Dove:
DURATIONIndica la durata, in secondi, di esecuzione del job di analisi. Al termine della durata, il job viene completato. Se l'analisi non riesce (il container restituisce un codice di uscita diverso da zero), il job termina (
FAILED) prima della scadenza della durata.CHECK_IDÈ l'ID di un singolo controllo nell'analisi. Ogni ID deve essere univoco all'interno di questo job di analisi. Puoi avere uno o più controlli in un job di analisi.
ALERT_POLICY_IDÈ l'ID criterio per il criterio di avviso di Google Cloud Observability che stai utilizzando per il controllo. Puoi trovare l'ID criterio di avviso eseguendo
gcloud monitoring policies list. Ti serve l'ID completo, che ha il seguente aspetto:projects/project-redacted/alertPolicies/01234567890123456789È possibile che l'identificatore restituito includa
/conditions/13842666848149128276dopo l'ID criterio. Non includerlo come parte dell'ID criterio.KEYeVALUESono una coppia chiave-valore per un'etichetta, da utilizzare per considerare solo avvisi specifici. Ad esempio, puoi utilizzare un'etichetta in modo che un controllo prenda in considerazione solo gli avvisi relativi a un workload specifico.
Puoi utilizzare i parametri di sistema per i valori qui.
Ecco un esempio che utilizza un parametro di sistema:
labels: service_name: '${{render.metadata.cloud_run.service.name}}'
Questa configurazione crea un job di analisi. Sebbene siano presenti più controlli, questa configurazione crea un solo job.
Se nessuno dei criteri di avviso configurati invia avvisi, il job viene completato e il rollout continua. Se un criterio attiva un avviso, il job si interrompe
con lo stato FAILED, e il rollout non riesce (con lo stato FAILED, a meno che
tu non scelga di
ignorare l'errore del job).
Applicare il file di configurazione della pipeline di distribuzione
Per creare una pipeline di distribuzione con il job di analisi, applica il file di configurazione utilizzando il seguente comando:
gcloud deploy apply FILE \
--region=REGION \
--project=PROJECT_ID
Sostituisci quanto segue:
FILECon il nome del file di configurazione della pipeline di distribuzione,
clouddeploy.yamlo qualsiasi altro nome tu abbia assegnato.REGIONCon la regione in cui stai creando la pipeline di distribuzione.
PROJECT_IDCon l'ID del progetto in cui stai creando questa pipeline di distribuzione.
Ora hai una pipeline di distribuzione nel tuo progetto e un job di analisi, che farà parte della pipeline quando crei una release.
Passaggi successivi
Prova la guida rapida: analizza l'applicazione utilizzando le metriche.
Consulta lo schema di configurazione per l'analisi nella documentazione di riferimento della configurazione di Cloud Deploy.
Scopri di più sui criteri di avviso di Google Cloud Observability.
Scopri di più sull'automazione del deployment.
Scopri di più sulle strategie di deployment.