Para dimensionar os nós do cluster Tanzu Kubernetes, especifique a classe da máquina virtual. O vSphere with Tanzu fornece classes padrão, e você pode criar a sua própria. Para usar uma classe, associe-a ao vSphere Namespace de destino e faça referência à classe no manifesto.

Sobre as classes de máquinas virtuais

Uma classe de máquina virtual é uma solicitação de reservas de recursos na VM para poder de processamento (CPU e memória (RAM). Por exemplo, grande garantia com 4 CPUs e 16 GB de RAM.

Existem dois tipos de reserva de classe: 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 comprometidos em excesso. Normalmente, o tipo de classe garantida é usado para cargas de trabalho de produção. Consulte o Atributos de classes de VM em vSphere with Tanzu.
Observação: O tamanho do disco da VM é definido pelo modelo OVA, não pela definição da classe de VM. Para Tanzu Kubernetes releases, o tamanho do disco é 16 GB. Consulte o Sobre Tanzu Kubernetes release distribuições.

Usando classes de máquina virtual

Para usar uma classe de máquina virtual com um cluster Tanzu Kubernetes, a classe de VM deve ser vinculada ao vSphere Namespace em que o cluster está provisionado. Para fazer isso, associe a classe ao namespace de destino. Consulte o Configure um vSphere Namespace para Tanzu Kubernetes releases.

Para listar as classes de VM disponíveis no vSphere Namespace de destino, use o comando kubectl get virtualmachineclassbinding. Para exibir todas as classes de máquina virtual presentes no Supervisor Cluster, execute o comando kubectl describe virtualmachineclasses. Observe, no entanto, que, como apenas as classes associadas podem ser usadas para provisionar um cluster, o último comando é apenas informativo. Consulte o Fluxo de trabalho para clusters de Tanzu Kubernetes provisionamento.
Observação: O requisito para associar classes de VM ao vSphere Namespace só se aplica a novos clusters. Os clusters Tanzu Kubernetes existentes que usam classes de VM padrão continuam a funcionar sem exigir associação de namespace.

Classes de máquina virtual padrão

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

Para evitar o comprometimento excessivo de recursos, as cargas de trabalho de produção devem usar o tipo de classe garantida. Para evitar a falta de memória, não use o tamanho de classe pequeno ou extra pequeno para qualquer nó de trabalhador no qual você esteja implantando 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

Classes de máquinas virtuais personalizadas

O vSphere with Tanzu oferece suporte a classes de máquina virtual personalizadas para uso com clusters do Tanzu Kubernetes. Depois de definir uma classe de VM personalizada, você deve associá-la ao vSphere Namespace de destino antes de poder usá-la com um cluster. Consulte o Criar uma classe de VM no vSphere with Tanzu.

Editando classes de máquinas virtuais

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 Tanzu Kubernetes existentes permanecerão inalterados. Novos clusters de Tanzu Kubernetes usarão a definição de classe modificada.
Cuidado: Se você editar uma classe de VM que está em uso por um cluster Tanzu Kubernetes e, em seguida, dimensionar horizontalmente 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 classes.