Migra los contenedores que se implementaron en VMs durante la creación de la VM

El agente de inicio de contenedores en Compute Engine dejó de estar disponible. Este agente te permite implementar contenedores en instancias de Compute Engine cuando creas VMs.

En este documento, se describe cómo migrar los contenedores existentes que el agente de inicio creó en tus VMs o grupos de instancias administrados (MIG) a otros servicios deTrusted Cloud .

Según tus requisitos, elige una de las siguientes opciones para migrar los contenedores que se implementaron en VMs con el método en desuso:

  • Si deseas seguir ejecutando contenedores en VMs y MIG individuales, usa secuencias de comandos de inicio o cloud-init.
  • Si tienes aplicaciones de contenedores sin estado y trabajos pequeños o medianos, usa Cloud Run.
  • Si tu contenedor es un trabajo por lotes que tiene un estado final definido y requiere recursos de procesamiento adicionales, usa Batch.
  • Si necesitas control y escalabilidad avanzados, o bien si no puedes satisfacer tus requisitos con las otras opciones, usa GKE en Google Cloud.

Para obtener más casos de uso y soluciones alternativas, consulta Compara las opciones de implementación de contenedores.

Opciones obsoletas para configurar contenedores en VMs

Cuando configuras un contenedor durante la creación de la VM, Compute Engine usa el agente de inicio del contenedor para leer los metadatos de gce-container-declaration que almacenan la información del contenedor y para implementarlo en la VM.

Las siguientes opciones para implementar contenedores directamente en una VM o un MIG que usan el agente de inicio de contenedores y gce-container-metadata están obsoletas.

Console

La opción Implementar contenedor en la página Crear una instancia dejó de estar disponible:

La opción Implementar contenedor

gcloud

Los siguientes comandos de gcloud que configuran un contenedor en una VM o una plantilla de instancias están obsoletos:

Terraform

El módulo de Terraform gce-container y la clave de metadatos gce-container-declaration para configurar contenedores dejaron de estar disponibles.

Identifica las instancias que usan los metadatos del contenedor obsoletos

Para determinar si alguna instancia de tu proyecto usa los metadatos del contenedor en desuso, ejecuta el siguiente comando de Google Cloud CLI que enumera las instancias con la clave y el valor de metadatos gce-container-declaration:

gcloud compute instances list --filter="metadata.items.key:gce-container-declaration"

Este comando proporciona una lista de todas las instancias de VM en tu proyecto configurado que contienen la clave de metadatos gce-container-declaration. La clave de metadatos identifica de forma única las VMs que se encuentran dentro del alcance de la baja. Si usas varios proyectos, ejecuta este comando en todos los proyectos activos.

Si tienes una instancia específica que deseas validar, ejecuta el siguiente comando de Google Cloud CLI:

  gcloud compute instances describe VM_NAME --format="(metadata.items)"

Reemplaza VM_NAME por el nombre de la instancia de VM que deseas validar.

Para obtener más información sobre cómo ver metadatos, consulta Cómo ver y consultar metadatos.

Compara las opciones de implementación de contenedores

En la siguiente tabla, se resumen los casos de uso para ejecutar contenedores en VMs y se recomiendan soluciones alternativas de contenedores para migrar tus cargas de trabajo:

