Ofrecer aplicaciones de Kubernetes de Terraform a través de Cloud Marketplace

Las aplicaciones de Kubernetes de Terraform en Google Cloud Marketplace permiten a tus clientes usar Terraform para desplegar tus aplicaciones en contenedores en Google Kubernetes Engine. No se cobra a tus usuarios por el uso que hagan de tus aplicaciones de Kubernetes de Terraform, pero sí por el uso que hagan de los Google Cloud recursos. Puedes ofrecer aplicaciones de Kubernetes de Terraform públicamente a todos los usuarios de Cloud Marketplace o de forma privada mediante ofertas privadas.

Las aplicaciones de Kubernetes de Terraform que ofreces a través de Cloud Marketplace definen sus configuraciones mediante gráficos de Helm, que alojas en Artifact Registry. Una vez configurado, incorpora tu aplicación a Cloud Marketplace a través del Portal del productor.

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

Para ofrecer una aplicación de Kubernetes de Terraform a través de Cloud Marketplace, sigue estos pasos:

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

  2. Añade información sobre los precios de tu aplicación en Producer Portal.

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

  4. Publica tu producto en Cloud Marketplace. Cuando incorpore su producto, deberá enviar varias partes del mismo para que se revisen. El equipo de Cloud Marketplace revisa cada envío y colabora contigo para resolver cualquier problema antes de aprobarlo. Cuando se aprueben todas las solicitudes, podrá publicar y lanzar el producto en cuestión de minutos.

Requisitos de las aplicaciones de Kubernetes de Terraform

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

Tu aplicación de Kubernetes de Terraform debe cumplir los siguientes requisitos adicionales:

  • Tu aplicación debe ejecutarse en nodos de GKE que usen procesadores x86.
  • Todos los gráficos de Helm y las imágenes de contenedor de tu aplicación deben subirse a tu registro de Artifact Registry, al mismo repositorio y proyecto que estés usando para tu aplicación 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 segmento de Cloud Storage ubicado en el mismo proyecto que estés usando para tu aplicación de Terraform Kubernetes.
  • Debes habilitar el control de versiones en el segmento de Cloud Storage que utilices para alojar tu módulo de Terraform.
  • Debes incluir una guía de usuario con los pasos para implementar tu aplicación desde la línea de comandos, configurarla y usarla. Para obtener más información, consulta la sección Requisitos de la guía de usuario de este documento.
  • Para proteger a los usuarios de las APIs inestables, utiliza solo recursos de Kubernetes beta o disponibles para todos los usuarios.

Requisitos de las imágenes de la aplicación

Las imágenes de tu aplicación deben cumplir los siguientes requisitos:

  • Todas las imágenes de tu aplicación deben etiquetarse con la pista de lanzamiento y la versión actual. Por ejemplo, si vas a lanzar la versión 2.0.5 en el canal 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 Organizar las versiones.
  • Todas las imágenes de tu aplicación deben contener la siguiente anotación en su manifiesto de imagen:

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

    Sustituye SERVICE_NAME por el nombre de tu servicio. Para encontrar el nombre de su servicio, consulte la tabla de productos de la página Resumen del Portal para productores. Para obtener más información sobre las anotaciones, consulta la documentación de la iniciativa Open Container sobre las anotaciones en GitHub.

Requisitos de su repositorio de Artifact Registry

El gráfico de Helm y las imágenes de contenedor de tu aplicación deben formar parte de un único 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 aplicación deberían ser similares a los siguientes:

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

Requisitos del módulo de Terraform

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

Usa el módulo de ejemplo como punto de partida y sigue la guía para partners para crear un módulo de Terraform que sea compatible con tu aplicación.

Parámetros enviados a tu aplicación

Tu módulo de Terraform debe declarar los parámetros que se deben recoger de los clientes cuando seleccionen tu aplicación. Estos parámetros se proporcionan al contenedor del gráfico de Helm cuando los usuarios implementan la aplicación.

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

Para saber cómo crear un schema.yaml, consulta la guía para crear un esquema en GitHub.

Solicitudes de clústeres de GPU

Si tu aplicación tiene necesidades específicas de GPU o requiere un uso intensivo de la GPU, puedes especificar el tipo y el número de GPUs del clúster mediante tu esquema de implementación. Si especificas tus necesidades de GPU, se desactivará la creación asistida de clústeres.

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

Requisitos de la guía del usuario de tu aplicación

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

  • Descripción general: una descripción general de tu aplicación, que abarca las funciones básicas y las opciones de configuración. En esta sección también debe incluirse un enlace a la aplicación publicada en Cloud Marketplace.
  • Configuración única: incluye los pasos para configurar Helm e instalar el CustomResourceDefinition de la aplicación (CRD) para que tu clúster pueda gestionar el recurso Application.
  • Instalación: esto incluye lo siguiente:
    • Comandos para desplegar tu aplicación
    • Transferir parámetros disponibles en la configuración de la interfaz de usuario
    • Anclar referencias de imágenes a resúmenes inmutables
    • Información sobre los campos de entrada personalizados que haya añadido a su módulo de Terraform, si procede. Consulte las instrucciones para añadir campos de entrada a su módulo de Terraform.
  • Uso básico: guías para las siguientes tareas:
    • Modificar nombres de usuario y contraseñas
    • Conectarse a una consola de administración, si procede
    • Conectar una herramienta de cliente y ejecutar un comando de ejemplo, si procede
    • Habilitar el tráfico de entrada e instalar los certificados TLS, si procede
  • Copia de seguridad y restauración: información sobre cómo crear copias de seguridad del estado de la aplicación y restaurarlo a partir de una copia de seguridad.
  • Actualizaciones de imágenes: información sobre cómo actualizar las imágenes de la aplicación para parches o actualizaciones menores.
  • Escalado: información sobre el escalado de la aplicación, si procede.
  • Eliminación: guías para eliminar la aplicación y limpiar los recursos que puedan quedar, como PersistentVolumeClaims.

Siguientes pasos