Configura tu entorno de Google Cloud

En esta página, se describen los pasos para configurar tu entorno de Google Cloud a fin de que puedas distribuir tus apps de Kubernetes.

Crea tu espacio de trabajo

Te recomendamos crear un proyecto nuevo en Google Cloud Console principalmente para tus productos de Cloud Marketplace.

Para administrar los productos que envías a Cloud Marketplace, te recomendamos que crees un proyecto nuevo con un ID del proyecto que termine en -public. Si deseas crear un proyecto para tus productos, consulta Crea y administra proyectos.

Si ya tienes un proyecto configurado para vender en Cloud Marketplace que deseas usar, verifica que los roles de Identity and Access Management (IAM) se hayan otorgado de forma correcta para Kubernetes y avanza a Configura un registro de contenedores.

Otorga roles a tu proyecto

Para terminar de configurar tu proyecto, completa los siguientes pasos:

  1. Después de crear tu proyecto, otorga las siguientes funciones a nivel de proyecto:

    • Editor del proyecto, a cloud-commerce-marketplace-onboarding@twosync-src.google.com
    • Administrador de Service Management (roles/servicemanagement.serviceAdmin), a cloud-commerce-marketplace-onboarding@twosync-src.google.com y managed-services@cloud-marketplace.iam.gserviceaccount.com
    • Editor de configuración (roles/servicemanagement.configEditor), a cloud-commerce-producer@system.gserviceaccount.com

    Para otorgar acceso a tu proyecto, consulta Cómo otorgar, cambiar y revocar el acceso a los recursos.

  2. Otorga las siguientes funciones a nivel del servicio a cloud-commerce-procurement@system.gserviceaccount.com:

    • Consumidor del servicio (roles/servicemanagement.serviceConsumer)
    • Controlador del servicio (roles/servicemanagement.serviceController)

    Si quieres conocer los pasos para otorgar acceso a nivel de servicio, consulta Cómo otorgar y revocar el acceso a la API.

  3. Establece un contacto de seguridad. Para obtener más información, consulta Cómo administrar contactos para las notificaciones.

  4. Completa el formulario de información del proyecto que te proporcionó el equipo de Cloud Marketplace.

Configura un Container Registry

Necesitas un repositorio de Container Registry para alojar las imágenes de contenedor de tu app. Artifact Analysis analiza las imágenes de la app de forma continua en busca de vulnerabilidades para que puedas revisar y solucionar problemas antes de enviar tu producto a Cloud Marketplace.

Para configurar Container Registry, Docker y el SDK de Google Cloud, sigue la Guía de inicio rápido de Container Registry.

Después de configurar Container Registry, en el proyecto que contiene tu registro, otorga el rol de Visualizador del proyecto a cloud-commerce-marketplace-onboarding@twosync-src.google.com.

Habilita la API de Container Analysis

Debes habilitar la API de Artifact Analysis, que analiza tus imágenes de contenedor en Container Registry en busca de vulnerabilidades. Para obtener una descripción general del análisis de vulnerabilidades en Artifact Analysis, consulta la documentación de Container Registry.

Agrega tu producto a Cloud Marketplace

Para crear y publicar tu producto en Cloud Marketplace, usa el Producer Portal. Tu Ingeniero socio lo habilita después de que completes el formulario de información del proyecto de Cloud Marketplace.

Si quieres publicar tu producto en Producer Portal, debes crear una entrada para el producto y, luego, enviar la siguiente información para su revisión:

  • Detalles del producto: Agrega información de marketing y fichas sobre tu producto.
  • Precios: Elige y especifica tu modelo de precios para determinar cómo te pagan los clientes por el producto.
  • Imágenes de contenedor: Proporciona el repositorio de Google Container Registry que incluye tus imágenes de contenedor.
  • Cumplimiento de código abierto: Asegúrate de que tu producto cumpla con las políticas de Google para el software de código abierto.

Puedes enviar estas opiniones en cualquier momento y en cualquier orden. Algunas revisiones pueden tardar hasta dos semanas en aprobarse, por lo que te recomendamos que revises los requisitos y comiences lo antes posible.

Sigue estos pasos para crear la entrada de Cloud Marketplace de tu producto:

  1. Abre Producer Portal en la consola de Google Cloud:

    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 Cloud Marketplace, por ejemplo, my-organization-public.

  2. En la parte superior de la página, haz clic en Agregar producto.

  3. Selecciona Kubernetes.

  4. En Nombre del producto, asígnale un nombre y verifica el ID del producto. El ID del producto se usa en la URL de tu ficha de Cloud Marketplace.

  5. Haz clic en Crear. La creación de tu producto puede tardar algunos segundos.

