Configura una política de almacenamiento

En este documento, se muestra cómo configurar una política de almacenamiento de VM para un clúster de Google Distributed Cloud.

Descripción general

En vSphere, la administración basada en políticas de almacenamiento (SPBM) ayuda a alinear el almacenamiento con las demandas de aplicaciones de las máquinas virtuales. Proporciona un marco de políticas de almacenamiento que funciona como un panel de control unificado en una amplia variedad de servicios de datos y soluciones de almacenamiento.

En Google Distributed Cloud, puedes especificar políticas de almacenamiento como una alternativa a la especificación de datastores. Defines políticas de almacenamiento según los requisitos de tu aplicación y, luego, vSphere selecciona y administra los almacenes de datos automáticamente. Esto puede reducir la sobrecarga y el mantenimiento asociados con el almacenamiento.

Herencia

Puedes especificar una política de almacenamiento para un clúster de usuario, un grupo de nodos en un clúster de usuario o un conjunto de nodos del plano de control en un clúster de usuario. También puedes especificar una política de almacenamiento para un clúster de administrador, siempre y cuando este tenga un plano de control con alta disponibilidad y no tenga grupos de nodos de Windows.

Si especificas una política de almacenamiento para un clúster de usuario, los grupos de nodos del clúster de usuario heredan esa política. Si especificas una política de almacenamiento para un grupo de nodos individual, se usa esa política en lugar de la política de almacenamiento a nivel del clúster. Del mismo modo, si especificas un almacén de datos para un grupo de nodos individual, se usa ese almacén de datos en lugar de la política de almacenamiento a nivel del clúster.

En un clúster de usuario que tiene habilitado Controlplane V2, los nodos del plano de control heredan la política de almacenamiento a nivel del clúster. Si especificas una política de almacenamiento o un almacén de datos para los nodos del plano de control, se usa esa política de almacenamiento o ese almacén de datos en lugar de la política de almacenamiento a nivel del clúster.

Aplica políticas de almacenamiento a los almacenes de datos

Puedes aplicar una política de almacenamiento a un solo almacén de datos o a varios. Si aplicas una política de almacenamiento a varios almacenes de datos, los recursos de almacenamiento de un clúster de administrador, un clúster de usuario o un grupo de nodos se pueden distribuir entre los almacenes de datos.

Ejemplo: Crea una política de almacenamiento y un clúster de usuario

En esta sección, se muestra un ejemplo de cómo crear una política de almacenamiento y un clúster de usuario. En este ejemplo, se ilustra la idea de que una política de almacenamiento se puede aplicar a dos almacenes de datos.

Aplica etiquetas a los almacenes de datos

Para seguir los pasos de este ejemplo, tu entorno de vSphere debe tener al menos dos datastores.

El clúster de vSphere que alojará los nodos de tu clúster de usuario debe tener acceso a los almacenes de datos que planeas usar para este ejercicio. Hay una verificación previa que verifica esto.

La cuenta de vCenter que usas para aplicar etiquetas debe tener los siguientes privilegios de etiquetado de vSphere en el servidor raíz de vCenter:

  • vSphere Tagging.Create vSphere Tag
  • Categoría de etiquetas vSphere Tagging.Create vSphere
  • vSphere Tagging.Assign o Unassign vSphere Tag

En vSphere Client, asigna la misma etiqueta a cada uno de los almacenes de datos que elegiste usar para este ejercicio. Para obtener instrucciones, consulta Asigna etiquetas a los almacenes de datos.

Para obtener más información, consulta vSphere Tags and Attributes (Etiquetas y atributos de vSphere).

Crea una política de almacenamiento

En vSphere Client, crea una política de almacenamiento de VM para la posición basada en etiquetas. En la política de almacenamiento, especifica la etiqueta que aplicaste a los almacenes de datos que elegiste. Para obtener instrucciones, consulta Crea una política de almacenamiento de VM para la colocación basada en etiquetas.

Para obtener más información, consulta Política de almacenamiento de la VM.

Si usas un almacén de datos de vSAN, consulta Política de almacenamiento de vSAN.

Crea un clúster de usuario

En este ejercicio, crearás un clúster de usuario que tenga un plano de control de alta disponibilidad, por lo que habrá tres nodos de plano de control. Además de los nodos del plano de control, hay seis nodos trabajadores: tres en un grupo de nodos y tres en un segundo grupo de nodos. Todos los nodos usan direcciones IP estáticas.