Casos de uso Tipo de reemplazo Costo Solución recomendada
  • Continúa ejecutando el contenedor en una VM o un MIG.
  • No están tan familiarizados con las soluciones administradas o sin servidores.
  • Ejecuta el contenedor para pruebas y desarrollo.
  • Tu carga de trabajo consta de una sola VM.
  • Ejecuta el contenedor en modo privilegiado.
  • Reemplazo directo Sin costo adicional Usa secuencias de comandos de inicio para crear las VMs.
  • Continúa ejecutando el contenedor en una VM o un MIG.
  • Ejecuta varios contenedores en una sola VM.
  • Configurar situaciones avanzadas en contenedores o VMs
    Por ejemplo, crear usuarios, importar archivos, montar discos o usar el modo con privilegios
  • Tu carga de trabajo consta de varias VMs o MIG.
  • Reemplazo directo Sin costo adicional Usa cloud-init para ejecutar tareas durante el ciclo de vida de la VM.
    Ejecuta un trabajo por lotes que tenga un estado final definido y que requiera recursos de procesamiento adicionales. Servicio administrado Depende de las características de tu carga de trabajo y la complejidad de la configuración del contenedor. Batch
  • Ejecuta aplicaciones sin estado.
  • Ejecuta trabajos de tamaño pequeño a mediano.
  • Servicio administrado Es una solución de bajo costo o sin costo para cargas de trabajo más pequeñas. Cloud Run
  • Ya tienes un clúster de GKE existente.
  • Necesitas control avanzado y escalabilidad.
  • Servicio administrado Depende de las características de la carga de trabajo y la complejidad de la configuración del contenedor. Google Kubernetes Engine

    Cuando realices la transición del agente de inicio de contenedores de Compute Engine a una solución alternativa, ten en cuenta los siguientes cambios obligatorios y el posible esfuerzo que implica implementarlos:

    • VMs que ejecutan Container-Optimized OS: Asume la propiedad total de la configuración, la seguridad y el mantenimiento de la VM y el entorno de ejecución del contenedor, lo que a menudo implica la creación de secuencias de comandos con secuencias de comandos de inicio o cloud-init.
    • Cloud Run o Batch: Asegúrate de que tus aplicaciones no tengan estado y se ajusten al modelo de ejecución basado en solicitudes o trabajos. Este enfoque podría implicar la adaptación de las aplicaciones para que funcionen con servicios externos de administración de estados.
    • GKE: Adopta los principios de Kubernetes, define cargas de trabajo con archivos de manifiesto de Kubernetes y administra los recursos del clúster.

    Usa secuencias de comandos de inicio para implementar contenedores en VMs

    Puedes ejecutar un contenedor básico en una VM con una secuencia de comandos de inicio.

    Ten en cuenta los siguientes puntos cuando uses una secuencia de comandos de inicio para configurar contenedores:

    • Puedes usar una secuencia de comandos de inicio para situaciones básicas. Para la configuración avanzada, considera usar cloud-init.
    • Como crearás una VM nueva con un contenedor configurado a través de la secuencia de comandos de inicio, debes planificar la transición de las cargas de trabajo implementadas en las VMs existentes.
    • Prueba y asegúrate de que todo funcione según lo esperado antes de enrutar el tráfico a la VM recién creada con un contenedor.

    Para crear una VM y, luego, implementar un contenedor en una VM o un MIG, haz lo siguiente:

    1. Asigna el contenedor actual en los metadatos de la VM al comando de la secuencia de comandos de inicio
    2. Crea una secuencia de comandos de inicio basada en la configuración de metadatos existente
    3. Crea una VM con la secuencia de comandos de inicio o Crea un MIG con la secuencia de comandos de inicio.

    Asigna los metadatos de tu contenedor al comando docker run

    Puedes asignar los metadatos de la VM o las marcas gcloud a los argumentos de docker run y, luego, incluirlos en tu secuencia de comandos de inicio para crear VMs.

    Algunas marcas de gcloud se traducen directamente a los metadatos de la VM. Estas marcas también se traducen directamente a las marcas de docker run. Si tienes un contenedor existente en una VM, puedes leer la configuración de metadatos de la VM y compilar una secuencia de comandos de inicio con los comandos docker run equivalentes.

      # Get your existing VM instance configuration in yaml format
      gcloud compute instances describe VM_NAME --format="(metadata.items)"
    

    El resultado es similar a este:

      metadata:
        items:
        - key: gce-container-declaration
          value: |
            spec:
              containers:
              - args:
                - '"hello world!"'
                command:
                - echo
                env:
                - name: ONE
                  value: '1'
                image: docker.io/library/busybox
                name: my-instance
                securityContext:
                  privileged: true
                stdin: true
                tty: true
              restartPolicy: Always
        - key: google-logging-enabled
          value: 'true'
    

    Usa la siguiente tabla para asignar la especificación existente a los comandos de docker run:

    Marca de Google Cloud CLI Clave de metadatos de VM Comando docker run
    --container-image containers.image Se especifica como un argumento sin ninguna marca.
    Por ejemplo:
    docker run gcr.io/google-containers/busybox
    --container-command command Se especifica como un argumento sin ninguna marca, después del nombre de la imagen del contenedor.
    Por ejemplo:
    docker run gcr.io/google-containers/busybox echo "hello world"
    --container-arg args Se especifica como un argumento sin ninguna marca, después del comando.
    Por ejemplo:
    docker run gcr.io/google-containers/busybox echo "hello world"
    --container-env containers.env array --env KEY=VALUE [--env KEY=VALUE ...]
    --container-restart-policy restartPolicy --restart
    Los valores posibles son no, on-failure y always. La ruta predeterminada es no
    --container-stdin containers.stdin -i
    Es una marca booleana que es verdadera si está presente y falsa de forma predeterminada.
    --container-tty containers.tty -t
    Es una marca booleana que es verdadera si está presente y falsa de forma predeterminada.
    --container-privileged containers.securityContext.privileged --privileged
    Es una marca booleana que es verdadera si está presente y falsa de forma predeterminada.
    --container-mount-disk - No hay un comando docker run equivalente.
    Puedes activar el disco por separado.

    Ejemplos de secuencias de comandos de inicio

    En los siguientes ejemplos, se muestra cómo incluir los comandos docker en tu secuencia de comandos de inicio:

    • Ejemplo 1: Ejecuta un contenedor independiente en una VM basada en Container-Optimized OS.
    • Ejemplo 2: Ejecuta un contenedor de servidor web en una VM basada en Container-Optimized OS.

    Ejemplo 1

    Ejecuta un contenedor independiente en una VM basada en Container-Optimized OS:

    #!/bin/bash
    
    # A name for the container
    CONTAINER_NAME="my-app-container"
    
    # Stop and remove the container if it exists
    docker stop $CONTAINER_NAME || true
    docker rm $CONTAINER_NAME || true
    
    # Pull the latest version of the container image from Docker Hub
    docker pull busybox:latest
    
    # Run docker container from image in docker hub
    docker run busybox:latest \
      echo "hello world!"
    

    Ejemplo 2

    Ejecuta un contenedor de servidor web en una VM basada en Container-Optimized OS:

    #!/bin/bash
    
    # Enable incoming traffic
    iptables -A INPUT -j ACCEPT
    
    # A name for the container
    CONTAINER_NAME="my-app-container"
    
    # Stop and remove the container if it exists
    docker stop $CONTAINER_NAME || true
    docker rm $CONTAINER_NAME || true
    
    # Pull the latest version of the container image from Docker Hub
    docker pull nginx:latest
    
    # Run docker container from image in docker hub
    docker run \
      --name=$CONTAINER_NAME \
      --privileged \
      --restart=always \
      --tty \
      --detach \
      --network="host" \
      nginx:latest
    

    Opciones de configuración adicionales para la implementación de contenedores

    En esta sección, se describen los parámetros de configuración adicionales para implementar contenedores en tus VMs.

    Para obtener más información sobre estas opciones, consulta Configura opciones para ejecutar un contenedor.

    Acceso a imágenes de Artifact Registry

    Si necesitas acceder a imágenes de contenedor desde gcr.io o pkg.dev, usa la herramienta docker-credential-gcr, que está preinstalada en Container-Optimized OS, y configura la autenticación en Artifact Registry para Docker. Ejecuta el siguiente comando antes de ejecutar el contenedor:

      # Set home directory to save docker credentials
      HOME=/home/appuser
    
      # Configure docker with credentials for gcr.io and pkg.dev
      docker-credential-gcr configure-docker
    

    Para obtener más información, consulta Configura la autenticación en Artifact Registry para Docker.

    Configura el registro

    Te recomendamos que uses Cloud Logging habilitando un agente de Logging en una VM.

    Como alternativa, si deseas cambiar el controlador de registro, puedes incluir el parámetro --log-driver con tu comando docker run:

      # Use Cloud Logging logging driver
      docker run --log-driver=gcplogs nginx:latest
    

    Para obtener más información, consulta Usa Cloud Logging con Container-Optimized OS.

    Configura el firewall interno

    Container-Optimized OS rechaza el tráfico entrante de forma predeterminada, por lo que debes agregar reglas de iptables para permitir ese tráfico. Ten en cuenta que estos comandos configuran el firewall interno del sistema operativo host. Además, debes configurar el firewall de tu nube privada virtual para permitir ese tráfico a la VM nueva.

    Para obtener más información, consulta Usa reglas de firewall de VPC.

      # Enable all incoming and routed traffic
      iptables -A INPUT -p -j ACCEPT
      iptables -A FORWARD -p -j ACCEPT
    

    Para obtener más información, consulta Cómo configurar el firewall del host.

    Conecta volúmenes al contenedor

    Si hay volúmenes adjuntos al contenedor, los metadatos del contenedor incluyen la entrada volumes y un array volumeMounts. El name de una entrada en volumes corresponde al nombre de una entrada en volumeMounts, y viceversa. Para cada volumen que recopiles, reúne la información necesaria del volumes o de la entrada volumeMounts.

    Si no hay volúmenes conectados al contenedor, puedes omitir esta sección y crear una VM directamente con la secuencia de comandos de inicio.

    Para obtener más información sobre los discos y el sistema de archivos en Container-Optimized OS, consulta la descripción general de los discos y el sistema de archivos.

    Activa el sistema de archivos tmpfs

    Para activar un sistema de archivos tmpfs vacío en un contenedor, especifica el argumento --tmpfs con tu comando docker run. Por ejemplo, para activar un sistema de archivos de caché en tu contenedor de Nginx, ejecuta el siguiente comando:

      # mount a cache file system to the nginx container
      docker run -d --name=$CONTAINER_NAME --tmpfs /var/cache/nginx:rw,size=512m,noexec,nosuid,nodev --network="host" nginx:latest
    

    Para obtener más información sobre la activación de sistemas de archivos tmpfs, consulta Activaciones de tmpfs.

    Activa un directorio de host

    Para activar un directorio de una VM host en un contenedor, especifica el argumento --mount con el comando docker run:

      # mount a read-only directory to the nginx container
      docker run -d --name=$CONTAINER_NAME --mount type=bind,source=/var/www/html,target=/usr/share/nginx/html,ro nginx:latest
    

    Para obtener más información, consulta Vinculaciones de montaje.

    Cómo activar un disco persistente en el contenedor

    Activar un disco en el contenedor requiere pasos adicionales. Para activar un disco, primero actívalo en la VM y, luego, actívalo en el contenedor:

    1. Para activar el disco en la VM, ejecuta el siguiente comando:

      #!/bin/bash
      
      DISK_DEVICE_NAME="my-persistent-disk" # This name MUST match the 'device-name' in the gcloud --disk flag
      DISK_BY_ID_PATH="/dev/disk/by-id/google-${DISK_DEVICE_NAME}"
      HOST_MOUNT_POINT="/mnt/disks/my-persistent-disk" # This is the path where the disk will be mounted on the VM
      CONTAINER_MOUNT_PATH="/usr/share/my-persistent-disk" # This is the path where the disk will be mounted in the container
      
      # format a disk as an ext4 filesystem, if it doesn't already contain one
      file -sL $DISK_BY_ID_PATH | grep -q filesystem || \
              mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard $DISK_BY_ID_PATH
      
      # create a directory for mounting point
      sudo mkdir -p "${HOST_MOUNT_POINT}"
      
      # mount a disk to the VM
      sudo mount -o defaults,discard "${DISK_BY_ID_PATH}" "${HOST_MOUNT_POINT}"
      
    2. Después de activar el disco en la VM, agrega la marca --mount con el comando docker run para activar el disco en el contenedor:

      docker run -d --name=$CONTAINER_NAME --mount type=bind,source="${HOST_MOUNT_POINT}",target="${CONTAINER_MOUNT_PATH}",readonly nginx:latest
      

    Crea una VM con la secuencia de comandos de inicio

    Después de crear una secuencia de comandos de inicio con la configuración del contenedor, úsala para crear una VM basada en Container-Optimized OS. Para obtener más información sobre cómo crear una VM basada en Container-Optimized OS, consulta Crea una instancia a partir de una imagen pública.

    Para obtener más información sobre el uso de secuencias de comandos de inicio, consulta Usa secuencias de comandos de inicio en VMs de Linux.

    Console

    1. En la consola de Trusted Cloud , ve a la página Crear una instancia.

      Ir a Crear una instancia

      Si se te solicita, selecciona el proyecto y haz clic en Continuar. Aparecerá la página Crear una instancia y se mostrará el panel Configuración de la máquina.

    2. En el panel Configuración de máquina, selecciona la familia y el tipo de máquina para tu VM.

    3. En el menú de navegación, haz clic en SO y almacenamiento. En el panel Sistema operativo y almacenamiento que aparece, configura el disco de arranque de la siguiente manera:

      1. Haz clic en Cambiar. Aparecerá el panel Disco de arranque con la pestaña Imágenes públicas.
      2. En la lista Sistema operativo, selecciona Container-Optimized OS.
      3. En la lista Versión, selecciona la versión del SO.
      4. En la lista Tipo de disco de arranque, selecciona el tipo de disco de arranque.
      5. (Opcional) Si necesitas discos adicionales, agrégalos en la sección Discos adicionales.
      6. Haz clic en Seleccionar.
    4. En el menú de navegación, haz clic en Opciones avanzadas.

      1. En la sección Automatización, pega la secuencia de comandos de inicio que creaste para la implementación de tu contenedor.
    5. Para crear y, también, iniciar la VM, haz clic en Crear.

    gcloud

    Cuando uses gcloud CLI, almacena una secuencia de comandos de inicio en un archivo independiente.

    1. Para crear una VM con una secuencia de comandos de inicio, ejecuta el siguiente comando:

      gcloud compute instances create VM_NAME \
          --zone=ZONE \
          --image-family=IMAGE_FAMILY \
          --image-project=IMAGE_PROJECT \
          --machine-type=MACHINE_TYPE \
          --metadata-from-file=startup-script=STARTUP_SCRIPT_FILE
      

      Reemplaza lo siguiente:

      • VM_NAME: Nombre de la VM nueva.
      • ZONE: Es la zona en la que se creará la instancia.
      • IMAGE_PROJECT: El proyecto de imagen de Container-Optimized OS que contiene la imagen, por ejemplo, cos-cloud.
      • IMAGE_FAMILY: Es la familia de imágenes del Container-Optimized OS, por ejemplo, cos-stable.
      • MACHINE_TYPE: Es el tipo de máquina de la VM nueva, que puede ser un tipo de máquina predefinido o un tipo de máquina personalizado.
      • STARTUP_SCRIPT_FILE: Es la ruta de acceso relativa en tu máquina al archivo de secuencia de comandos de inicio, por ejemplo, ./startup_script.sh.

      Ejemplo:

      # Create COS-based VM by using a startup script
      gcloud compute instances create "cos-instance-with-startup-script" \
      --zone="us-central1-c" \
      --machine-type="e2-medium" \
      --image-family="cos-stable" \
      --image-project="cos-cloud" \
      --metadata-from-file=startup-script="./startup_script.sh"
      
    2. Ejecuta el siguiente comando para verificar que Compute Engine haya creado la VM:

      gcloud compute instances describe VM_NAME
      

      Reemplaza VM_NAME por el nombre de la VM que creaste.

    Terraform

    Para crear una VM, puedes usar el recurso google_compute_instance.

    provider "google" {
    project = "PROJECT_ID"
    }
    
    resource "google_compute_instance" "cos_vm_instance" {
    name         = "VM_NAME"
    machine_type = "MACHINE_TYPE"
    zone         = "ZONE"
    
    # Use a Container-Optimized OS image for the boot disk
    boot_disk {
      initialize_params {
        image = "IMAGE_PROJECT/IMAGE_FAMILY"
      }
    }
    
    # Attaches the instance to the default network
    network_interface {
      network = "default"
    }
    
    # Specify the relative path to the startup script on your local machine
    metadata = {
      startup-script = file("STARTUP_SCRIPT_FILE")
    }
    }
    

    Reemplaza lo siguiente:

    • VM_NAME: Nombre de la VM nueva
    • ZONE: Es la zona en la que se creará la instancia.
    • IMAGE_PROJECT: El proyecto de imagen de Container-Optimized OS que contiene la imagen, por ejemplo, cos-cloud.
    • IMAGE_FAMILY: La familia de imágenes de Container-Optimized OS, por ejemplo, cos-stable.
    • MACHINE_TYPE: Es el tipo de máquina de la VM nueva, que puede ser un tipo de máquina predefinido o un tipo de máquina personalizado.
    • STARTUP_SCRIPT_FILE: Es la ruta de acceso relativa en tu máquina al archivo de la secuencia de comandos de inicio, por ejemplo, ./startup_script.sh.

    Ejemplo:

    provider "google" {
      project = "my-project"
    }
    
    resource "google_compute_instance" "my_container_vm" {
      name = "my-container-vm-startup"
      machine_type = "e2-medium"
      zone = "us-central1-a"
    
      boot_disk {
        initialize_params {
          image = "cos-cloud/cos-stable"
        }
      }
    
      network_interface {
        network = "default"
      }
    
      metadata = {
        startup-script = file("./startup_script.sh")
      }
    }
    

    Crea un MIG con la secuencia de comandos de inicio

    Después de crear una plantilla de instancias con la secuencia de comandos de inicio, usa uno de los siguientes métodos para crear un MIG.

    Para obtener más información sobre cómo crear MIG, consulta Crea un grupo de instancias administrado.

    Console

    1. Crea una plantilla de instancias basada en la secuencia de comandos de inicio que creaste en la sección anterior.

      1. En la sección Sistema operativo, selecciona un Container Optimized OS y una versión.
      2. En la sección Automatización, pega la secuencia de comandos de inicio que creaste para la implementación del contenedor.
    2. Crea un MIG con la plantilla de instancias que creaste en el paso anterior.

    gcloud

    1. Crea una plantilla de instancias con el comando instance-templates create.

      Debes usar una imagen de Container-Optimized OS para la VM. Puedes especificar la ruta de acceso relativa al archivo de secuencia de comandos de inicio en la marca --metadata-from-file.

    2. Crea un MIG con la plantilla de instancias que creaste en el paso anterior.

    Ejemplo:

      # Create the instance template that uses a startup script
      gcloud compute instance-templates create startup-template \
          --machine-type=e2-medium \
          --image-family=cos-stable \
          --image-project=cos-cloud \
          --metadata-from-file=startup-script=./startup_script.sh
    
      # Create the managed instance group
        gcloud compute instance-groups managed create startup-mig \
          --template=startup-template \
          --size=2 \
          --zone=us-central1-a
    

    Terraform

    Usa los recursos google_compute_instance_template y google_compute_instance_group_manager para crear una plantilla de instancias y un MIG, como se muestra en el siguiente ejemplo:

    Ejemplo:

    resource "google_compute_instance_template" "startup_template" {
      name_prefix = "startup-template-"
      machine_type = "e2-medium"
      disk {
        source_image = "cos-cloud/cos-stable"
        auto_delete  = true
        boot         = true
      }
    
      network_interface {
        network = "default"
      }
      metadata = {
        startup-script = file("./startup_script.sh")
    }
    }
    
    resource "google_compute_instance_group_manager" "startup_mig" {
      name               = "startup-mig"
      base_instance_name = "startup-vm"
      zone               = "us-central1-a"
      version {
        instance_template = google_compute_instance_template.startup_template.id
      }
      target_size = 2
    }
    

    Prueba y libera almacenamiento

    Después de crear correctamente una VM o un MIG, valida que tu aplicación se ejecute en el contenedor y funcione según lo esperado. Para solucionar cualquier problema, consulta Solución de problemas.

    Si la aplicación se ejecuta correctamente en las VMs nuevas creadas con la secuencia de comandos de inicio, puedes borrar las VMs y los MIGs que usan el método de implementación de contenedores que dejó de estar disponible.

    Soluciona problemas

    Para solucionar los problemas que pueden ocurrir cuando configuras contenedores en VMs con una secuencia de comandos de inicio, consulta los registros de la secuencia de comandos de inicio y los registros del contenedor.

    • Para ver los registros de la secuencia de comandos de inicio en la instancia de VM, ejecuta el siguiente comando:

      sudo journalctl | grep "startup script"
      
    • Para ver los registros del contenedor de Docker, ejecuta el comando docker logs:

      docker logs CONTAINER_NAME
      

      Reemplaza CONTAINER_NAME con el nombre de tu contenedor.

    Para solucionar otros problemas, consulta los siguientes documentos:

    Usa cloud-init con Container-Optimized OS

    Puedes usar cloud-init, una solución multiplataforma y estándar de la industria, para implementar contenedores en VMs que ejecutan Container-Optimized OS. Esta herramienta te permite ejecutar una configuración personalizada durante la creación o el inicio de la VM. Para obtener más información, consulta Usa cloud-init con el formato de configuración de Cloud.

    Usa servicios administrados para la implementación de contenedores

    En esta sección, se describen los servicios administrados que proporciona Trusted Cloud by S3NS y que puedes usar para implementar contenedores.

    Cloud Run

    Cloud Run es una buena opción para las aplicaciones de contenedores sin estado y los trabajos pequeños o medianos.

    Estas son algunas de las funciones clave de Cloud Run:

    • Puedes elegir asignar CPUs solo durante el procesamiento de solicitudes o asignarlas siempre.
    • Puedes ejecutar una aplicación de contenedor sin estado o ejecutar un trabajo como único, según un programa o como parte de un flujo de trabajo.
    • Puedes configurar tiempos de espera para cada solicitud o tarea.
    • Es altamente escalable y seguro.
    • Tiene balanceo de cargas y ajuste de escala automático integrados.

    Para obtener más información sobre la implementación de contenedores en Cloud Run, consulta Implementa imágenes de contenedor en Cloud Run.

    Lote

    Batch es un servicio completamente administrado que te permite programar, poner en cola y ejecutar cargas de trabajo de procesamiento por lotes en recursos de Trusted Cloud by S3NS . Está diseñado para ejecutar cargas de trabajo paralelizables de estilo por lotes, incluidas las que se empaquetan en contenedores.

    Para obtener más información sobre la implementación de contenedores en Batch, consulta los siguientes documentos:

    Google Kubernetes Engine

    Si ejecutas aplicaciones complejas, microservicios, operaciones continuas y necesitas un control y una escalabilidad detallados, Google Kubernetes Engine (GKE) es la oferta más adecuada. Para obtener más información sobre la implementación de contenedores en GKE, consulta los siguientes documentos:

    Obtenga asistencia

    Si tienes preguntas sobre el proceso de migración o necesitas ayuda, consulta las preguntas frecuentes o comunícate con el Trusted Cloud equipo de asistencia.