Configurar una política de almacenamiento

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

Información general

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

En Google Distributed Cloud, puede especificar políticas de almacenamiento como alternativa a la especificación de datastores. Defines las políticas de almacenamiento en función de los requisitos de tu aplicación y, a continuación, vSphere selecciona y gestiona los almacenes de datos automáticamente. De esta forma, se pueden reducir los costes y el mantenimiento asociados al almacenamiento.

Herencia

Puedes especificar una política de almacenamiento para un clúster de usuarios, un grupo de nodos de un clúster de usuarios o un conjunto de nodos de plano de control de un clúster de usuarios. También puedes especificar una política de almacenamiento para un clúster de administrador siempre que este tenga un plano de control de alta disponibilidad y no tenga ningún grupo 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 heredarán esa política. Si especificas una política de almacenamiento para un grupo de nodos concreto, se usará esa política en lugar de la política de almacenamiento a nivel de clúster. Del mismo modo, si especificas un almacén de datos para un grupo de nodos concreto, se usará ese almacén de datos en lugar de la política de almacenamiento a nivel de clúster.

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

Aplicar políticas de almacenamiento a 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: crear una política de almacenamiento y un clúster de usuarios

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

Aplicar etiquetas a 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 vayas a usar en este ejercicio. Hay una comprobación preparatoria que verifica esto.

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

  • Etiquetado de vSphere.Crear etiqueta de vSphere
  • Etiquetado de vSphere.Crear categoría de etiqueta de vSphere
  • Etiquetado de vSphere.Asignar o quitar una etiqueta de vSphere

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

Para obtener más información, consulta Etiquetas y atributos de vSphere.

Crear una política de almacenamiento

En el cliente de vSphere, crea una política de almacenamiento de VMs para la colocación basada en etiquetas. En la política de almacenamiento, especifica la etiqueta que has aplicado a los almacenes de datos que has elegido. Para obtener instrucciones, consulta Crear una política de almacenamiento de VMs para la colocación basada en etiquetas.

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

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

Crear clúster de usuarios

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

Para empezar, sigue las instrucciones de Crear un clúster de usuarios.

Cuando rellenes el archivo de configuración del clúster de usuarios, ten en cuenta lo siguiente:

  • Asigna a vCenter.storagePolicyName el nombre de una política de almacenamiento. No asignes ningún valor a vCenter.datastore.

  • Especifica dos grupos de nodos. En el primer grupo de nodos, no especifiques ningún almacén de datos ni ninguna política de almacenamiento. En el segundo grupo de nodos, asigna el valor de vsphere.datastore al nombre de un almacén de datos.

Ejemplo de archivo de configuración de clúster

A continuación, se muestra un ejemplo de un archivo de bloque de IPs y una parte de un archivo de configuración de clúster de usuarios.

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 tener en cuenta en el ejemplo anterior:

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

  • 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 usuario. No es necesario tener una dirección IP adicional en este bloque.

  • El campo masterNode.replicas se ha definido como 3, por lo que habrá tres nodos del plano de control. En masterNode, no se ha especificado 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 usuarios incluye un valor para vCenter.storagePolicy, pero no 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 ha especificado 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.

Sigue creando el clúster de usuarios tal como se describe en Crear un clúster de usuarios.

Crear un clúster de usuarios en un centro de datos independiente del clúster de administrador

Un clúster de usuarios 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 instancias diferentes de vCenter Server.

En esta sección se muestra un ejemplo de cómo crear un clúster de usuarios que utilice una instancia independiente de vCenter Server del clúster de administración. Como los clústeres de usuario y de administrador usan instancias independientes de vCenter Server, también se encuentran en centros de datos independientes.

Para empezar, sigue las instrucciones de Crear un clúster de usuarios.

Cuando rellenes el archivo de configuración del clúster de usuarios, ten en cuenta lo siguiente:

  • Asigna a vCenter.storagePolicyName el nombre de una política de almacenamiento. No asignes ningún valor a vCenter.datastore.

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

  • Especifica un valor para network.vCenter.networkName.

  • Especifica dos grupos de nodos. En el primer grupo de nodos, no especifiques ningún almacén de datos ni ninguna política de almacenamiento. En el segundo grupo de nodos, asigna el valor de vsphere.datastore al nombre de un almacén de datos.

Ejemplo de archivo de configuración de clúster

A continuación, se muestra un ejemplo de un archivo de bloque de IPs y una parte de un archivo de configuración de clúster de usuarios.

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 tener en cuenta en el ejemplo anterior:

  • El archivo de configuración del clúster de usuarios incluye un valor para vCenter.storagePolicy, pero no para vCenter.datastore. Los nodos de cualquier grupo de nodos 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 vCenter, se especifican los valores de address, datacenter, cluster y resourcePool. Por lo tanto, el clúster de usuarios usará un servidor vCenter, un centro de datos, un clúster de vSphere y un pool de recursos distintos del clúster de administrador.

  • Se ha especificado un valor para network.vCenter.networkName.

  • El campo masterNode.replicas se ha definido como 3, por lo que habrá tres nodos del plano de control. En masterNode, no se ha especificado 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 ha especificado 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.

Sigue creando el clúster de usuarios tal como se describe en Crear un clúster de usuarios.

Siguientes pasos