Cree un MIG con discos con estado


Este documento describe cómo crear un grupo de instancias administrado (MIG) que conserve los datos en los discos con un nombre de dispositivo determinado para todas las máquinas virtuales del MIG, incluso en caso de recreación de la máquina virtual, por ejemplo, cuando una máquina virtual en el MIG se repara, actualiza o recrea automáticamente. Preservar discos es útil para determinadas cargas de trabajo, por ejemplo, para bases de datos o aplicaciones heredadas.

Además de preservar los discos para todas las máquinas virtuales del grupo, también puede configurar un MIG con estado para lo siguiente:

  • Puede agregar y conservar discos específicos de instancia.
  • Puede agregar y conservar metadatos específicos de la instancia.
  • Puede agregar y conservar direcciones IP.

Para obtener más información, consulte la descripción general de MIG con estado .

También puedes leer sobre otros escenarios básicos para crear un MIG .

Antes de comenzar

  • Cree una plantilla de instancias , que es necesaria para crear un grupo de instancias administrado.
  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. Terraform

      Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

      1. Install the Google Cloud CLI.
      2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      3. To initialize the gcloud CLI, run the following command:

        gcloud init
      4. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

        If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.

      Para obtener más información, consulta Set up authentication for a local development environment.

      REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

Limitaciones

Un MIG con configuración con estado —un MIG con estado —tiene las siguientes limitaciones:

  • No puede utilizar el escalado automático si su MIG tiene una configuración con estado.
  • Si desea utilizar actualizaciones continuas automáticas, debe configurar el método de reemplazo en RECREATE .
  • Para MIG regionales con estado, debe deshabilitar la redistribución proactiva (establezca el tipo de redistribución en NONE ) para evitar la eliminación de instancias con estado mediante la redistribución automática entre zonas.
  • Si utiliza una configuración de todas las instancias para anular las propiedades de la plantilla de instancias, no puede especificar esas propiedades en ninguna configuración por instancia y al mismo tiempo en la configuración de todas las instancias del grupo.

Para ver la lista completa de limitaciones de MIG, que varía según la configuración que utilice, consulte Limitaciones de MIG .

Cree un MIG con discos con estado

Utilice la consola de Google Cloud , la CLI de gcloud , Terraform o REST .

Consola

  1. Vaya a la página de grupos de instancias .

    Ir a grupos de instancias

    Los pasos restantes aparecen en la consola de Google Cloud.

  2. Hacer clic Crear grupo de instancias .
  3. Seleccione el Nuevo grupo de instancias administrado (con estado) opción.
  4. Asigne un nombre y, opcionalmente, una descripción a su grupo de instancias.
  5. Elige una plantilla de instancias para el grupo de instancias o crea una nueva .
  6. En el Número de instancias , especifique el número inicial de máquinas virtuales que necesita en este grupo.
  7. En el Configuración con estado sección, en Configuración de grupo , haga clic en el disco que desea convertir en estado y luego realice los siguientes pasos.
    1. En la sección Con estado , seleccione .
    2. En la lista Al eliminar la instancia permanente , elija si desea desconectar el disco o eliminarlo cuando elimine permanentemente la máquina virtual.
    3. Para guardar la configuración, haga clic en Listo .
  8. Para crear el MIG, haga clic en Crear .

nube de gcloud

Para especificar qué discos de la plantilla de instancias deben tener estado en la creación de MIG, usa la marca --stateful-disk con el gcloud compute instance-groups managed create :

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --template INSTANCE_TEMPLATE \
    --size SIZE \
    --stateful-disk device-name=DEVICE_NAME[,auto-delete=DELETE_RULE]

