Questo documento descrive come eseguire il deployment delle tue applicazioni in Google Kubernetes Engine cluster.
Cloud Deploy ti consente di eseguire il deployment dei carichi di lavoro basati su container Google Kubernetes Engine in un cluster Kubernetes. Tutte le funzionalità di Cloud Deploy sono supportate quando esegui il deployment le destinazioni GKE.
Prima di iniziare
Devi avere uno o più cluster GKE in cui eseguire il deployment.
Se non hai cluster GKE in cui eseguire il deployment, puoi creali.
Assicurati che il tuo account di servizio di esecuzione disponga dei ruoli e delle autorizzazioni di cui ha bisogno.
In questo file skaffold.yaml
, la stanza deploy
include kubectl
, che
indica che Skaffold esegue il rendering e il deployment in Kubernetes
(GKE). I file manifest che utilizzi per questa applicazione
elencati di seguito.
Crea la tua configurazione target
Ogni destinazione può essere configurata nella pipeline di distribuzione YAML oppure può essere in
file separato. Inoltre, puoi configurare più di una destinazione nello stesso file,
ma devono essere in kind: Target
strofe diverse.
Nella definizione della destinazione, crea una stanza gke
che punti a
Cluster GKE:
La sintassi per specificare un cluster GKE è la seguente:
gke:
cluster: projects/[project_name]/locations/[location]/clusters/[cluster_name]
Questo identificatore di risorsa GKE utilizza i seguenti elementi:
[
project_name
] è il nome del progetto Google Cloud in cui stai eseguendo questo cluster.Il cluster in cui stai eseguendo il deployment non deve trovarsi nello stesso progetto della tua pipeline di distribuzione.
[
location
] è la regione in cui è stato creato il cluster.[
cluster_name
] è il nome assegnato al cluster al momento della creazione.Puoi trovare questo nome nell'elenco dei cluster per il tuo progetto, nella nella console Google Cloud.
Di seguito è riportato un esempio di configurazione di destinazione, che punta a un cluster GKE cluster:
apiVersion: deploy.cloud.google.com/v1
kind: Target
metadata:
name: dev
description: development cluster
gke:
cluster: projects/my-app/locations/us-central1/clusters/my-app-dev-cluster
Crea la tua configurazione Skaffold
Questa sezione fornisce e spiega un esempio di configurazione Skaffold semplice da utilizzare durante il deployment in un cluster GKE.
Di seguito è riportato un esempio di file skaffold.yaml
per il deployment in una
Cluster GKE:
apiVersion: skaffold/v4beta7
kind: Config
metadata:
name: gke-application
manifests:
rawYaml:
- deployment.yaml
deploy:
kubectl: {}
Utilizzo di Skaffold con Cloud Deploy descrive in modo più dettagliato come utilizzare Skaffold con la tua pipeline di distribuzione.
prepara i manifest Kubernetes
Per eseguire il deployment della tua applicazione in GKE, devi fornire Cloud Deploy con uno o più manifest Kubernetes, rendered e poi applicato al target. uno o più cluster per il deployment della tua applicazione.
Se non hai questi manifest, creali prima di provare a eseguire il deployment utilizzando una pipeline di distribuzione di Cloud Deploy.
Puoi usare Kustomize o Helm per aiutarti a creare manifest. Puoi anche usare Kustomize o Helm se le tue sono basati su modelli e devono essere sottoposti a rendering.
Riepilogo
Ora che hai i manifest Kubernetes, la configurazione di skaffold.yaml
,
e le definizioni della destinazione di Cloud Deploy,
hanno registrato i tuoi target
come risorse di Cloud Deploy, ora puoi
richiamare la pipeline di distribuzione
per creare una release e farla avanzare lungo i target definiti
nella pipeline.
Esegui il deployment utilizzando un proxy
Puoi specificare un proxy per il cluster GKE di destinazione. Questo è per le organizzazioni configurate per accedere ai cluster tramite un proxy .
Per farlo, aggiungi una proprietà proxyUrl
per la stanza gke
nella configurazione di destinazione:
gke:
cluster: projects/my-app/locations/us-central1/clusters/my-app-dev-cluster
proxyUrl: [URL]
Dove URL
è l'URL del proxy.
Esegui il deployment in un cluster privato
Puoi eseguire il deployment della tua applicazione in un cluster GKE privato, utilizzando una delle due opzioni:
Utilizza una rete Virtual Private Cloud
Puoi configurare una destinazione per il deployment cluster GKE privato connesso a una rete Virtual Private Cloud:
-
Un cluster privato è un cluster nativo di VPC i cui nodi e pod sono isolati per impostazione predefinita dalla rete internet pubblica.
Se prevedi di utilizzare l'IP interno della destinazione del cluster privato, imposta Da
internalIp
atrue
ingke
nella configurazione di destinazione. In Cloud Build, crea un pool di worker privato che puoi utilizzare per il deployment in questo cluster privato.
Configura l'ambiente di esecuzione per utilizzare il pool privato.
Devi utilizzare questo pool per
RENDER
. Puoi usarlo anche perDEPLOY
e perVERIFY
. Ecco un esempio che utilizzaRENDER
eDEPLOY
:executionConfigs: - usages: - RENDER - DEPLOY workerPool: "projects/p123/locations/us-central1/workerPools/wp123"
Consulta: Accedi ai cluster GKE privati dai pool privati di Cloud Build utilizzando Identity Service for GKE e Accedi ai cluster GKE privati con i pool privati di Cloud Build per ulteriori informazioni.
Considerazioni su progetti e autorizzazioni
Puoi configurare una destinazione in modo che utilizzi un pool di worker privato di cui è possibile eseguire il deployment in un cluster privato. Ci sono però alcuni aspetti da considerare se le risorse si trovano in in modo programmatico a gestire i progetti.
- Quando Cloud Deploy e il pool di worker si trovano in progetti separati
Per comunicare con un pool privato che ha accesso a un VPC e che si trova in una a un progetto diverso da quello di destinazione, l'agente di servizio ha bisogno autorizzazioni sufficienti per comunicare con quel progetto.
L'account di servizio di esecuzione necessita inoltre delle autorizzazioni per accedere al bucket Cloud Storage.
- Quando il pool di worker e il cluster si trovano in progetti separati
Se il cluster GKE privato si trova in un progetto diverso da il pool di worker privato, account di servizio di esecuzione richiede autorizzazioni sufficienti per comunicare con il progetto in cui si trova il cluster.
Usa le destinazioni GKE Enterprise e connetti il gateway
Puoi configurare una destinazione per il deployment cluster GKE privato utilizzando i target Anthos e connetti il gateway.
Questo approccio non richiede l'utilizzo di un Virtual Private Cloud o di un VPC connessioni di rete.
Passaggi successivi
Prova la guida rapida: esegui il deployment di un'applicazione in GKE
Richiama la pipeline di distribuzione per creare una release
Scopri di più sulla configurazione delle destinazioni di Cloud Deploy
Scopri di più sull'utilizzo di Skaffold con Cloud Deploy
Scopri di più sugli ambienti di esecuzione di Cloud Deploy.
Scopri di più su GKE