Configura tu entorno de Google Cloud

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

Crea tu espacio de trabajo

Te recomendamos que crees un proyecto nuevo en la la consola de Google Cloud 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 quieres usar, verifica que se otorguen los roles de Identity and Access Management (IAM) correctamente para Kubernetes y pasaremos a Configura un registro de contenedores.

Otorga roles para tu proyecto

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

  1. Luego de crear tu proyecto, otorga los siguientes roles a nivel del proyecto nivel:

    • Editor del proyecto, para 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), en cloud-commerce-producer@system.gserviceaccount.com

    Para otorgar acceso a tu proyecto, consulta Otorga, cambia y revoca el acceso a recursos.

  2. Otorga los siguientes roles a nivel de servicio para cloud-commerce-procurement@system.gserviceaccount.com:

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

    Si deseas 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 proporciona el equipo de Cloud Marketplace.

Configura un Container Registry

Necesitas un repositorio de Container Registry para alojar las imágenes del contenedor de tu . Artifact Analysis analiza continuamente las imágenes de la aplicación para vulnerabilidades para que puedas revisar y abordar los 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 otorga el rol 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 las imágenes de los contenedores 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 Producer Portal Tu Ingeniero socio lo habilitará por ti después de que completes el curso Cloud Marketplace Formulario de información del proyecto.

Para publicar tu producto en Producer Portal, crea una entrada para tu producto y, a continuación, envía la siguiente información para su revisión:

  • Detalles del producto: Agrega información de marketing y de la ficha de tu producto.
  • Precios: Elige y especifica tu modelo de precios para determinar cómo los clientes te pagarán por tu producto.
  • Imágenes de contenedor: Proporciona el repositorio de Google Container Registry que incluya las imágenes del contenedor.
  • Cumplimiento del código abierto: Asegúrate de que tu producto cumpla con los requisitos de de software de código abierto.

Puedes enviar estas opiniones en cualquier momento y en cualquier orden. Es posible que algunas opiniones tardar hasta dos semanas en aprobarse, por lo que recomendamos revisar los requisitos y comenzar 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, asigna un nombre al producto y verifica el ID del producto. El ID del producto se usa en la URL de tu ficha de Cloud Marketplace.

  5. Haga 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 compatibles con versiones anteriores de 2.0, organiza estas versiones bajo 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 tu empresa, producto y las imágenes de contenedor, que se usan para crear tus URLs de Cloud Marketplace, y los URI para tus 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 objeto Deployment cuando los usuarios implementan la app desde la consola de Google Cloud Creas una imagen de implementación crea tu paquete de 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 corresponde 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