Crear tu paquete de implementación

En esta página, se describen los pasos para crear un paquete de implementación para tu producto de máquina virtual (VM). Debes crear y enviar el paquete de implementación para publicar tu producto en Google Cloud Marketplace.

Una implementación es un conjunto de recursos que se crean y administran juntos, como los recursos necesarios para tu producto. Un paquete de implementación es una especificación para un conjunto de recursos que, por lo general, se implementan juntos, lo que simplifica el proceso de implementación de ese producto en particular.

En esta guía, se usa Deployment Manager para crear tu paquete de implementación. Con Deployment Manager, puedes crear paquetes de implementación para tus productos de VM mediante archivos de configuración YAML, JSON o ProtoText simples.

Determina cómo crear tu paquete de implementación

Si tu producto es una implementación simple de una sola instancia de VM con reglas de firewall básicas, puedes crear un paquete de implementación simple directamente en Google Cloud Console.

Si tu producto es una implementación compleja, usa la herramienta de código abierto mpdev para crear y personalizar el paquete de Deployment Manager con capacidades adicionales.

En la siguiente tabla, se explican las diferencias entre las implementaciones simples y complejas:

Implementación Descripción Cómo crear el paquete
Simple Instancia de VM única con reglas de firewall básicas. Google Cloud Console
Complejo Implementación compleja, ya sea una o varias VM. La implementación puede requerir cualquiera de las siguientes funciones:
  • Comprobaciones de cuota para CPU y GPU, de modo que los usuarios no puedan implementar tu producto si superan los requisitos de cuota.
  • Actualizaciones del establecimiento dinámico de precios en la página de Deployment Manager.
  • Compatibilidad con nubes privadas virtuales (VPC) compartidas
  • Compatibilidad con VM con múltiples tarjetas de interfaz de red.
  • La capacidad de evitar que los usuarios seleccionen tipos de máquinas, GPU o subredes que no están disponibles en la zona que elijan
Herramienta de mpdev

Si no estás seguro de qué opción de implementación es mejor para tu producto, comunícate con tu Ingeniero socio de Google a fin de obtener ayuda.

Antes de comenzar

  1. Asegúrate de que la implementación no use Terraform o tenga dependencias en Terraform.

  2. Si usas la herramienta de mpdev para crear tu paquete de implementación, completa los siguientes pasos:

    1. Instala la herramienta de mpdev. Para ello, sigue las instrucciones del repositorio marketplace-tools.
    2. Descarga el SDK de Google Cloud.

Crea y envía tu paquete de implementación

En la siguiente sección, se explica cómo crear tu paquete de implementación y enviarlo a Google para su revisión.

Crea el paquete de implementación mediante uno de los siguientes métodos:

Crea un paquete de implementación mediante Google Cloud Console

Para crear y enviar un paquete de implementación simple con Google Cloud Console, sigue estos pasos:

Portal para socios

  1. Ve al Portal para socios y selecciona tu producto de la lista de productos.
  2. Junto a Deployment Package, haga clic en Edit.
  3. Selecciona Generate a Package y haz clic en Continue.
  4. Selecciona la imagen de VM con los menús desplegables Project y Image y, luego, haz clic en Continue.
  5. Selecciona la configuración Tipo mínimo de máquina y Tipo predeterminado de máquina y haz clic en Continuar.
  6. Agrega los siguientes pasos posteriores a la implementación que tus clientes deben seguir y, luego, haz clic en Continuar.
  7. Configura tus reglas de firewall y otras opciones de herramientas de redes, si corresponde, y, luego, haz clic en Continuar.
  8. Puedes elegir declarar un sitio o URL de administrador. Si tu producto requiere un acceso, puedes configurar los detalles de acceso cuando envíes tu solución. Haz clic en Continuar.
  9. En Enumerar contenido del paquete, selecciona el nombre del sistema operativo y la versión del SO del sistema operativo de tu imagen de VM. Luego, puedes agregar un Nombre y una Versión para cada pieza de software adicional que se incluye como parte de tu producto. Después de enumerar todo el contenido del paquete, haz clic en Continuar.
  10. Después de completar los pasos anteriores, tu paquete de soluciones se muestra en Revisar. Puedes descargar el paquete de soluciones o hacer clic en Editar JSON para modificarlo de forma manual. Haz clic en Guardar para guardar el paquete y volver a tu solución.

Crea un paquete de implementación con mpdev

En esta sección, se explica cómo usar la herramienta de mpdev a fin de crear un paquete de implementación y enviar el paquete para su revisión.

