Questo documento descrive come configurare l'analisi nella 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 contenitore per importare e valutare le metriche e altri dati del tuo 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 attivata per il tuo progetto Google Cloud .
Abilita le API Compute Engine e Cloud Deploy:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). 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 attivata per il tuo progetto Google Cloud .
Abilita le API Compute Engine e Cloud Deploy:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). 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 job di analisi, chiedi all'amministratore di concederti i seguenti ruoli IAM sull'account per il tuo progetto:
- Cloud Deploy Runner (
roles/clouddeploy.jobRunner) - Monitoring Alert Viewer (
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 IAMaccount di servizioount Cloud Deploy sul tuo progetto:
- Utente service account IAM (
roles/iam.serviceAccountUser) - Cloud Deploy Releaser (
roles/clouddeploy.releaser) - Operatore Cloud Deploy (
roles/clouddeploy.operator)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
L'amministratore potrebbe anche essere in grado di concedere al account di servizio Cloud Deploy le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Configura 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.
Definisci policy di avviso
Definisci i criteri di avviso per ricevere 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 sulla tua applicazione in produzione
per inviare un avviso se la latenza della risposta HTTP è troppo elevata e, in base a questo avviso,
il tuo job di analisi può attivare un'automazione
repairRolloutRule per eseguire il rollback della release.
Come altro esempio, puoi creare una criterio di avviso simile per l'applicazione
di cui è stato eseguito il deployment nell'ambiente di gestione temporanea e, se non viene attivato alcun avviso durante la durata
del job di analisi, questo job può attivare un'promoteReleaseRuleautomazione
per promuovere la release in produzione.
Creare l'analisi
Per creare un job di analisi per la pipeline di distribuzione della tua applicazione, configura l'analisi all'interno della configurazione della pipeline, quindi applica il file di configurazione.
Configura 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 è 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, puoi utilizzare 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 vengono rilevati avvisi da Google Cloud Observability, l'analisi viene considerata riuscita e l'implementazione continua.
Uno o più controlli, corrispondenti ai criteri di avviso nel tuo sistema di monitoraggio
Ogni controllo include quanto segue:
Un ID
Uno o più criteri di avviso
ovvero i 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é una 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 configurare un job di analisi quando utilizzi 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, del job di analisi. Al termine della durata, il job viene completato. Se l'analisi non va a buon fine (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 utilizzi per il controllo. Puoi trovare l'ID della policy di avviso eseguendo
gcloud monitoring policies list. Devi disporre dell'ID completo, che ha questo aspetto:projects/project-redacted/alertPolicies/01234567890123456789È possibile che l'identificatore restituito includa
/conditions/13842666848149128276dopo l'ID policy. Non includere questo valore nell'ID policy.KEYeVALUESono una coppia chiave-valore per un'etichetta, da utilizzare per prendere in considerazione solo avvisi specifici. Ad esempio, potresti 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, questo job va a buon fine
e l'implementazione continua. Se un criterio attiva un avviso, il job si interrompe
con lo stato FAILED e l'implementazione non riesce (con lo stato FAILED, a meno che
tu non scelga di
ignorare l'errore del job).
Applica 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 tuo 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 nel tuo progetto hai una pipeline di distribuzione e un job di analisi, che farà parte della pipeline quando crei una release.
Passaggi successivi
Prova la guida rapida: Analizza la tua applicazione utilizzando le metriche.
Consulta lo schema di configurazione per l'analisi nel riferimento alla configurazione di Cloud Deploy.
Scopri di più sulle norme di avviso di Google Cloud Observability.
Scopri di più sull'automazione del deployment.
Scopri di più sulle strategie di deployment.