Usar parámetros de implementación
En esta página se explica cómo usar Cloud Deploy para desplegar una aplicación de ejemplo en dos destinos al mismo tiempo (un despliegue paralelo) y, al mismo tiempo, pasar un valor de parámetro diferente a cada manifiesto o definición de servicio renderizado mediante tres métodos distintos.
En esta guía de inicio rápido, harás lo siguiente:
Crea dos clústeres de GKE o dos servicios de Cloud Run.
También puedes usar clústeres adjuntos de GKE, pero en esta guía de inicio rápido solo se usan GKE y Cloud Run.
Crea una configuración de Skaffold y un manifiesto de Kubernetes o una definición de servicio de Cloud Run.
El manifiesto o la definición de servicio serán los mismos para ambos destinos secundarios, pero, en el momento de la implementación, el manifiesto o la definición de servicio renderizados para cada destino secundario tendrán valores diferentes para los parámetros específicos configurados en esta guía de inicio rápido.
Define tu flujo de procesamiento de entrega y tus destinos de implementación de Cloud Deploy.
Esta canalización tendrá un destino múltiple que hará referencia a dos destinos secundarios para entregar tu aplicación a los dos clústeres o servicios.
Defina los parámetros de implementación en tres lugares diferentes:
- En la progresión de la canalización
- En los elementos de destino secundarios
- En la línea de comandos, al crear la versión
Crea una versión para instanciar tu flujo de procesamiento de entrega, que se desplegará automáticamente en los dos destinos en paralelo.
Consulta el lanzamiento del controlador y los lanzamientos secundarios en la Google Cloud consola.
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Deploy, Cloud Build, GKE, Cloud Run, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Deploy, Cloud Build, GKE, Cloud Run, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init - Comprueba que la cuenta de servicio predeterminada de Compute Engine tenga los permisos suficientes.
Es posible que la cuenta de servicio ya tenga los permisos necesarios. Estos pasos se incluyen para los proyectos que inhabilitan las concesiones automáticas de roles para las cuentas de servicio predeterminadas.
- Primero, añade el rol
clouddeploy.jobRunner:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role="roles/clouddeploy.jobRunner" - Añade el rol de desarrollador para tu tiempo de ejecución específico.
- En GKE:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role="roles/container.developer" - En Cloud Run:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role="roles/run.developer" -
Añade el rol
iam.serviceAccountUser, que incluye el permiso
- Primero, añade el rol
Si ya tienes instalada la CLI, asegúrate de que estás usando la versión más reciente:
gcloud components update