Agregarás tu modelo de precios y la información de marketing para tu solución en pasos posteriores.

Crea un clúster de desarrollo en Kubernetes Engine

Usa Google Kubernetes Engine para administrar y escalar los clústeres de Kubernetes. Para crear un clúster de prueba y, además, implementar una aplicación básica en él, sigue la Guía de inicio rápido del motor de Google Kubernetes.

Instala la herramienta de desarrollo mpdev

La herramienta mpdev es un contenedor que agrupa utilidades para probar y publicar las imágenes de tu aplicación. Si bien no es necesario instalar mpdev con el fin de enviar una aplicación para el inicio, puedes ejecutar mpdev para verificar tu entorno de desarrollo y probar si tu aplicación se instala correctamente en tu clúster de desarrollo.

Instala mpdev desde el repositorio de GitHub de las herramientas de Cloud Marketplace.

A fin de obtener información sobre el uso de mpdev para verificar el entorno y probar la aplicación, consulta la referencia de mpdev en GitHub.

Organiza tus versiones

En general, cada versión de tu aplicación debe adoptar el Control de versiones semánticas 2.0, que sigue la convención de numeración MAJOR.MINOR.PATCH. Cada versión debe tener un número de versión único, como 1.0.11.0.21.3.1, etcétera. De manera opcional, agrega un guion después del número de versión para agregar un modificador previo al lanzamiento, como 1.3.1-alpha201910. Los modificadores previos al lanzamiento se pueden usar para almacenar y destacar información adicional que te resulte útil, como la fecha de compilación que indica cuándo se crearon las versiones.

Te recomendamos que publiques su software en segmentos. Cada segmento es una serie de versiones con actualizaciones de retrocompatibilidad. Tus segmentos se deben basar en una versión secundaria, como 4.1.x. Como práctica recomendada, evita utilizar nombres de versión genéricos como latest.

Por ejemplo, si lanzas la versión 2.0 de tu software en Cloud Marketplace y esperas que las versiones 2.0.1, 2.0.5, etc., sean retrocompatibles con 2.0, organiza estas versiones en el segmento 2.0.

Cuando publiques una versión de tu aplicación incompatible con versiones anteriores, o una versión que requiera que los usuarios realicen pasos de migración manual, lánzala en un segmento nuevo, para que los usuarios puedan planificar sus actualizaciones.

Elige los identificadores de tus productos

Debes seleccionar los siguientes identificadores para la empresa, el producto y las imágenes del contenedor, que se usan a fin de crear las URLs de Cloud Marketplace y los URI de las imágenes de contenedor:

  • El nombre de tu empresa. Por ejemplo, si el nombre de tu empresa es Ejemplosoft Inc., puedes usar el identificador examplesoft.

  • El nombre de tu producto. Por ejemplo, si el nombre del producto es Example Pro, usa el identificador example-pro.

  • El segmento del producto, como 4.0.

    Consulta los requisitos para organizar tus lanzamientos.

  • Tus imágenes del contenedor. Selecciona un identificador único para cada imagen de contenedor en tu aplicación. Los siguientes identificadores son necesarios para todas las aplicaciones:

    • La imagen principal: esta imagen del contenedor es la imagen principal de tu producto y usa el mismo identificador que este. Por ejemplo, si el identificador de tu producto es example-pro, la imagen principal usa el mismo identificador.
    • deployer: la imagen del contenedor de implementación para el seguimiento. El contenedor de implementación se ejecuta cuando los usuarios implementan tu app desde la consola de Google Cloud. Creas una imagen de implementación cuando creas el paquete de tu app.

Por ejemplo, la empresa Examplesoft Inc. elige los identificadores siguientes para Example Pro, su producto:

Nombre Identificador
Empresa Examplesoft Inc examplesoft
Producto Example Pro example-pro
Imagen [1] (principal) Example Pro server No corresponde
Imagen [2] Example Queue example-queue
Imagen [deployer] No disponible deployer
Segmento [1] Versión 4.x.x 4.0
Segmento [2] Versión 5.x.x 5.0

Para estos identificadores, la información siguiente se genera de forma automática:

  • La URL del producto en Cloud Marketplace: https://console.cloud.google.com/marketplace/details/examplesoft/example-pro

  • Los URI de la imagen del contenedor:

    • marketplace.gcr.io/examplesoft/example-pro:4.0
    • marketplace.gcr.io/examplesoft/example-pro/example-queue:4.0
    • marketplace.gcr.io/examplesoft/example-pro/deployer:4.0
    • marketplace.gcr.io/examplesoft/example-pro:5.0
    • marketplace.gcr.io/examplesoft/example-pro/example-queue:5.0
    • marketplace.gcr.io/examplesoft/example-pro/deployer:5.0