Configurar uma política de armazenamento

Neste documento, mostramos como configurar uma política de armazenamento de VM para um cluster do GKE no VMware.

Quando você usa uma política de armazenamento de VM, o armazenamento dos nós do cluster é distribuído entre vários armazenamentos de dados no ambiente do vSphere. Esse recurso é baseado no Gerenciamento baseado em políticas de armazenamento, que permite definir políticas de armazenamento com base nos requisitos do aplicativo e na configuração do cluster.[

Aplicar tags ao repositório de dados

Seu ambiente vSphere precisa ter pelo menos dois repositórios de dados para usar neste exercício.

O cluster do vSphere que hospeda os nós do cluster de usuário precisa ter acesso aos dois armazenamentos de dados usados para este exercício e ao armazenamento de dados usado pelo cluster de administrador.

A conta do vCenter usada para aplicar tags precisa ter os seguintes privilégios de privilégios de inclusão de tag do vSphere no servidor vCenter raiz:

  • vSphere Tagging.Create vSphere Tag
  • vSphere Tagging.Create vSphere tag categoria
  • "vSphere Tagging.Assign" ou "Unassign vSphere Tag"

No cliente vSphere, atribua a mesma tag a cada um dos repositórios de dados que você escolheu usar para este exercício. Para instruções, consulte Atribuir tags a Datastores.

Para mais informações, consulte Tags e atributos do vSphere.

Criar uma política de armazenamento

No cliente vSphere, crie uma política de armazenamento de VM para a posição baseada em tag. Na política de armazenamento, especifique a tag que você aplicou aos repositórios de dados escolhidos. Para instruções, consulte Criar uma política de armazenamento de VM para posicionamentos com base em tags.

Para mais informações, consulte a Política de armazenamento da VM.

Se você estiver usando um repositório de dados vSAN, consulte a Política de armazenamento vSAN.

Criar um cluster de usuário

Nesta seção, você verá um exemplo de como criar um cluster de usuário que usa uma política de armazenamento. O cluster tem um plano de controle de alta disponibilidade, portanto, há três nós desse plano. Além dos nós do plano de controle, há seis nós de trabalho, três em um pool de nós e três em um segundo pool de nós. Todos os nós usam endereços IP estáticos.

Comece seguindo as instruções em Criar um cluster de usuário (ControlPlane V2).

Durante o preenchimento do arquivo de configuração do cluster de usuário:

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

  • Especifique dois pools de nós. Para o primeiro pool de nós, não especifique um repositório de dados e não especifique uma política de armazenamento. Para o segundo pool de nós, defina o valor de vsphere.datastore como o nome de um repositório de dados existente.

Exemplo de arquivo de configuração de cluster

Veja um exemplo de um arquivo de bloco de IP e uma parte de um arquivo de configuração de cluster de usuário.

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

Estes são os pontos importantes que você precisa entender no exemplo anterior:

  • Os endereços IP estáticos dos nós de trabalho são especificados em um arquivo de bloco de IP. O arquivo de bloco de IP tem sete endereços, mesmo que haja apenas seis nós de trabalho. O endereço IP extra é necessário durante o upgrade, a atualização e o reparo automático do cluster.

  • Os endereços IP estáticos dos três nós do plano de controle são especificados na seção network.controlPlaneIPBlock do arquivo de configuração do cluster de usuário. Não é necessário ter um endereço IP extra neste bloco.

  • O campo masterNode.replicas está definido como 3, então haverá três nós do plano de controle. Em masterNode, nada é especificado para vsphere.datastore ou vsphere.storagePolicyName. Portanto, os nós do plano de controle vão usar a política de armazenamento especificada em vCenter.storagePolicyName.

  • O arquivo de configuração do cluster de usuário inclui um valor para vCenter.storagePolicy, mas não para vCenter.datastore. A política de armazenamento especificada será usada por nós em qualquer pool que não especifique a própria política de armazenamento ou o próprio repositório de dados.

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

  • Em node-pool-2, o valor de vsphere.datastore é my-np2-datastore. Portanto, os nós em node-pool-2 vão usar esse repositório de dados e não uma política de armazenamento.

Continue criando o cluster de usuário conforme descrito em Criar um cluster de usuário (Controlplane V2).