Ofrece apps de Kubernetes de Terraform a través de Cloud Marketplace

Las apps de Kubernetes de Terraform en Google Cloud Marketplace permiten que tus clientes usen Terraform para implementar tus apps alojadas en contenedores en Google Kubernetes Engine. A tus usuarios no se les cobra por el uso de tus apps de Kubernetes de Terraform, pero sí por el uso de los recursos de Google Cloud . Puedes ofrecer públicamente apps de Kubernetes de Terraform a todos los usuarios de Cloud Marketplace o de forma privada con las ofertas privadas.

Las apps de Kubernetes de Terraform que ofreces a través de Cloud Marketplace definen sus configuraciones con gráficos de Helm, que alojas en Artifact Registry. Después de configurar todo, incorpora tu app a Cloud Marketplace a través de Producer Portal.

Descripción general de la incorporación de una app de Kubernetes de Terraform

Para ofrecer una app de Kubernetes de Terraform a través de Cloud Marketplace, debes seguir estos pasos:

  1. Prepara tu app de Kubernetes de Terraform para Cloud Marketplace. Esto incluye configurar Artifact Registry y enviar las imágenes de tu app a él.

  2. Agrega la información de precios de tu app en Producer Portal.

  3. Configura la implementación de tu app en Producer Portal, incluidos su módulo de Terraform, su gráfico de Helm y sus imágenes de contenedor.

  4. Publica tu producto en Cloud Marketplace. A medida que incorporas tu producto, envías varias partes para su revisión. El equipo de Cloud Marketplace revisa cada envío y trabaja contigo para resolver cualquier problema antes de aprobarlo. Cuando se aprueben todos tus envíos, podrás publicar y lanzar el producto en unos minutos.

Requisitos para las apps de Kubernetes de Terraform

Todos los productos que ofrezcas a través de Cloud Marketplace deben cumplir con los requisitos de publicación de Cloud Marketplace.

Tu app de Terraform Kubernetes debe cumplir con los siguientes requisitos adicionales:

  • Tu app debe ejecutarse en nodos de GKE que usen procesadores x86.
  • Todos los gráficos de Helm y las imágenes de contenedor de tu app deben subirse a tu registro de Artifact Registry, al mismo repositorio y proyecto que usas para tu app de Kubernetes de Terraform.
  • Tu registro de Artifact Registry debe incluir un gráfico de Helm.
  • Tu módulo de Terraform debe estar alojado como un archivo ZIP en un bucket de Cloud Storage ubicado en el mismo proyecto que usas para tu app de Kubernetes de Terraform.
  • Debes habilitar el control de versiones para el bucket de Cloud Storage que usas para alojar tu módulo de Terraform.
  • Debes incluir una guía del usuario con los pasos para implementar tu app desde la línea de comandos, configurarla y usarla. Para obtener más detalles, consulta Requisitos para tu guía del usuario en este documento.
  • Para proteger a los usuarios de las API inestables, usa solo recursos de Kubernetes en Beta o de disponibilidad general.

Requisitos para las imágenes de tu app

Las imágenes de tu app deben cumplir con los siguientes requisitos:

  • Todas las imágenes de tu app deben estar etiquetadas con el segmento de lanzamiento y la versión actual. Por ejemplo, si lanzas la versión 2.0.5 en el segmento de lanzamiento 2.0, todas las imágenes correspondientes deben etiquetarse con 2.0 y 2.0.5. Para obtener más información, consulta Organiza tus lanzamientos.
  • Todas las imágenes de tu app deben contener la siguiente anotación en su manifiesto de imagen:

    com.googleapis.cloudmarketplace.product.service.name=services/SERVICE_NAME
    

    SERVICE_NAME por el nombre del servicio Para encontrar el nombre de tu servicio, consulta la tabla de productos en la página Descripción general de Producer Portal. Para obtener más información sobre las anotaciones, consulta la documentación de anotaciones de Open Container Initiative en GitHub.

Requisitos para tu repositorio de Artifact Registry

El gráfico de Helm y las imágenes de contenedor de tu app deben formar parte de un solo repositorio de Artifact Registry.

Por ejemplo, si tu repositorio de Artifact Registry es us-docker.pkg.dev/exampleproject, el gráfico de Helm y las imágenes de contenedor de tu app deberían parecerse a lo siguiente:

  • us-docker.pkg.dev/exampleproject/exampleapp/chart
  • us-docker.pkg.dev/exampleproject/exampleapp/image1
  • us-docker.pkg.dev/exampleproject/exampleapp/image2

Requisitos para el módulo de Terraform

Los clientes usan el módulo de Terraform para implementar tu producto desde Cloud Marketplace a través de Infrastructure Manager. El módulo de Terraform empaqueta la configuración de Kubernetes de tu app.

Usa el módulo de ejemplo como punto de partida y sigue la guía para socios para compilar un módulo de Terraform que sea compatible con tu app.

Parámetros pasados a tu aplicación

Tu módulo de Terraform debe declarar los parámetros que se deben recopilar de los clientes cuando seleccionan tu app. Luego, se proporcionan estos parámetros al contenedor del gráfico de Helm cuando los usuarios implementan la app.

Para configurar estos parámetros, tu módulo de Terraform debe incluir un archivo schema.yaml.

Si deseas obtener información para crear un schema.yaml, consulta la guía para crear un esquema en GitHub.

Solicitudes del clúster de GPU

Si tu app tiene necesidades de GPU específicas o requiere mucha GPU, puedes especificar el tipo y la cantidad de GPU en el clúster mediante el esquema de implementador. Si especificas las necesidades de GPU, desactivas la creación de clústeres asistidos.

Tu app puede solicitar una GPU Nvidia genérica o una plataforma de Nvidia específica.

Requisitos para la guía del usuario de tu app

La guía del usuario de tu app debe incluir la siguiente información:

  • Descripción general: Una descripción general de tu app que abarca las funciones básicas y las opciones de configuración. En esta sección, también se debe incluir un vínculo a tu app publicada en Cloud Marketplace.
  • Configuración única: Incluye los pasos para configurar Helm y, luego, instalar la CRD de CustomResourceDefinition de la aplicación para que tu clúster pueda administrar el recurso de la aplicación.
  • Instalación: Incluye lo siguiente:
    • Comandos para implementar tu app
    • Paso de parámetros disponibles en la configuración de la IU
    • Fijación de referencias de imágenes a resúmenes inmutables
    • Información sobre los campos de entrada personalizados que agregaste a tu módulo de Terraform, si corresponde. Consulta las instrucciones para agregar campos de entrada a tu módulo de Terraform.
  • Uso básico: Guías para las siguientes tareas:
    • Modificación de nombres de usuario y contraseñas
    • Conexión a una Consola del administrador, si corresponde
    • Conexión de una herramienta cliente y ejecución de un comando de muestra, si corresponde
    • Habilitación de la entrada e instalación de certificados TLS, si corresponde
  • Copia de seguridad y restablecimiento: Información sobre cómo crear una copia de seguridad del estado de la app y restablecerlo a partir de una copia de seguridad.
  • Actualizaciones de imágenes: Información sobre la actualización de las imágenes de la app para parches o actualizaciones menores.
  • Escalamiento: Información sobre el escalamiento de la app, si corresponde
  • Borrado: Guías para borrar la app y limpiar los recursos que puedan quedar, como PersistentVolumeClaims

¿Qué sigue?