vSphere with Tanzu é compatível com atualizações contínuas para clusters Supervisors e Tanzu Kubernetes Grid e para a infraestrutura que oferece suporte a esses clusters.
Como os clusters Supervisors e Tanzu Kubernetes Grid são atualizados
vSphere with Tanzu usa um modelo de atualização sem interrupção para clusters Supervisors e Tanzu Kubernetes Grid. O modelo de atualização sem interrupção garante que haja um tempo de inatividade mínimo para cargas de trabalho de cluster durante o processo de atualização. As atualizações contínuas incluem a atualização das versões do software Kubernetes e a infraestrutura e os serviços que oferecem suporte aos clusters Kubernetes, como configurações e recursos de máquinas virtuais, vSphere Namespaces e recursos personalizados.
Dependência entre atualizações de Supervisor e clusters de Tanzu Kubernetes Grid
Você atualiza os clusters Supervisor e Tanzu Kubernetes Grid separadamente. Observe, no entanto, que há dependências entre os dois.
A atualização de um Supervisor provavelmente acionará uma atualização sem interrupção dos clusters Tanzu Kubernetes Grid implantados lá. Consulte Atualizar o Supervisor executando uma atualização do vSphere Namespaces.
Talvez seja necessário atualizar um ou mais clusters Tanzu Kubernetes Grid antes de atualizar um Supervisor se o cluster Tanzu Kubernetes Grid não for compatível com a versão Supervisor de destino. Consulte Verificar a compatibilidade do cluster Tanzu Kubernetes Grid para upgrade do Supervisor.
Sobre as atualizações do Supervisor
Quando você inicia uma atualização do Supervisor, o sistema cria uma nova VM do plano de controle e a une ao plano de controle Supervisor existente. Durante essa fase da atualização, o inventário vSphere mostra quatro VMs do plano de controle à medida que o sistema adiciona uma nova VM atualizada e, em seguida, remove a VM desatualizada mais antiga. Os objetos são migrados de uma das VMs do plano de controle antigas para a nova, e a VM do plano de controle antiga é removida. Esse processo se repete um por um até que todas as VMs do plano de controle sejam atualizadas. Depois que todas as VMs do plano de controle forem atualizadas, os nós do trabalhador serão atualizados de maneira semelhante à atualização sem interrupção. Os nós do trabalhador são os hosts ESXi, e cada processo do spherelet em cada host ESXi é atualizado um por um.
- Atualize o vSphere Namespaces.
- Atualize tudo, incluindo VMware versões e versões do Kubernetes.
Atualizando vSphere Namespaces
- Atualizar vCenter Server.
- Execute uma atualização do vSphere Namespaces (incluindo o upgrade do Kubernetes).
Para executar uma atualização do vSphere Namespaces, consulte Atualizar o Supervisor executando uma atualização do vSphere Namespaces.
Atualizando todos os vSphere with Tanzu componentes
Use o fluxo de trabalho atualizar tudo para atualizar todos os componentes vSphere with Tanzu. Esse tipo de atualização é necessário quando você está atualizando versões principais, por exemplo, como de NSX-T 3.X para 4 e de vSphere 7.x para 8.
- Verifique a VMware Matriz de interoperabilidade https://interopmatrix.vmware.com/Interoperability para o vCenter Server e o NSX para determinar a compatibilidade. A funcionalidade do vSphere with Tanzu é fornecida pelo software Workload Control Plane (WCP) que acompanha o vCenter Server.
- Atualize NSX, se compatível.
- Atualizar vCenter Server.
- Atualizar vSphere Distributed Switch.
- Faça upgrade de ESXi hosts.
- Verifique a compatibilidade de quaisquer clusters Tanzu Kubernetes Grid provisionados com a versão Supervisor de destino.
- Atualização vSphere Namespaces (incluindo a versão Supervisor Kubernetes).
- Atualize Tanzu Kubernetes Grid clusters.
Sobre as atualizações de cluster do Tanzu Kubernetes Grid
Quando você atualiza um Supervisor, os componentes de infraestrutura que dão suporte aos clusters Tanzu Kubernetes Grid implantados nesse Supervisor, como o Tanzu Kubernetes Grid 2.0, também são atualizados. Cada atualização de infraestrutura pode incluir atualizações para serviços que oferecem suporte ao Tanzu Kubernetes Grid 2.0 (CNI, CSI, CPI) e definições de configuração atualizadas para as VMs do plano de controle e os nós de trabalho que podem ser aplicados a clusters Tanzu Kubernetes Grid existentes. Para garantir que sua configuração atenda aos requisitos de compatibilidade, o vSphere with Tanzu realiza pré-verificações durante a atualização sem interrupção e impõe a conformidade.
Para realizar uma atualização sem interrupção de um cluster Tanzu Kubernetes Grid, atualize o manifesto do cluster. Consulte Atualizando clusters do TKG 2 no Supervisor. Observe, no entanto, que quando uma atualização do vSphere Namespaces é executada, o sistema propaga imediatamente as configurações atualizadas para todos os clusters do Tanzu Kubernetes Grid. Essas atualizações podem acionar automaticamente uma atualização sem interrupção do plano de controle Tanzu Kubernetes Grid e dos nós do trabalhador.
O processo de atualização sem interrupção para substituir os nós do cluster é semelhante à atualização sem interrupção de pods em uma implantação do Kubernetes. Há dois controladores distintos responsáveis por executar uma atualização sem interrupção de clusters Tanzu Kubernetes Grid: o controlador de complementos e o controlador TanzuKubernetesCluster. Nesses dois controladores, há três estágios principais para uma atualização sem interrupção: atualização de complementos, atualização do plano de controle e atualização dos nós do trabalhador. Esses estágios ocorrem em ordem, com pré-verificações que impedem que uma etapa seja iniciada até que a etapa anterior tenha progredido o suficiente. Essas etapas poderão ser ignoradas se forem consideradas desnecessárias. Por exemplo, uma atualização pode afetar apenas os nós do trabalhador e, portanto, não exigir nenhuma atualização de complemento ou plano de controle.
Durante o processo de atualização, o sistema adiciona um novo nó de cluster e aguarda que o nó fique online com a versão de destino do Kubernetes. Em seguida, o sistema marca o nó antigo para exclusão, passa para o próximo nó e repete o processo. O nó antigo não é excluído até que todos os pods sejam removidos. Por exemplo, se um pod for definido com PodDisruptionBudgets que impedem que um nó seja totalmente drenado, o nó será isolado, mas não será removido até que esses pods possam ser despejados. O sistema atualiza primeiro todos os nós do plano de controle e, em seguida, os nós do trabalhador. Durante uma atualização, o status do cluster Tanzu Kubernetes Grid muda para "atualizando". Após a conclusão do processo de atualização sem interrupção, o status do cluster Tanzu Kubernetes Grid muda para "em execução".
Os pods em execução em um cluster Tanzu Kubernetes Grid que não são controlados por um controlador de replicação serão excluídos durante uma atualização de versão do Kubernetes como parte da drenagem do nó do trabalhador durante a atualização do cluster Tanzu Kubernetes Grid. Isso será verdadeiro se a atualização do cluster for acionada manual ou automaticamente por uma atualização do vSphere Namespaces. Os pods não regidos por um controlador de replicação incluem pods que não são criados como parte de uma especificação de implantação ou ReplicaSet. Consulte o tópico Ciclo de vida do pod: vida útil do pod na documentação do Kubernetes para obter mais informações.