Reemplace lo siguiente:

  • INSTANCE_GROUP_NAME : el nombre del grupo de instancias administrado que se creará.
  • INSTANCE_TEMPLATE : el nombre de la plantilla de instancia que se utilizará al crear instancias. Para una plantilla de instancia regional, debe especificar la URL completa o parcial de la plantilla. Un ejemplo de una URL completa es https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template y una URL parcial es projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template .
  • SIZE : la cantidad inicial de máquinas virtuales que necesita en este grupo.
  • DEVICE_NAME : el nombre del dispositivo de un disco especificado en la plantilla de instancia.
  • DELETE_RULE : un valor que prescribe lo que debe suceder con un disco con estado cuando se elimina una máquina virtual. Las opciones disponibles son:

    • never : (predeterminado). Nunca elimine el disco; en su lugar, desconecte el disco cuando se elimine su VM.
    • on-permanent-instance-deletion : elimina el disco cuando su instancia de VM se elimina permanentemente del grupo de instancias, por ejemplo, cuando la instancia administrada se elimina manualmente o cuando se reduce el tamaño del grupo.

    Independientemente del valor de la regla de eliminación, los discos con estado siempre se conservan en las operaciones de recuperación, actualización y recreación automática de la máquina virtual.

Terraformar

Si aún no ha creado una plantilla de instancia, que especifica el tipo de máquina, la imagen del disco de arranque, la red y otras propiedades de VM que desea para cada VM en su MIG, cree una plantilla de instancia .

Para especificar qué discos de la plantilla de instancia deben tener estado en la creación de MIG, incluya el bloque stateful_disk . El siguiente ejemplo crea un MIG zonal con discos con estado. Para obtener más información sobre el recurso que se utiliza en el ejemplo, consulte recurso google_compute_instance_group_manager .

resource "google_compute_instance_group_manager" "default" {
  name               = "igm-stateful-disk-basic"
  zone               = "us-central1-f"
  base_instance_name = "instance"
  target_size        = 1

  version {
    instance_template = google_compute_instance_template.default.id
  }

  stateful_disk {
    device_name = "example-disk"
    delete_rule = "NEVER"
  }

}

Para aprender cómo aplicar o eliminar una configuración de Terraform, consulte Comandos básicos de Terraform .

DESCANSAR

Para especificar qué discos de la plantilla de instancia deben tener estado en la creación de MIG, inclúyalos en el campo statefulPolicy en el cuerpo de su solicitud. Para un MIG zonal, utilice el método instanceGroupManagers.insert o para un MIG regional, utilice el método regionInstanceGroupManagers.insert .

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers

{
  "name": "NAME",
  "versions": [
    {
      "instanceTemplate": "global/instanceTemplates/TEMPLATE"
    }
  ],
  "targetSize": SIZE,
  "statefulPolicy": {
    "preservedState": {
      "disks": {
        "DEVICE_NAME": {"autoDelete": "DELETE_RULE" },
        "DEVICE_NAME": {"autoDelete": "DELETE_RULE" }
      }
    }
  }
}

Reemplace lo siguiente:

  • PROJECT : El ID del proyecto para la solicitud.
  • ZONE : La zona donde se encuentra el MIG (aplica a un MIG zonal).
    • Para un MIG regional, reemplace zones/ ZONE con regions/ REGION y especifique la región del MIG.
  • NAME : El nombre del MIG a crear.
  • TEMPLATE : El nombre de la plantilla de instancia que se utilizará al crear instancias.
  • SIZE : El número inicial de instancias que necesita en este grupo.
  • DEVICE_NAME : el nombre del dispositivo de un disco especificado en la plantilla de instancia.
  • DELETE_RULE : un valor que prescribe lo que debe suceder con el disco con estado cuando se elimina la instancia de VM. Las opciones disponibles son:

    • never : (predeterminado). Nunca elimine el disco; desconecte el disco cuando se elimine la VM.
    • on_permanent_instance_deletion : elimina el disco con estado cuando su VM se elimina permanentemente del grupo de instancias, por ejemplo, cuando la instancia administrada se elimina manualmente o cuando se reduce el tamaño del grupo.

    Independientemente del valor de la regla de eliminación, los discos con estado siempre se conservan en las operaciones de recuperación automática, actualización y recreación de la instancia.

¿Qué sigue?