Para dimensionar os nós de cluster do TKG, especifique a classe de máquina virtual. A TKG fornece classes padrão, e você pode criar as suas próprias. Para usar uma classe, associe-a ao destino vSphere Namespace e faça referência à classe no manifesto do cluster TKG.

Sobre as classes de máquina virtual

Uma classe de máquina virtual é uma solicitação de reservas de recursos para poder de processamento na máquina virtual (VM), incluindo CPU e memória (RAM). Por exemplo, o tipo de classe de VM chamado "garantido-grande" reserva 4 CPUs e 16 GB de RAM.
Observação: O tamanho do disco da VM é definido pelo modelo OVA, não pela definição de classe da VM. Para Tanzu Kubernetes releases, o tamanho do disco é de 16 GB.
Há dois tipos de reserva para classes de VM: garantida e melhor esforço. A classe garantida reserva totalmente seus recursos configurados. Isso significa que, para um determinado cluster, o spec.policies.resources.requests corresponde às configurações de spec.hardware. A classe de melhor esforço permite que os recursos sejam sobrecarregados. Para cargas de trabalho de produção, é recomendável usar o tipo de classe de VM garantido.
Aviso: Como o tipo de classe de VM de melhor esforço permite que os recursos sejam sobrecarregados, você poderá ficar sem recursos se tiver definido limites no vSphere Namespace em que você implanta o cluster TKG. Se ocorrer uma contenção e o plano de controle for afetado, a execução do cluster poderá ser interrompida. Por esse motivo, use o tipo de classe de VM garantida para clusters de produção. Se você não puder usar o tipo de classe de VM garantido para todos os nós de produção, use pelo menos o garantido para os nós do plano de controle.

Classes de máquina virtual padrão

A tabela lista os tipos de classe de máquina virtual padrão que são usados como tamanhos de implantação para Tanzu Kubernetes nós de cluster.

Para evitar a alocação excessiva de recursos, as cargas de trabalho de produção devem usar o tipo de classe garantido. Para evitar a falta de memória, não use o tamanho de classe pequeno ou extrapequeno para nenhum nó do trabalhador no qual você esteja implementando cargas de trabalho em qualquer ambiente (desenvolvimento, teste ou produção).

Tabela 1. Classes de máquina virtual padrão
Classe CPU Memória (GB) CPU e memória reservadas
guaranteed-8xlarge 32 128 Sim
best-effort-8xlarge 32 128 Não
guaranteed-4xlarge 16 128 Sim
best-effort-4xlarge 16 128 Não
guaranteed-2xlarge 8 64 Sim
best-effort-2xlarge 8 64 Não
guaranteed-xlarge 4 32 Sim
best-effort-xlarge 4 32 Não
guaranteed-large 4 16 Sim
best-effort-large 4 16 Não
guaranteed-medium 2 8 Sim
best-effort-medium 2 8 Não
guaranteed-small 2 4 Sim
best-effort-small 2 4 Não
guaranteed-xsmall 2 2 Sim
best-effort-xsmall 2 2 Não

Como usar classes de VM com clusters TKG

Para usar uma classe de VM com um cluster TKG, a classe de VM deve estar associada ao vSphere Namespace em que o cluster é provisionado. Para fazer isso, associe a classe ao namespace de destino. Consulte Configurar um vSphere Namespace para clusters TKG 2 em Supervisor.

Para listar as classes de VM disponíveis no destino vSphere Namespace, use o comando kubectl get virtualmachineclassbinding.
Observação: O comando kubectl describe virtualmachineclasses retorna todas as classes de VM presentes em Supervisor. No entanto, como somente classes associadas podem ser usadas para provisionar um cluster, esse comando é somente informativo.
As definições de classe de VM não são imutáveis. Qualquer classe de VM pode ser editada, incluindo as definições de classe de VM padrão. Se uma classe de VM for editada, os nós de cluster TKG existentes permanecerão inalterados. Novos clusters TKG usam a classe modificada.
Cuidado: Se você editar uma classe de VM que está em uso por um cluster TKG e, em seguida, dimensionar esse cluster, os novos nós usarão a definição de classe editada, mas os nós existentes usarão a definição de classe inicial, resultando em uma incompatibilidade de aulas.

vSphere with Tanzu é compatível com classes de máquina virtual personalizadas para uso com clusters TKG. Depois de definir uma classe de VM personalizada, você deve associá-la ao destino vSphere Namespace antes de poder usá-la com um cluster. Consulte a documentação do Supervisor Services para obter detalhes.