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 paravCenter.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 como3
, então haverá três nós do plano de controle. EmmasterNode
, nada é especificado paravsphere.datastore
ouvsphere.storagePolicyName
. Portanto, os nós do plano de controle vão usar a política de armazenamento especificada emvCenter.storagePolicyName
.O arquivo de configuração do cluster de usuário inclui um valor para
vCenter.storagePolicy
, mas não paravCenter.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 paravsphere.datastore
ouvsphere.storagePolicyName
. Assim, os nós emnode-pool-1
usarão a política de armazenamento especificada emvCenter.storagePolicyName
.Em
node-pool-2
, o valor devsphere.datastore
émy-np2-datastore
. Portanto, os nós emnode-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).