Obtén una vista previa de una implementación

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.

En una vista previa, se describen las acciones para ejecutar una configuración de Terraform específica. Antes de crear o actualizar una implementación, puedes obtener una vista previa de ella para verificar los recursos que se planea 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 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

  1. Habilita Infra Manager.
  2. Asegúrate de tener los permisos de Identity and Access Management necesarios para crear vistas previas: roles/config.admin.
  3. Asegúrate de tener una cuenta de servicio con los permisos necesarios. Para obtener más detalles, consulta Configura la cuenta de servicio.
  4. Identifica la configuración de Terraform de la que quieres obtener una vista previa. Asegúrate de que esta configuración de Terraform cumpla con las restricciones, incluido que la configuración no contenga datos sensibles.
  5. Si deseas almacenar la configuración de Terraform en un bucket de almacenamiento, asegúrate de que la configuración de Terraform se suba a un bucket de Cloud Storage. Consulta Sube 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 almacene en un repositorio de Git o en tu máquina local.

Obtén una vista previa de una implementación nueva

La configuración de Terraform de la que obtienes una vista previa puede estar en un bucket de almacenamiento o en un repositorio de Git.

Obtén una vista previa con un archivo de configuración de Terraform almacenado en un bucket de Cloud Storage

  1. Asegúrate de que la configuración de Terraform se suba a un bucket de Cloud Storage. Consulta Sube 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 almacene en un repositorio de Git o en tu máquina local.

  2. 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 \
    --gcs-source gs://BUCKET_NAME/OBJECT_NAME \
    --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
    --tf-version-constraint=TERRAFORM_VERSION \
    --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" \
    --provider-source=SERVICE_MAINTAINED

    Reemplaza lo siguiente:

    • PROJECT_ID es el ID del proyecto en el que se ejecuta Infrastructure Manager.
    • 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 la vista previa que especificas. Consulta Nombre de la vista previa para obtener detalles sobre las restricciones del identificador de la vista previa.
    • SERVICE_ACCOUNT es el nombre de la cuenta de servicio que usas para llamar al Administrador de infraestructura.
    • SERVICE_ACCOUNT_PROJECT_ID es el ID del proyecto de la cuenta de servicio. Es común que este sea el mismo proyecto en el que se ejecuta Infra Manager.
    • BUCKET_NAME es el nombre del bucket de almacenamiento en el que se guarda 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 de 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 control de versiones.

      Si el bucket de almacenamiento es la ruta de acceso raíz de la configuración de Terraform, entonces 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 Infrastructure Manager usará para crear la vista previa. Consulta Versión de Terraform compatible para obtener la lista de versiones compatibles. Si quitas esta marca opcional, se usará de forma predeterminada la versión más reciente de Terraform compatible con el nivel gratuito (1.5.7). Para obtener una vista previa con una versión pagada (como 1.16.5), debes especificar la versión de forma explícita. Las vistas previas no generan cargos por las versiones pagadas de Terraform.

    • Opcional: ANNOTATION_KEY y ANNOTATION_VALUE representan un par clave-valor de texto de formato libre que se puede adjuntar a tus implementaciones de Infra Manager. Para obtener más información sobre el uso y las restricciones de las anotaciones y las etiquetas, consulta Anotaciones y etiquetas.

    • Opcional: PROVIDER_SOURCE: Determina qué proveedor de Terraform para Google Cloud usa la implementación. Establécelo en SERVICE_MAINTAINED para usar el proveedor de Terraform que mantiene Infra Manager. Omite este campo para usar el proveedor de Terraform que mantiene HashiCorp. Para obtener más información, consulta Usa el proveedor de Terraform para Google Cloud.

    Los campos de la implementación, como la configuración de Terraform, las variables y la cuenta de servicio, 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 un archivo de configuración de Terraform almacenado 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 planea aprovisionar o borrar, y qué recursos no se planea modificar.

Para actualizar una implementación almacenada en un repositorio de Git, sigue estos pasos:

  1. Si usas un repositorio de Git privado, asegúrate de haberte conectado a tu host de GitHub y al repositorio de GitHub con Cloud Build para proporcionar acceso de Infra Manager a tu repositorio.

  2. Para obtener una vista previa de la implementación, haz lo siguiente:

    
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \
    --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
    --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 \
    --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" \
    --provider-source=SERVICE_MAINTAINED

Reemplaza lo siguiente:

  • PROJECT_ID es el ID del proyecto en el que se ejecuta Infrastructure Manager.
  • 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 la vista previa que especificas. Consulta Nombre de la vista previa para obtener detalles sobre las restricciones del identificador de la vista previa.
  • SERVICE_ACCOUNT es el nombre de la cuenta de servicio que usas para llamar al Administrador de infraestructura.
  • SERVICE_ACCOUNT_PROJECT_ID es el ID del proyecto de la cuenta de servicio. Es común que este sea el mismo proyecto en el que se ejecuta Infra Manager.
  • GIT_REPO: Es el repositorio de Git.
  • DIRECTORY: Es el directorio que tiene la configuración de Terraform.
  • REF: Es la referencia de Git de la configuración. La referencia es opcional. Si no especificas la referencia, se usa la rama configurada de forma predeterminada del repositorio de Git.
  • 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 Infrastructure Manager usará para crear la vista previa. Consulta Versión de Terraform compatible para obtener la lista de versiones compatibles. Si quitas esta marca opcional, se usará de forma predeterminada la versión más reciente de Terraform compatible con el nivel gratuito (1.5.7). Para obtener una vista previa con una versión pagada (como 1.16.5), debes especificar la versión de forma explícita. Las vistas previas no generan cargos por las versiones pagadas de Terraform.

  • Opcional: ANNOTATION_KEY y ANNOTATION_VALUE representan un par clave-valor de texto de formato libre que se puede adjuntar a tus implementaciones de Infra Manager. Para obtener más información sobre el uso y las restricciones de las anotaciones y las etiquetas, consulta Anotaciones y etiquetas.

  • Opcional: PROVIDER_SOURCE: Determina qué proveedor de Terraform para Google Cloud usa la implementación. Establécelo en SERVICE_MAINTAINED para usar el proveedor de Terraform que mantiene Infra Manager. Omite este campo para usar el proveedor de Terraform que mantiene HashiCorp. Para obtener más información, consulta Usa el proveedor de Terraform para Google Cloud.

Los campos de la implementación, como la configuración de Terraform, las variables y la cuenta de servicio, 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.

Después de obtener una vista previa de una implementación, puedes crearla para aprovisionar los recursos. Para obtener más detalles, consulta Implementa recursos.

¿Qué sigue?