Comienza por seguir las instrucciones en Crea un clúster de usuario.

Cuando completes el archivo de configuración del clúster de usuario, haz lo siguiente:

  • Establece el valor de vCenter.storagePolicyName en el nombre de una política de almacenamiento existente. No establezcas un valor para vCenter.datastore.

  • Especifica dos grupos de nodos. Para el primer grupo de nodos, no especifiques un almacén de datos ni una política de almacenamiento. Para el segundo grupo de nodos, establece el valor de vsphere.datastore en el nombre de un almacén de datos existente.

Ejemplo de archivo de configuración del clúster

Este es un ejemplo de un archivo de bloque de IP y una parte de un archivo de configuración de clúster de usuario.

user-ipblock.yaml

blocks:
  - netmask: 255.255.255.0
    gateway: 172.16.21.1
    ips:
    - ip: 172.16.21.2
    - ip: 172.16.21.3
    - ip: 172.16.21.4
    - ip: 172.16.21.5
    - ip: 172.16.21.6
    - ip: 172.16.21.7
    - ip: 172.16.21.8

user-cluster-yaml

apiVersion: v1
kind: UserCluster
...
vCenter:
  storagePolicyName: "my-storage-policy"
network:
  hostConfig:
    dnsServers:
    - "203.0.113.2"
    - "198.51.100.2"
    ntpServers:
    - "216.239.35.4"
  ipMode:
    type: "static"
    ipBlockFilePath: "user-ipblock.yaml"
  controlPlaneIPBlock:
    netmask: "255.255.255.0"
    gateway: "172.16.21.1"
    ips:
    - ip: "172.16.21.9"
      hostname: "cp-vm-1"
    - ip: "172.16.21.10"
      hostname: "cp-vm-2"
    - ip: "172.16.21.11"
      hostname: "cp-vm-3"
loadBalancer:
  vips:
    controlPlaneVIP: "172.16.21.40"
    ingressVIP: "172.16.21.30"
  kind: MetalLB
  metalLB:
    addressPools:
    - name: "address-pool-1"
      addresses:
    - "172.16.21.30-172.16.21.39"
...
enableControlplaneV2: true
masterNode:
  cpus: 4
  memoryMB: 8192
  replicas: 3
nodePools:
- name: "worker-pool-1"
  enableLoadBalancer: true
- name: "worker-pool-2"
  vSphere:
    datastore: "my-np2-datastore"
...

Estos son los puntos importantes que debes comprender en el ejemplo anterior:

  • Las direcciones IP estáticas de los nodos trabajadores se especifican en un archivo de bloque de IP. El archivo de bloque de IP tiene siete direcciones, aunque solo hay seis nodos de trabajo. La dirección IP adicional es necesaria durante las actualizaciones y la reparación automática del clúster.

  • Las direcciones IP estáticas de los tres nodos del plano de control se especifican en la sección network.controlPlaneIPBlock del archivo de configuración del clúster de usuarios. No es necesario tener una dirección IP adicional en este bloque.

  • El campo masterNode.replicas está configurado como 3, por lo que habrá tres nodos de plano de control. En masterNode, no se especifica nada para vsphere.datastore ni vsphere.storagePolicyName. Por lo tanto, los nodos del plano de control usarán la política de almacenamiento especificada en vCenter.storagePolicyName.

  • El archivo de configuración del clúster de usuario incluye un valor para vCenter.storagePolicy, pero no incluye un valor para vCenter.datastore. Los nodos de cualquier grupo que no especifique su propia política de almacenamiento o su propio almacén de datos usarán la política de almacenamiento especificada.

  • En node-pool-1, no se especifica nada para vsphere.datastore ni vsphere.storagePolicyName. Por lo tanto, los nodos de node-pool-1 usarán la política de almacenamiento especificada en vCenter.storagePolicyName.

  • En node-pool-2, el valor de vsphere.datastore es my-np2-datastore, por lo que los nodos de node-pool-2 usan ese almacén de datos y no usan una política de almacenamiento.

Continúa creando tu clúster de usuario, como se describe en Crea un clúster de usuario.

Crea un clúster de usuario en un centro de datos independiente del clúster de administrador

Un clúster de usuario puede estar en un centro de datos independiente del clúster de administrador. Los dos centros de datos pueden usar la misma instancia de vCenter Server o diferentes instancias de vCenter Server.

