En esta página, se describe cómo usar Infrastructure Manager para obtener una vista previa de la implementación de los recursos definidos en una configuración de Terraform.
Una vista previa describe las acciones para activar una configuración específica de Terraform. Antes de crear una implementación nueva o actualizar una existente, puedes obtener una vista previa de esta para verificar los recursos que se planean aprovisionar.
Una vista previa ejecuta el comando Terraform plan
. En esta página, se supone que estás familiarizado con Terraform. Para obtener más detalles, consulta
Terraform y el Administrador de infraestructura.
Para crear una vista previa, la configuración de Terraform debe ser compatible con una de las versiones de Terraform admitidas.
Antes de comenzar
- Habilita Infra Manager.
- Asegúrate de tener los permisos de IAM necesarios para crear vistas previas:
roles/config.admin
. - Asegúrate de tener una cuenta de servicio con los permisos necesarios. Para obtener más detalles, consulta Configura la cuenta de servicio.
- Identifica la configuración de Terraform que deseas obtener una vista previa. Asegúrate de que esta configuración de Terraform cumpla con las restricciones, lo que incluye que no contenga datos sensibles.
Obtén una vista previa de una actualización de una implementación
La configuración de Terraform que usas para actualizar una implementación puede estar en un bucket de almacenamiento o en un repositorio de Git.
También puedes usar esta configuración de Terraform para obtener una vista previa de la actualización.
Obtén una vista previa con una configuración de Terraform almacenada en un bucket de Cloud Storage
Cuando actualizas una implementación, es posible que algunos de los recursos existentes no cambien. La vista previa de una actualización te muestra qué recursos se planean aprovisionar o borrar, y cuáles no se planean modificar.
Identifica la implementación que deseas actualizar.
Asegúrate de que la configuración de Terraform se suba a un bucket de Cloud Storage. Consulta Cómo subir una configuración a un bucket de almacenamiento para obtener más detalles.
Un bucket de almacenamiento te permite controlar el acceso a la configuración. También puedes implementar una configuración de Terraform que se almacena en un repositorio de Git o en tu máquina local.
Para obtener una vista previa de la actualización, sigue estos pasos:
gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --deployment=projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \ --gcs-source gs://BUCKET_NAME/OBJECT_NAME \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION
Reemplaza lo siguiente:
- PROJECT_ID es el ID del proyecto en el que se ejecuta el Administrador de infraestructura.
- LOCATION es la ubicación en la que se ejecuta Infra Manager. Consulta Ubicaciones de Infrastructure Manager para obtener la lista de ubicaciones válidas.
- PREVIEW_ID es el identificador de vista previa que especificas. Consulta Nombre de la vista previa para obtener detalles sobre las restricciones del identificador de vista previa.
- SERVICE_ACCOUNT es el nombre de la cuenta de servicio que usas para llamar a Infra Manager.
- SERVICE_ACCOUNT_PROJECT_ID es el ID del proyecto de la cuenta de servicio. Es común que sea el mismo proyecto en el que se ejecuta Infra Manager.
- DEPLOYMENT_ID es el identificador de la implementación que deseas actualizar.
- BUCKET_NAME es el nombre del bucket de almacenamiento en el que se almacena la configuración.
OBJECT_NAME es el nombre del objeto del archivo de configuración. Este objeto puede ser un directorio o un archivo ZIP, pero no un archivo Terraform. Si usas el control de versiones de objetos, también puedes especificar el número de generación del objeto. Para obtener más detalles, consulta Usa objetos con versión.
Si el bucket de almacenamiento es la ruta de acceso raíz de la configuración de Terraform, OBJECT_NAME es opcional.
INPUT_1_NAME=VALUE y INPUT_2_NAME=VALUE: Cualquier valor de entrada en la configuración de Terraform, incluidos los que no están definidos de forma predeterminada. Por ejemplo, puedes especificar el proyecto en el que implementas los recursos como
project_id=my-project
.Si todos los valores de entrada se definen de forma predeterminada en la configuración, esta marca es opcional.
Opcional: TERRAFORM_VERSION: Es la versión de Terraform que debe usar Infra Manager para crear la implementación. Consulta versión compatible de Terraform para obtener la lista de versiones compatibles. Si quitas esta marca opcional, se usará la versión más reciente compatible de Terraform.
Los campos de la implementación, como la configuración, las variables y la cuenta de servicio de Terraform, se combinan automáticamente en la vista previa, a menos que especifiques valores nuevos en el comando de vista previa.
Ahora que creaste una vista previa, puedes exportar y ver los resultados para revisar el plan de la implementación.
Obtén una vista previa con una configuración de Terraform almacenada en un repositorio de Git
Cuando actualizas una implementación, es posible que algunos de los recursos existentes no cambien. La vista previa de una actualización te muestra qué recursos se planean aprovisionar o borrar, y cuáles no se planean modificar.
- Si tu configuración de Terraform se almacena en un repositorio de Git privado y aún no lo hiciste, asegúrate de conectarte a tu host de GitHub y al repositorio de GitHub con Cloud Build para proporcionar acceso a Infra Manager a tu repositorio.
Para actualizar una implementación, sigue estos pasos:
gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --deployment=projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \ --git-source-repo="GIT_REPO" \ --git-source-directory="DIRECTORY" \ --git-source-ref="REF" \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION
Reemplaza lo siguiente:
- PROJECT_ID es el ID del proyecto en el que se ejecuta el Administrador de infraestructura.
- LOCATION es la ubicación en la que se ejecuta Infra Manager. Consulta Ubicaciones de Infrastructure Manager para obtener la lista de ubicaciones válidas.
- PREVIEW_ID es el identificador de vista previa que especificas. Consulta Nombre de la vista previa para obtener detalles sobre las restricciones del identificador de vista previa.
- SERVICE_ACCOUNT es el nombre de la cuenta de servicio que usas para llamar a Infra Manager.
- SERVICE_ACCOUNT_PROJECT_ID es el ID del proyecto de la cuenta de servicio. Es común que sea el mismo proyecto en el que se ejecuta Infra Manager.
- DEPLOYMENT_ID es el identificador de la implementación que deseas actualizar.
- GIT_REPO: El repositorio de Git.
- DIRECTORY: Es el directorio que tiene la configuración de Terraform.
- REF: La referencia de Git de la configuración. La referencia es opcional. Si no especificas la referencia, se usa la rama configurada predeterminada del repositorio de GitHub.
INPUT_1_NAME=VALUE y INPUT_2_NAME=VALUE: Cualquier valor de entrada en la configuración de Terraform, incluidos los que no están definidos de forma predeterminada. Por ejemplo, puedes especificar el proyecto en el que implementas los recursos como
project_id=my-project
.Si todos los valores de entrada se definen de forma predeterminada en la configuración, esta marca es opcional.
Opcional: TERRAFORM_VERSION: Es la versión de Terraform que debe usar Infra Manager para crear la implementación. Consulta versión compatible de Terraform para obtener la lista de versiones compatibles. Si quitas esta marca opcional, se usará la versión más reciente compatible de Terraform.
Los campos de la implementación, como la configuración, las variables y la cuenta de servicio de Terraform, se combinan automáticamente en la vista previa, a menos que especifiques valores nuevos en el comando de vista previa.
Ahora que creaste una vista previa, puedes exportar y ver los resultados para revisar el plan de la implementación.
¿Qué sigue?
- Exporta y consulta los resultados de la vista previa
- Usa Infra Manager para implementar recursos.
- Automatiza las implementaciones.
- Obtén más información sobre Terraform con Infra Manager.