Descarga e implementa Terraform

Si tienes tus propias herramientas y flujos de trabajo de implementación, puedes descargar plantillas o aplicaciones como archivos de Terraform.

El sistema genera los siguientes archivos de Terraform:

  • main.tf: Es el código de infraestructura que incluye un módulo para cada componente de la plantilla.
  • outputs.tf: Expone información sobre los componentes de infraestructura que se implementan.
  • variables.tf: Declara el nombre, el tipo y la descripción de las variables que se usan en el archivo main.tf.
  • input.tfvars: Define valores para las variables que se usan en el archivo main.tf.
  • providers.tf: Define etiquetas que ayudan a Terraform a interactuar con las APIs y los recursos de Google Cloud .

Para obtener información general, consulta Descripción general de Terraform enGoogle Cloud.

Si no tienes tus propias herramientas y flujos de trabajo de implementación, consulta Implementa una aplicación desde la consola deGoogle Cloud .

Antes de comenzar

Pídele a tu administrador que te otorgue uno de los siguientes roles en la carpeta habilitada para la app o en el proyecto de administración:

  • Administrador de aplicaciones (roles/designcenter.applicationAdmin)
  • Editor de aplicaciones (roles/designcenter.applicationEditor)

Exporta código de Terraform

Si deseas mantener tus plantillas y aplicaciones fuera de Google Cloud, puedes generar Terraform y exportarlo a tu máquina local o a tu repositorio de código.

Exporta de forma local

Puedes exportar el código de Terraform generado a partir de una plantilla o una aplicación.

Plantilla

  1. En la consola de Google Cloud , ve a la página Plantillas.

    Ir a Plantillas

  2. Haz clic en el ID de plantilla que deseas exportar.

  3. Haz clic en Obtener código.

    El sistema descargará un archivo ZIP en tu computadora local. Puedes implementar la aplicación con tus propias herramientas y flujos de trabajo de implementación.

Aplicación

  1. En la consola de Google Cloud , ve a la página Aplicaciones.

    Ir a Aplicaciones

  2. Haz clic en el Nombre de la aplicación que deseas exportar.

  3. Haz clic en Obtener código.

    El sistema descargará un archivo ZIP en tu computadora local. Puedes implementar la aplicación con tus propias herramientas y flujos de trabajo de implementación.

Exporta a tu repositorio

Para mantener tus plantillas a través de tu repositorio de administración de código fuente, puedes exportar plantillas y aplicaciones a GitHub. Por ejemplo, puedes exportar para hacer lo siguiente:

  • Usa tus flujos de trabajo de control de versión existentes.
  • Activa compilaciones, pruebas e implementaciones con tu propia canalización de CI/CD.

Conéctate a tu repositorio

Para crear una conexión de Developer Connect entre tu repositorio de GitHub y tu proyecto de administración, haz lo siguiente:

  1. Cambia la política de tu organización para agregar los siguientes servicios a tu lista de entidades permitidas:

    1. developerconnect.googleapis.com
    2. secretmanager.googleapis.com

    Para conocer los pasos para cambiar tu política de la organización, consulta Cómo usar la restricción de uso restringido de recursos del servicio.

  2. Crea una conexión de Developer Connect a tu repositorio de GitHub, que incluya lo siguiente:

    1. Selecciona Habilitar residencia de datos.
    2. Vincula el repositorio en el que deseas exportar tu aplicación.

    Para conocer los pasos para crear una conexión y vincular un repositorio, consulta Conecta GitHub.

  3. Para copiar el URI del repositorio, haz lo siguiente:

    1. Abre la página Repositorios de Git de Developer Connect.
    2. En la tabla Repositories, haz clic en More Options y selecciona Copy resource path.

Generar y exportar

Para generar código de Terraform y exportarlo a tu repositorio de GitHub, haz lo siguiente:

Plantilla

  1. Identifica el ID de tu espacio.

    gcloud design-center spaces list \
        --project=PROJECT \
        --location=LOCATION
    

    Reemplaza lo siguiente:

    • PROJECT: Es el ID de tu proyecto de administración.
    • LOCATION: Es el ID de tu ubicación.
  2. Identifica el ID de la plantilla que deseas exportar.

    gcloud design-center spaces application-templates list \
        --space=SPACE \
        --project=PROJECT \
        --location=LOCATION
    

    Reemplaza lo siguiente:

    • SPACE: Es el ID de tu espacio.
    • PROJECT: Es el ID de tu proyecto de administración.
    • LOCATION: Es el ID de tu ubicación.
  3. Genera el código de Terraform de tu plantilla y expórtalo a GitHub.

    gcloud design-center spaces application-templates generate APPLICATION_TEMPLATE \
        --space=SPACE \
        --project=PROJECT \
        --location=LOCATION \
        --developer-connect-export-config-repo-uri=DEVELOPER_CONNECT_EXPORT_CONFIG_REPO_URI \
        --developer-connect-export-config-dir=DEVELOPER_CONNECT_EXPORT_CONFIG_DIR \
        --developer-connect-export-config-branch=DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH
    

    Reemplaza lo siguiente:

    • APPLICATION_TEMPLATE: Es el ID de la plantilla que deseas exportar.
    • SPACE: Es el ID de tu espacio.
    • PROJECT: Es el ID de tu proyecto de administración.
    • LOCATION: Es el ID de tu ubicación.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: Es el directorio relativo a tu repositorio de GitHub.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: Es la rama de tu repositorio de GitHub.

    Para obtener más información, consulta gcloud design-center spaces application-templates generate.

  4. Consulta tu repositorio para verificar que la plantilla se haya exportado correctamente.

Aplicación

  1. Identifica el ID de tu espacio.

    gcloud design-center spaces list \
        --project=PROJECT \
        --location=LOCATION
    

    Reemplaza lo siguiente:

    • PROJECT: Es el ID de tu proyecto de administración.
    • LOCATION: Es el ID de tu ubicación.
  2. Identifica el ID de la aplicación que deseas exportar.

    gcloud design-center spaces applications list \
        --space=SPACE \
        --project=PROJECT \
        --location=LOCATION
    

    Reemplaza lo siguiente:

    • SPACE: Es el ID de tu espacio.
    • PROJECT: Es el ID de tu proyecto de administración.
    • LOCATION: Es el ID de tu ubicación.
  3. Genera el código de Terraform de tu aplicación y expórtalo a GitHub.

    gcloud design-center spaces applications generate APPLICATION \
        --space=SPACE \
        --project=PROJECT \
        --location=LOCATION \
        --developer-connect-export-config-repo-uri=DEVELOPER_CONNECT_EXPORT_CONFIG_REPO_URI \
        --developer-connect-export-config-dir=DEVELOPER_CONNECT_EXPORT_CONFIG_DIR \
        --developer-connect-export-config-branch=DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH
    

    Reemplaza lo siguiente:

    • APPLICATION: Es el ID de la aplicación que deseas exportar.
    • SPACE: Es el ID de tu espacio.
    • PROJECT: Es el ID de tu proyecto de administración.
    • LOCATION: Es el ID de tu ubicación.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: Es el directorio relativo a tu repositorio de GitHub.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: Es la rama de tu repositorio de GitHub.

    Para obtener más información, consulta gcloud design-center spaces applications generate.

  4. Consulta tu repositorio para verificar que la aplicación se haya exportado correctamente.

¿Qué sigue?

Descripción general de Terraform en Google Cloud