En esta sección, se muestra un ejemplo de cómo crear un clúster de usuario que usa una instancia separada de vCenter Server del clúster de administrador. Dado que los clústeres de administrador y de usuario usan instancias separadas de vCenter Server, también se encuentran en centros de datos separados.

Comienza por seguir las instrucciones en Crea un clúster de usuario.

Cuando completes el archivo de configuración del clúster de usuario, haz lo siguiente:

  • Establece el valor de vCenter.storagePolicyName en el nombre de una política de almacenamiento existente. No establezcas un valor para vCenter.datastore.

  • En vCenter, especifica valores para address, datacenter, cluster y resourcePool.

  • Especifica un valor para network.vCenter.networkName.

  • Especifica dos grupos de nodos. Para el primer grupo de nodos, no especifiques un almacén de datos ni una política de almacenamiento. Para el segundo grupo de nodos, establece el valor de vsphere.datastore en el nombre de un almacén de datos existente.

Ejemplo de archivo de configuración del clúster

Este es un ejemplo de un archivo de bloque de IP y una parte de un archivo de configuración de clúster de usuario.

user-ipblock.yaml

blocks:
  - netmask: 255.255.255.0
    gateway: 172.16.21.1
    ips:
    - ip: 172.16.21.2
    - ip: 172.16.21.3
    - ip: 172.16.21.4
    - ip: 172.16.21.5
    - ip: 172.16.21.6
    - ip: 172.16.21.7
    - ip: 172.16.21.8

user-cluster-yaml

apiVersion: v1
kind: UserCluster
...
vCenter:
  address: "my-vcenter-server-2.my-domain.example"
  datacenter: "my-uc-data-center"
  cluster: "my-uc-vsphere-cluster"
  resourcePool: "my-uc-resource-pool"
  storagePolicyName: "my-storage-policy"
network:
  vCenter:
    networkName: "my-uc-network"
  hostConfig:
    dnsServers:
    - "203.0.113.2"
    - "198.51.100.2"
    ntpServers:
    - "216.239.35.4"
  ipMode:
    type: "static"
    ipBlockFilePath: "user-ipblock.yaml"
  controlPlaneIPBlock:
    netmask: "255.255.255.0"
    gateway: "172.16.21.1"
    ips:
    - ip: "172.16.21.9"
      hostname: "cp-vm-1"
    - ip: "172.16.21.10"
      hostname: "cp-vm-2"
    - ip: "172.16.21.11"
      hostname: "cp-vm-3"
loadBalancer:
  vips:
    controlPlaneVIP: "172.16.21.40"
    ingressVIP: "172.16.21.30"
  kind: MetalLB
  metalLB:
    addressPools:
    - name: "address-pool-1"
      addresses:
    - "172.16.21.30-172.16.21.39"
...
enableControlplaneV2: true
masterNode:
  cpus: 4
  memoryMB: 8192
  replicas: 3
nodePools:
- name: "worker-pool-1"
  enableLoadBalancer: true
- name: "worker-pool-2"
  vSphere:
    datastore: "my-np2-datastore"
...

Estos son los puntos importantes que debes comprender en el ejemplo anterior:

  • El archivo de configuración del clúster de usuario incluye un valor para vCenter.storagePolicy, pero no incluye un valor para vCenter.datastore. Los nodos de cualquier grupo de nodos que no especifique su propia política de almacenamiento ni su propio almacén de datos usarán la política de almacenamiento especificada.

  • En vCenter, se especifican valores para address, datacenter, cluster y resourcePool. Por lo tanto, el clúster de usuario usará un vCenter Server, un centro de datos, un clúster de vSphere y un grupo de recursos diferentes del clúster de administrador.

  • Se especificó un valor para network.vCenter.networkName.

  • El campo masterNode.replicas está configurado como 3, por lo que habrá tres nodos de plano de control. En masterNode, no se especifica nada para vsphere.datastore ni vsphere.storagePolicyName. Por lo tanto, los nodos del plano de control usarán la política de almacenamiento especificada en vCenter.storagePolicyName.

  • En node-pool-1, no se especifica nada para vsphere.datastore ni vsphere.storagePolicyName. Por lo tanto, los nodos de node-pool-1 usarán la política de almacenamiento especificada en vCenter.storagePolicyName.

  • En node-pool-2, el valor de vsphere.datastore es my-np2-datastore, por lo que los nodos de node-pool-2 usan ese almacén de datos y no usan una política de almacenamiento.

Continúa creando tu clúster de usuario, como se describe en Crea un clúster de usuario.

¿Qué sigue?