Configure uma política de armazenamento

Este documento mostra como configurar uma política de armazenamento de VMs para um cluster do Google Distributed Cloud.

Vista geral

No vSphere, a gestão baseada em políticas de armazenamento (SPBM) ajuda a alinhar o armazenamento com as exigências das aplicações das máquinas virtuais. Fornece uma framework de políticas de armazenamento que funciona como um único painel de controlo unificado numa vasta gama de serviços de dados e soluções de armazenamento.

No Google Distributed Cloud, pode especificar políticas de armazenamento como uma alternativa à especificação de datastores. Define políticas de armazenamento com base nos requisitos da sua aplicação e, em seguida, o vSphere seleciona e gere automaticamente os arquivos de dados. Isto pode reduzir a sobrecarga e a manutenção associadas ao armazenamento.

Herança

Pode especificar uma política de armazenamento para um cluster de utilizadores, um conjunto de nós num cluster de utilizadores ou um conjunto de nós do plano de controlo num cluster de utilizadores. Também pode especificar uma política de armazenamento para um cluster de administrador, desde que o cluster de administrador tenha um plano de controlo de alta disponibilidade e não tenha nenhum conjunto de nós do Windows.

Se especificar uma política de armazenamento para um cluster de utilizadores, a política é herdada pelos conjuntos de nós no cluster de utilizadores. Se especificar uma política de armazenamento para um grupo de nós individual, essa política é usada em vez da política de armazenamento ao nível do cluster. Da mesma forma, se especificar um arquivo de dados para um conjunto de nós individual, esse arquivo de dados é usado em vez da política de armazenamento ao nível do cluster.

Num cluster de utilizadores com o Controlplane V2 ativado, a política de armazenamento ao nível do cluster é herdada pelos nós do plano de controlo. Se especificar uma política de armazenamento ou um arquivo de dados para os nós do plano de controlo, essa política de armazenamento ou arquivo de dados é usado em vez da política de armazenamento ao nível do cluster.

Aplicar políticas de armazenamento a arquivos de dados

Pode aplicar uma política de armazenamento a um único arquivo de dados ou a vários arquivos de dados. Se aplicar uma política de armazenamento a vários arquivos de dados, os recursos de armazenamento para um cluster de administrador, um cluster de utilizador ou um conjunto de nós podem ser distribuídos pelos arquivos de dados.

Exemplo: crie uma política de armazenamento e um cluster de utilizadores

Esta secção dá um exemplo de criação de uma política de armazenamento e um cluster de utilizadores. Este exemplo ilustra a ideia de que uma política de armazenamento pode aplicar-se a dois arquivos de dados.

Aplique etiquetas a armazéns de dados

Para realizar os passos neste exemplo, o seu ambiente vSphere tem de ter, pelo menos, dois datastores.

O cluster do vSphere que vai alojar os nós do cluster de utilizadores tem de ter acesso aos armazenamentos de dados que planeia usar para este exercício. Existe uma verificação prévia que valida esta situação.

A conta do vCenter que usa para aplicar etiquetas tem de ter os seguintes privilégios de etiquetagem do vSphere no servidor vCenter raiz:

  • Etiquetagem do vSphere.Crie uma etiqueta do vSphere
  • Etiquetagem do vSphere.Crie uma categoria de etiquetas do vSphere
  • Etiquetagem do vSphere.Atribua ou desatribua uma etiqueta do vSphere

No vSphere Client, atribua a mesma etiqueta a cada um dos arquivos de dados que escolheu usar para este exercício. Para ver instruções, consulte o artigo Atribua etiquetas a arquivos de dados.

Para mais informações, consulte o artigo Etiquetas e atributos do vSphere.

Crie uma política de armazenamento

No vSphere Client, crie uma política de armazenamento de VMs para posicionamento baseado em etiquetas. Na política de armazenamento, especifique a etiqueta que aplicou aos arquivos de dados escolhidos. Para ver instruções, consulte o artigo Crie uma política de armazenamento de VMs para o posicionamento baseado em etiquetas.

Para mais informações, consulte a política de armazenamento de VMs.

Se estiver a usar um arquivo de dados vSAN, consulte a política de armazenamento vSAN.

Crie um cluster de utilizadores

Neste exercício, cria um cluster de utilizadores que tem um plano de controlo de alta disponibilidade, pelo que existem três nós do plano de controlo. Além dos nós do plano de controlo, existem seis nós de trabalho, três num conjunto de nós e três num segundo conjunto de nós. Todos os nós usam endereços IP estáticos.

Comece por seguir as instruções em Crie um cluster de utilizadores.

À medida que preenche o ficheiro de configuração do cluster de utilizadores:

  • Defina o valor de vCenter.storagePolicyName para o nome de uma política de armazenamento existente. Não defina um valor para vCenter.datastore.

  • Especifique dois node pools. Para o primeiro conjunto de nós, não especifique um arquivo de dados nem uma política de armazenamento. Para o segundo conjunto de nós, defina o valor de vsphere.datastore para o nome de um arquivo de dados existente.

