DA MASER A MONFUMO | MOTO GUZZI V85TT | PURE SOUND POV 4K

🏍️ Il mio nuovo canale YouTube: giri in moto in POV, solo audio, tra le Dolomiti in 4K. Niente musica, niente parole — solo il motore e le Alpi. Vieni a fare un giro!

Iscriviti

Sviluppare applicazioni basate su container su Google Kubernetes Engine (GKE) può essere impegnativo quando ci sono decine di pipeline su più ambienti. Ed è qui che entra in gioco Google Cloud Deploy!

Continuous delivery gestita su GKE

Cos'è Google Cloud Deploy?

Google Cloud Deploy è una soluzione di continuous delivery completamente gestita, scalabile e semplificata per GKE. Automatizza la distribuzione delle applicazioni in più ambienti target tramite una sequenza di promozione definita. Con Google Cloud Deploy puoi costruire pipeline CI/CD affidabili che automatizzano i job di build, deploy e render. Una pipeline Cloud Deploy include informazioni come il nome (usato per fare riferimento alla pipeline), la sequenza di promozione (usata per definire l'ordine di distribuzione ai target) e i target (informazioni opzionali). Inoltre, si integra facilmente con strumenti popolari come Gitlab CI, Jenkins, ecc. È accessibile tramite CLI e API e porta Skaffold (uno strumento da riga di comando che facilita lo sviluppo continuo per applicazioni native di Kubernetes) nelle tue pipeline, migliorandone l'affidabilità.

Soluzione per le sfide della continuous delivery

Casi d'Uso di Google Cloud Deploy

Alcuni dei principali casi d'uso di Google Cloud Deploy sono i seguenti:

  • Continuous Delivery Semplificata: Cloud Deploy è molto utile per avere una continuous delivery semplice ed efficace su Google Kubernetes Engine (GKE). Puoi creare release e avanzarle attraverso gli ambienti, come test, produzione e staging. Inoltre, la sua API, CLI o console web possono essere usate per eseguire rollback e promozioni delle release in un unico passaggio.

  • Soluzione Integrata: Cloud Deploy è una piattaforma di deployment GKE strettamente integrata. È preintegrata con Cloud Audit Logs, Cloud Logging e IAM. In questo modo è efficace per ottenere tracciabilità con Cloud Audit Logs, monitorare gli eventi di release con Cloud Logging e bloccare le progressioni delle release tramite IAM.

  • Scalabile e Completamente Gestita: Cloud Deploy è un servizio completamente gestito, il che significa nessuna costosa infrastruttura da configurare e mantenere per la pipeline CD su GKE. Può scalare i processi CD in modo fluido e garantirne la gestione tramite una semplice configurazione dichiarativa. Aiuta anche ad avere una vista centralizzata di tutte le pipeline!

Un esempio di deployment

Vediamo come funziona Google Cloud Deploy imparando a registrare una delivery pipeline. Per registrare la delivery pipeline, devi eseguire gcloud beta deploy apply per ogni file di configurazione della pipeline. Quindi il comando per registrare la delivery pipeline con Cloud Deploy inclusi i suoi target (il cluster specifico e la sua configurazione in cui distribuire l'applicazione) è il seguente (i flag --region e --project sono opzionali):

shell
gcloud beta deploy apply --file=PIPELINE_CONFIG \
--region=LOCATION \
--project=PROJECT

La struttura di un file clouddeploy.yaml è la seguente:

yaml
   apiVersion: deploy.cloud.google.com/v1beta1
    kind: DeliveryPipeline
    metadata:
     name:
     annotations:
     labels:
    description:
    serialPipeline:
     stages:
     - targetId:
       profiles: []
     - targetId:
       profiles: []
     ---
 
     apiVersion: deploy.cloud.google.com/v1beta1
     kind: Target
     metadata:
      name:
      annotations:
      labels:
     description:
     requireApproval:
     gke:
      cluster: projects/[project_name]/locations/[location]/clusters/[cluster_name]
 
     executionConfigs:
     - privatePool:
         workerPool:
         serviceAccount:
         artifactStorage:
       usages:
       - [RENDER | DEPLOY]
     - defaultPool:
         serviceAccount:
         artifactStorage:
       usages:
       - [RENDER | DEPLOY]
 
     ---

Per saperne di più su come utilizzare Google Cloud Deploy, visita la sua guida ufficiale.

Quando si tratta di semplificare la continuous delivery su Google Kubernetes Engine (GKE), Google Cloud Deploy rappresenta una scelta ideale per le organizzazioni. Essendo un servizio completamente gestito, facilmente scalabile e integrabile, rende le release e i deployment un processo efficiente e fluido.