La herramienta de mpdev usa Deployment Manager Autogen a fin de generar las plantillas de Deployment Manager para el paquete de implementación. La herramienta genera el paquete de implementación basado en una especificación de Autogen que contiene las entradas de configuración para tu producto de VM.

Para crear tu paquete de implementación con mpdev, usa las siguientes instrucciones en función de si usas Producer Portal o Portal para socios a fin de integrar tu producto a Google Cloud Marketplace:

Producer Portal

En un nivel alto, para generar y enviar tu paquete de implementación, debes hacer lo siguiente:

  1. Crea y configura un bucket de Cloud Storage para almacenar y administrar el acceso al paquete de implementación.
  2. Crea una especificación de Autogen que incluya los detalles de la imagen y los requisitos de implementación de tu producto de VM.
  3. Genera el paquete de implementación de acuerdo con la especificación de Autogen y sube el paquete al bucket de Cloud Storage.
  4. Envía el paquete de implementación para revisión en Product Portal. Una vez que envíes el paquete, Google puede demorar hasta dos semanas en revisarlo y aprobarlo.

En las siguientes secciones, se explica cómo completar los pasos para generar y enviar tu paquete de implementación.

Cree su bucket de Cloud Storage

Debes crear el bucket de Cloud Storage en el mismo proyecto público de Google Cloud que usas para Producer Portal y configurar el bucket de las siguientes maneras:

Para crear y configurar un bucket de Cloud Storage, ejecuta los siguientes comandos de gsutil:

BUCKET_NAME=YOUR_BUCKET_NAME
gsutil mb $BUCKET_NAME
gsutil versioning set on gs://$BUCKET_NAME
gsutil iam ch "group:marketplace-ops@cloud.google.com:objectViewer" $BUCKET_NAME

En el ejemplo anterior, YOUR_BUCKET_NAME es el nombre que proporcionas para el bucket nuevo, sujeto a los requisitos de nomenclatura.

Crea tu especificación Autogen

Para crear tu especificación de Autogen, te recomendamos que uses el single VM example en el repositorio de marketplace-tools como tu especificación inicial de Autogen y, luego, personalices la especificación con tu VM. detalles de la configuración.

Para casos de uso más complejos, puedes configurar el autocompletar en algunos entornos de desarrollo integrados (IDE) como ayuda para editar y validar archivos configurations.yaml.

Para crear tu especificación de Autogen a partir del single VM example:

  1. Consulta la especificación de Autogen preconfigurada en el ejemplo en un directorio local:
 PACKAGE=YOUR_PACKAGE_NAME
 mpdev pkg get https://github.com/GoogleCloudPlatform/marketplace-tools.git/examples/deployment-manager/autogen/singlevm $PACKAGE

En el ejemplo anterior, YOUR_PACKAGE_NAME es el nombre que proporcionas para el directorio local. Por ejemplo, my-deployment-package

  1. Si deseas actualizar la especificación con los detalles de configuración de tu VM, modifica el archivo configurations.yaml con la siguiente información:

    • El nombre de la imagen de VM.
    • El ID para el proyecto público de Google Cloud que aloja la imagen de VM, que es el mismo proyecto que usas para Producer Portal.

    Si quieres conocer los pasos para actualizar la imagen de VM y los campos del proyecto de Google Cloud en el archivo configurations.yaml, consulta el archivo README.md de single VM example.

  2. Si es necesario para tu producto, personaliza campos adicionales, como passwords, deployInput y postDeploy. Estos campos se encuentran en DeploymentSpec, en el archivo configurations.yaml. Si deseas obtener más información sobre los campos disponibles para la personalización, consulta la documentación de referencia de Autogen.

Genera tu paquete de implementación

Después de crear y personalizar la especificación de Autogen, debes usar la especificación a fin de generar los archivos de plantilla de Deployment Manager para el paquete de implementación. Para almacenar el paquete, debes subirlo al bucket de Cloud Storage.

Para generar y subir tu paquete de implementación, sigue estos pasos:

  1. Configura la ubicación de salida del paquete de implementación en tu bucket de Cloud Storage:

    mpdev cfg set zipPath gs://BUCKET_NAME/OBJECT
    

    En la queBUCKET_NAME es el nombre del bucket que creaste para el paquete.OBJECT es el nombre que proporcionas para el objeto de Cloud Storage, sujeto alineamientos para asignar nombres ,

  2. Genera el paquete de implementación:

    mpdev apply -f $PACKAGE/configurations.yaml
    