Exemplo de ficheiro de configuração do cluster

Segue-se um exemplo de um ficheiro de bloqueio de IPs e uma parte de um ficheiro de configuração de cluster de utilizadores.

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"
...

Seguem-se os pontos importantes a compreender no exemplo anterior:

  • Os endereços IP estáticos dos nós de trabalho são especificados num ficheiro de blocos de IP. O ficheiro de bloqueio de IP tem sete endereços, embora existam apenas seis nós de trabalho. O endereço IP adicional é necessário durante a atualização, a atualização e a reparação automática do cluster.

  • Os endereços IP estáticos para os três nós do plano de controlo são especificados na secção network.controlPlaneIPBlock do ficheiro de configuração do cluster de utilizadores. Não é necessário um endereço IP adicional neste bloco.

  • O campo masterNode.replicas está definido como 3, pelo que existem três nós do plano de controlo. Em masterNode, não é especificado nada para vsphere.datastore ou vsphere.storagePolicyName. Assim, os nós do plano de controlo usam a política de armazenamento especificada em vCenter.storagePolicyName.

  • O ficheiro de configuração do cluster de utilizadores inclui um valor para vCenter.storagePolicy, mas não inclui um valor para vCenter.datastore. A política de armazenamento especificada é usada pelos nós em qualquer conjunto que não especifique a sua própria política de armazenamento ou o seu próprio armazenamento de dados.

  • Em node-pool-1, não foi especificado nada para vsphere.datastore ou vsphere.storagePolicyName. Assim, os nós em node-pool-1 vão usar a política de armazenamento especificada em vCenter.storagePolicyName.

  • Em node-pool-2, o valor de vsphere.datastore é my-np2-datastore. Assim, os nós em node-pool-2 usam esse arquivo de dados e não usam uma política de armazenamento.

Continue a criar o cluster de utilizadores conforme descrito em Crie um cluster de utilizadores.

Crie um cluster de utilizadores num centro de dados separado do cluster de administrador

Um cluster de utilizadores pode estar num centro de dados separado do cluster de administração. Os dois centros de dados podem usar a mesma instância do vCenter Server ou instâncias diferentes do vCenter Server.

Esta secção dá um exemplo de como criar um cluster de utilizadores que usa uma instância separada do vCenter Server do cluster de administrador. Uma vez que os clusters de utilizadores e administradores usam instâncias separadas do vCenter Server, também estão em data centers separados.

Comece por seguir as instruções em Crie um cluster de utilizadores.

À medida que preenche o ficheiro de configuração do cluster de utilizadores:

  • Defina o valor de vCenter.storagePolicyName para o nome de uma política de armazenamento existente. Não defina um valor para vCenter.datastore.

  • Em vCenter, especifique valores para address, datacenter, cluster e resourcePool.

  • Especifique um valor para network.vCenter.networkName.

  • Especifique dois node pools. Para o primeiro conjunto de nós, não especifique um arquivo de dados nem uma política de armazenamento. Para o segundo conjunto de nós, defina o valor de vsphere.datastore para o nome de um arquivo de dados existente.

Exemplo de ficheiro de configuração do cluster

Segue-se um exemplo de um ficheiro de bloqueio de IPs e uma parte de um ficheiro de configuração de cluster de utilizadores.

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"
...

Seguem-se os pontos importantes a compreender no exemplo anterior:

  • O ficheiro de configuração do cluster de utilizadores inclui um valor para vCenter.storagePolicy, mas não inclui um valor para vCenter.datastore. A política de armazenamento especificada é usada pelos nós em qualquer conjunto de nós que não especifique a sua própria política de armazenamento ou o seu próprio repositório de dados.

  • Em vCenter, existem valores especificados para address, datacenter, cluster e resourcePool. Assim, o cluster de utilizadores usa um servidor vCenter, um centro de dados, um cluster vSphere e um conjunto de recursos diferentes do cluster de administrador.

  • Existe um valor especificado para network.vCenter.networkName.

  • O campo masterNode.replicas está definido como 3, pelo que existem três nós do plano de controlo. Em masterNode, não é especificado nada para vsphere.datastore ou vsphere.storagePolicyName. Assim, os nós do plano de controlo usam a política de armazenamento especificada em vCenter.storagePolicyName.

  • Em node-pool-1, não foi especificado nada para vsphere.datastore ou vsphere.storagePolicyName. Assim, os nós em node-pool-1 vão usar a política de armazenamento especificada em vCenter.storagePolicyName.

  • Em node-pool-2, o valor de vsphere.datastore é my-np2-datastore. Assim, os nós em node-pool-2 usam esse arquivo de dados e não usam uma política de armazenamento.

Continue a criar o cluster de utilizadores conforme descrito em Crie um cluster de utilizadores.

O que se segue?