Un entorno de ejecución de Cloud Deploy es el entorno en el que Cloud Deploy ejecuta sus operaciones de renderización, preimplementación, implementación, verificación y postimplementación. El entorno de ejecución consta de lo siguiente componentes:
El grupo de trabajadores de Cloud Build (predeterminado o privado) en el que Cloud Deploy ejecuta la renderización. operaciones previas a la implementación, implementación, verificación y posterior implementación
La cuenta de servicio (predeterminada o alternativa) que llama a Cloud Deploy para realizar estas acciones
La ubicación de almacenamiento (predeterminada o alternativa) para los manifiestos renderizados en Cloud Storage
El tiempo de espera de Cloud Build para las operaciones (predeterminado o personalizado)
En este artículo, se describen el entorno de ejecución predeterminado, las cuentas de servicio y de Google Cloud para Cloud Deploy, y por qué y cómo puedes cambiar estas los valores predeterminados.
Valores predeterminados
Los siguientes son los valores predeterminados que Cloud Deploy usa para ejecutarse: ejecutar la renderización y la implementación, y almacenar elementos como los manifiestos renderizados:
Grupo de trabajadores predeterminado
De forma predeterminada, Cloud Deploy se ejecuta en Cloud Build grupo de trabajadores. Sin embargo, puedes configurar Cloud Deploy para usar un grupo de trabajadores privado de Cloud Build.
Para obtener más detalles sobre los grupos de trabajadores, consulta la Descripción general de los grupos privados y predeterminados de Cloud Build.
Cuenta de servicio de ejecución predeterminada
De forma predeterminada, Cloud Deploy usa la instancia Compute Engine cuenta de servicio.
Ubicación de almacenamiento predeterminada de Cloud Deploy
Este valor es el bucket de Cloud Storage en el que Cloud Deploy almacena los manifiestos renderizados. De forma predeterminada, Cloud Deploy crea un bucket de Cloud Storage en la misma región que los recursos de Cloud Deploy, con el siguiente formato:
<location>.deploy-artifacts.<project ID>.appspot.com
Tiempo de espera predeterminado de Cloud Build
De forma predeterminada, Cloud Build tiene un tiempo de espera de 1 hora en las operaciones que para Cloud Deploy. Puedes cambiar ese tiempo de espera en la especificación del entorno de ejecución en la configuración de destino.
Verbosidad predeterminada para Skaffold, gcloud CLI y kubectl
De forma predeterminada, los niveles de registro de estas herramientas se configuran con sus valores predeterminados respectivos. por lo general,
warn
o el equivalente. Puedes cambiarlo adebug
o al equivalente.
En las siguientes secciones, se describen las circunstancias en las que cambiarías cualquiera de estos valores y vínculos a las instrucciones para hacerlo.
Acerca de los grupos de trabajadores de Cloud Build
El entorno de ejecución de Cloud Deploy puede usar una de las siguientes opciones:
El grupo predeterminado de Cloud Build
El grupo de trabajadores predeterminado es un entorno alojado seguro con acceso al por la Internet pública. Procesamiento, implementación, implementación previa, posterior implementación y verificación de operaciones se ejecutan en ese grupo, aisladas de otras cargas de trabajo.
Una piscina privada
Los grupos de trabajadores privados son grupos privados y dedicados que pueden personalizarse más que el trabajador predeterminado piscina. Esa personalización puede incluir la capacidad de acceder a los recursos en un privada. Al igual que el grupo de trabajadores predeterminado, los grupos de trabajadores privados se alojan y administran por completo con Cloud Build. Estos grupos pueden escalar verticalmente o reducir la escala verticalmente a cero, sin necesidad de configurar, actualizar o escalar la infraestructura.
La descripción general de los grupos privados de Cloud Build describe con más detalle los grupos de trabajadores predeterminados y los grupos de trabajadores privados, incluida una tabla en la que se comparan sus características.
Cambia el entorno de ejecución de Cloud Deploy
Puedes cambiar el entorno de ejecución de Cloud Deploy en las siguientes circunstancias:
Quieres implementar en un clúster privado de Google Kubernetes Engine.
Quieres renderizar, implementar, realizar una implementación previa, después de la implementación o verificar operaciones. una combinación de las cinco, para realizarse en un entorno aislado otras organizaciones.
Deseas que estas operaciones se realicen en un entorno que no esté conectado a la Internet pública.
Quieres entornos separados para la renderización y la implementación.
Quieres usar una cuenta de servicio dedicada con permisos más específicos de tu uso que los permisos disponibles en el servicio predeterminado de servicio predeterminada.
Quieres almacenar manifiestos renderizados en una ubicación diferente del bucket predeterminado de Cloud Storage.
Configuración de las tres partes del entorno de ejecución (grupo de trabajadores, grupo de trabajadores, cuenta y almacenamiento) se realiza por destino, en la configuración YAML de cada destino.
Cambia del grupo predeterminado a un grupo privado
Los grupos de trabajo se configuran por destino, de modo que el grupo se use para RENDER
, DEPLOY
, PREDEPLOY
, POSTDEPLOY
o VERIFY
(o una combinación de los cinco) solo para ese destino.
Si quieres usar el grupo de trabajadores predeterminado para las operaciones de renderización y de implementación, no debes no necesita hacer nada.
La siguiente es una configuración de destino de muestra que especifica un trabajador privado
para DEPLOY
y el grupo de trabajadores predeterminado para RENDER
, PREDEPLOY
,
POSTDEPLOY
y VERIFY
:
executionConfigs:
- usages:
- DEPLOY
privatePool:
workerPool: "projects/p123/locations/us-central1/workerPools/wp123"
- usages:
- RENDER
- PREDEPLOY
- VERIFY
- POSTDEPLOY
Si quieres obtener más información sobre cómo configurar grupos privados para los destinos, consulta Documentación de la configuración de la canalización de entrega.
Cambia de la cuenta de servicio de ejecución predeterminada a la personalizada
Al igual que con el grupo de trabajadores, puedes especificar una cuenta de servicio alternativa para usar
por la renderización o implementación (o ambas) por destino. Para ello, agrega la siguiente línea a la configuración de destino, después del elemento workerPool
:
serviceAccount: "[name]@[project_name].iam.gserviceaccount.com"
La cuenta de servicio especificada debe incluir el rol clouddeploy.jobRunner
, como
que se describe en la sección Cuentas de servicio de Cloud Deploy
.
Consulta las Definiciones de objetivos para obtener más información. los detalles de esta configuración.
Cambia la ubicación del almacenamiento
Para cambiar el bucket de almacenamiento predeterminado de Cloud Deploy, agrega el
siguiente línea a la definición del destino.
en la estrofa workerPool
:
artifactStorage: "gs://[bucket_name]/[dir]"
Esta configuración cambia la ubicación en la que se almacenan los manifiestos renderizados, pero no afectan la ubicación en la que se almacena la fuente de renderización.
Cambiar el nivel de registro de Skaffold, gcloud CLI y kubectl
Para cambiar el nivel de registro de Skaffold, gcloud CLI y kubectl, desde
sus respectivos valores predeterminados en debug
(o el equivalente), establece verbose
en
true
en los parámetros de configuración de ejecución. A continuación, se presenta un ejemplo:
executionConfigs:
- usages:
- [RENDER | PREDEPLOY| DEPLOY | VERIFY | POSTDEPLOY]
workerPool:
serviceAccount:
artifactStorage:
executionTimeout:
verbose: true
Usa Cloud Deploy en un perímetro de Controles del servicio de VPC
Cloud Deploy es compatible con los Controles del servicio de VPC.
Puedes seguir la guía de inicio rápido de los Controles del servicio de VPC para configurar un perímetro de servicio.
Limitaciones
Debes usar un grupo privado de trabajadores de Cloud Build para entorno de ejecución, no el grupo de trabajadores predeterminado.
El proyecto que contiene el grupo de trabajadores y el proyecto que contiene tus Los recursos de Cloud Deploy deben permanecer en los mismos Controles del servicio de VPC perímetro de seguridad en la nube.
Cualquier clúster de GKE en el que implementes El perímetro de los Controles del servicio de VPC debe ser un clúster privado.
A fin de configurar un grupo privado para un clúster privado, consulta este instructivo.
¿Qué sigue?
Obtén más información sobre la configuración de destino de Cloud Deploy.
Obtén información sobre los grupos privados de Cloud Build.
Lee sobre cómo Cloud Build usa los Controles del servicio de VPC.
Obtén información sobre cómo Cloud Deploy usa cuentas de servicio.
Acceder a clústeres privados de GKE con grupos privados de Cloud Build.