El paquete de implementación generado se comprime y se sube al bucket.

Para verificar que la plantilla esté configurada de manera correcta, puedes crear una implementación mediante la ejecución del siguiente comando:

TMPDIR=$(mktemp -d)
unzip $PACKAGE/template.zip -d $TMPDIR
gcloud deployment-manager deployments create $PACKAGE --config $TMPDIR/test_config.yaml

Envía tu paquete de implementación para revisión

Después de crear el paquete de implementación, debes enviarlo al productor para que el equipo de Google Cloud Marketplace pueda revisarlo y aprobarlo.

Para enviar tu paquete de implementación a revisión, haz lo siguiente:

  1. Abre Producer Portal en Google Cloud Console:

    https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID
    

    Reemplaza YOUR_PUBLIC_PROJECT_ID por el ID del proyecto público que creaste para Google Cloud Marketplace, por ejemplo, my-organization-public.

  2. En la lista de productos, haz clic en el nombre del producto.

  3. En la página Descripción general de tu producto, ve a la sección Paquete de implementación y haz clic en EDITAR.

  4. En Especificar la ubicación de tu objeto de GCS, selecciona el objeto del paquete de implementación que subiste antes.

  5. Haz clic en Validar. El proceso de validación puede tomar hasta dos horas en completarse y puedes salir de la pantalla mientras se completa.

  6. Después de que Producer Portal haya leído correctamente tu paquete de implementación, puedes hacer clic enVISTA PREVIA DE IMPLEMENTACI DEN aver cómo el cliente ve la configuración de tu VM ,

  7. Una vez que la validación se complete de forma correcta, haz clic en ENVIAR para enviar el paquete a revisión.

  8. Si ya enviaste tu revisión de cumplimiento de código abierto, haz clic en el botón de selección para certificar que no cambiaste el uso de licencias de código abierto.

Portal para socios

Crea tu especificación Autogen

Recomendamos crear tu especificación inicial de Autogen con el single VM example del repositorio de marketplace-tools. Para crear la especificación a partir de single VM example, ejecuta el siguiente comando:

mpdev pkg get https://github.com/GoogleCloudPlatform/marketplace-tools.git/examples/deployment-manager/autogen/singlevm MY_PACKAGE

Sigue los pasos siguientes descritos en el archivo README.md del ejemplo descargado. Estos pasos incluyen la edición de campos del archivo configurations.yaml que son específicos para tu producto. Después de completar estos pasos, ejecuta mpdev apply en la configuración de mpdev editada para generar tu paquete de Deployment Manager.

Para obtener documentación detallada sobre los campos de DeploymentSpec en configurations.yaml, consulta la documentación de referencia de Autogen.

También puedes ver otros parámetros de configuración de muestra en la carpeta examples.

Crea credenciales de autorización

Puedes especificar varias passwords en DeploymentSpec en configurations.yaml. Puedes recuperar contraseñas desde el servidor de metadatos de instancia y verlas en la interfaz posterior a la implementación.

Genera tu paquete de implementación

El siguiente es un comando de muestra que lee la especificación en MY_PACKAGE/configurations.yaml y genera un archivo ZIP en la ubicación especificada en MY_PACKAGE/configurations.yaml:

mpdev apply -f MY_PACKAGE/configurations.yaml

Después de crear el paquete de implementación, sigue estas instrucciones para subir el paquete de implementación al Portal para socios.

Paquetes de implementación desde la vista del cliente

En las siguientes secciones, se muestran los diseños de pantalla que ven tus clientes cuando implementan tu producto, para los productos basados en paquetes de soluciones estándar generados automáticamente.

Vista del cliente de la implementación de un paquete

Los elementos de entrada estándar del cliente se muestran en el lado izquierdo de la siguiente captura de pantalla. Se incluyen zone (zona), machine type (tipo de máquina), disk options (opciones de disco) y networking options (opciones de red).

Si la implementación de un cliente requiere varias tarjetas de interfaz de red, puedes agregar interfaces de red adicionales mediante un clic en Agregar interfaz de red.

Para implementar tu producto, los clientes deben completar los campos de entrada y, luego, hacer clic en Implementar.

Vista del cliente de un paquete implementado

En la siguiente imagen, se muestra cómo se muestra tu producto a los clientes después de que lo implementan de forma correcta.

Los elementos de salida estándar se muestran en el lado derecho de la siguiente captura de pantalla. Se incluyen site address (dirección del sitio), temporary admin password (contraseña de administrador temporal) y, además, instance information (información de la instancia).