Você pode usar o vSphere with Tanzu para transformar o vSphere em uma plataforma para executar cargas de trabalho do Kubernetes nativamente na camada do hipervisor. Quando ativado em um cluster do vSphere, o vSphere with Tanzu fornece a capacidade de executar cargas de trabalho do Kubernetes diretamente em hosts do ESXi e criar clusters do Kubernetes upstream em pools de recursos dedicados.

Os desafios da pilha de aplicativos de hoje

Os sistemas distribuídos de hoje são construídos com vários microsserviços que geralmente executam um grande número de pods e VMs do Kubernetes. Uma pilha típica que não é baseada em vSphere with Tanzu consiste em um ambiente virtual subjacente, com infraestrutura do Kubernetes que é implantada dentro de VMs e, respectivamente, pods do Kubernetes também em execução nessas VMs. Três funções separadas operam cada parte da pilha, que são desenvolvedores de aplicativos, administradores de cluster do Kubernetes e administradores do vSphere.

Figura 1. Pilha de aplicativos de hoje
  • Como desenvolvedor de aplicativos, você pode executar pods do Kubernetes e implantar e gerenciar aplicativos baseados no Kubernetes. Você não tem visibilidade de toda a pilha que está executando centenas de aplicativos.
  • Como engenheiro de DevOps, você só tem controle sobre a infraestrutura do Kubernetes, sem as ferramentas para gerenciar ou monitorar o ambiente virtual e resolver quaisquer problemas relacionados a recursos e outros.
  • Como administrador do vSphere, você tem controle total sobre o ambiente virtual subjacente, mas não tem visibilidade sobre a infraestrutura do Kubernetes, o posicionamento dos diferentes objetos do Kubernetes no ambiente virtual e como eles consomem recursos.

vCenter Server

vSphere with Tanzu

vSphere with Tanzu Gerenciamento de Carga de Trabalho (Workload Management)ESXi Gerenciamento de Carga de Trabalho (Workload Management)Supervisor Cluster

Figura 2. vSphere com Tanzu

vSphere with Kubernetes
Ter um plano de controle do Kubernetes na camada do hipervisor permite os seguintes recursos no vSphere:
  • Como administrador do vSphere, você pode criar namespaces no Supervisor Cluster, chamado vSphere Namespaces, e configurá-los com a quantidade especificada de memória, CPU e armazenamento. Você fornece vSphere Namespaces para engenheiros de DevOps.
  • Como engenheiro de DevOps, você pode executar cargas de trabalho que consistem em contêineres Kubernetes na mesma plataforma com pools de recursos compartilhados em um vSphere Namespace. No vSphere with Tanzu, os contêineres são executados dentro de um tipo especial de VM chamado vSphere Pod. Você também pode implantar VMs regulares.
  • Como engenheiro de DevOps, você pode criar e gerenciar vários clusters do Kubernetes dentro de um namespace e gerenciar seu ciclo de vida usando o Tanzu Kubernetes Grid Service. Os clusters do Kubernetes criados usando o Tanzu Kubernetes Grid Service são chamados de clusters de Tanzu Kubernetes.
  • Como administrador do vSphere, você pode gerenciar e monitorar vSphere Pods, VMs e Tanzu Kubernetes clusters usando o vSphere Client.
  • Como administrador do vSphere, você tem visibilidade total sobre vSphere Pods, VMs e Tanzu Kubernetes clusters em execução em diferentes namespaces, seu posicionamento no ambiente e como eles consomem recursos.

Ter o Kubernetes em execução na camada do hipervisor também facilita a colaboração entre os administradores do vSphere e as equipes de DevOps, pois ambas as funções estão trabalhando com os mesmos objetos.

O que é uma carga de trabalho?

No vSphere with Tanzu, as cargas de trabalho são aplicativos implantados de uma das seguintes maneiras:

  • Aplicativos que consistem em contêineres em execução dentro do vSphere Pods, VMs regulares ou ambos.
  • Tanzu Kubernetes clusters implantados usando o VMware Tanzu™ Kubernetes Grid™ Service.
  • Aplicativos que são executados dentro dos clusters do Tanzu Kubernetes que são implantados usando o VMware Tanzu™ Kubernetes Grid™ Service.