Cenários de failover do Kubernetes em um dispositivo clusterizado do Azure Stack Edge

O cluster Kubernetes é implantado como uma plataforma de código aberto popular para orquestrar aplicativos em contêineres. Este artigo descreve como o Kubernetes funciona em seu dispositivo Azure Stack Edge de 2 nós, incluindo os modos de falha e as respostas do dispositivo correspondentes.

Sobre o Kubernetes no Azure Stack Edge

Em seu dispositivo Azure Stack Edge, você pode criar um cluster Kubernetes configurando a computação. Quando a função de computação é configurada, o cluster do Kubernetes, incluindo os nós mestre e de trabalho, é implantado e configurado para você. Esse cluster é usado para implantação de carga de trabalho via kubectl, IoT Edge ou Azure Arc.

O dispositivo Azure Stack Edge está disponível como uma configuração de 1 nó ou uma configuração de 2 nós que constitui o cluster de infraestrutura. O cluster Kubernetes é separado do cluster de infraestrutura e é implantado sobre o cluster de infraestrutura. O cluster de infraestrutura fornece o armazenamento persistente para seu dispositivo Azure Stack Edge, enquanto o cluster Kubernetes é responsável exclusivamente pela orquestração de aplicativos.

O cluster Kubernetes compreende um nó mestre e nós de trabalho. Os nós do Kubernetes em um cluster são máquinas virtuais que executam seus aplicativos e fluxos de trabalho na nuvem.

  • O nó mestre do Kubernetes é responsável por manter o estado desejado para o cluster. O nó mestre também controla o nó de trabalho.
  • Os nós de trabalho executam os aplicativos em contêineres.

Cluster do Kubernetes em dispositivo de dois nós

O cluster do Kubernetes no dispositivo de 2 nós tem um nó mestre e dois nós de trabalho. O dispositivo de 2 nós está altamente disponível e, se um dos nós falhar, tanto o dispositivo quanto o cluster do Kubernetes continuarão em execução. Para obter mais informações sobre a arquitetura de cluster do Kubernetes, vá para Conceitos principais do Kubernetes.

Em um dispositivo Azure Stack Edge de 2 nós, a VM mestra do Kubernetes e uma VM de trabalho do Kubernetes estão sendo executadas no nó A do seu dispositivo. No nó B, uma única VM de trabalho do Kubernetes está em execução.

Cada VM de trabalho no cluster do Kubernetes é uma VM Hyper-V fixada. Uma VM fixada está vinculada ao nó específico em que está sendo executada. Se o nó A no dispositivo falhar, a VM mestre fará failover para o nó B. Mas a VM de trabalho no nó A, que é uma VM fixada, não faz failover para o nó B e vice-versa. Em vez disso, os pods da VM de trabalho no nó A são rebalanceados no nó B.

Para que os pods rebalanceados tenham capacidade suficiente para serem executados no nó de dispositivo B, o sistema impõe que não mais de 50% da capacidade de cada nó ASE seja usada durante operações regulares de cluster do Azure Stack Edge de 2 nós. Esse uso de capacidade é feito com base no melhor esforço e há circunstâncias (por exemplo, cargas de trabalho que exigem recursos de GPU indisponíveis quando são rebalanceados para o Nó B do ASE) nas quais os pods rebalanceados podem não ter recursos suficientes para serem executados.

Esses cenários são abordados em detalhes na próxima seção sobre Modos e comportamento de falha.

Modos e comportamento de falha

Os nós de dispositivo do Azure Stack Edge podem falhar sob determinadas condições. Os vários modos de falha e as respostas correspondentes do dispositivo são tabulados nesta seção.

Falhas ou reinicializações do nó Azure Stack Edge

Falhas Respostas
O nó A tem falhas
(O nó B não tem falhas)
As seguintes possíveis falhas podem ocorrer:
  • Ambas as PSUs falham
  • Uma ou ambas as Portas 3, Porta 4 falham
  • O componente principal falha, inclui placa-mãe, DIMM, disco do sistema operacional
  • Falha de nó inteiro
    As seguintes respostas são vistas para cada uma dessas falhas:
    • Failover da VM mestre do Kubernetes do nó A para o nó B
    • Master VM leva alguns minutos para aparecer no nó B
    • Os pods do nó A são rebalanceados no nó B
    • As cargas de trabalho da GPU continuam em execução se a GPU estiver disponível no nó B
    Reinicializações do nó A
    (O nó B não tem falhas)
    Reinicializações de nó Depois que o nó A concluir a reinicialização e a VM de trabalho estiver disponível, a VM mestre reequilibrará os pods do nó B.
    O nó B tem falhas
    (O nó A não tem falhas)
    As seguintes possíveis falhas podem ocorrer:
    • Ambas as PSUs falham
    • Uma ou ambas as Portas 3, Porta 4 falham
    • O componente principal falha, inclui placa-mãe, DIMM, disco do sistema operacional
    • Falha de nó inteiro
      As seguintes respostas são vistas para cada uma dessas falhas:
      • A VM mestre do Kubernetes reequilibra pods do nó B. Isso pode levar alguns minutos.
      Reinicializações do nó B
      (O nó A não tem falhas)
      Reinicializações de nó Depois que o nó B concluir a reinicialização e a VM de trabalho estiver disponível, a VM mestre reequilibrará os pods do nó B.

      Atualizações do nó Azure Stack Edge

      Tipo de atualização Respostas
      Atualização do nó do dispositivo As atualizações contínuas são aplicadas aos nós do dispositivo e os nós serão reinicializados.
      Atualização do serviço Kubernetes A atualização do serviço Kubernetes inclui:
      • Um failover da VM mestre do Kubernetes do nó de dispositivo A para o nó de dispositivo B
      • Uma atualização mestre do Kubernetes.
      • Atualizações do nó de trabalho do Kubernetes (não necessariamente nessa ordem).
      Todo o processo de atualização pode levar 30 minutos ou mais e, durante essa janela, o cluster do Kubernetes está disponível para qualquer operação de gerenciamento (como a implantação de uma nova carga de trabalho). Embora os pods sejam drenados do nó do dispositivo enquanto ele está sendo atualizado, as cargas de trabalho podem ficar offline por vários segundos durante esse processo.

      Próximos passos

      • Saiba mais sobre o armazenamento do Kubernetes no dispositivo Azure Stack Edge.
      • Entenda o modelo de rede do Kubernetes no dispositivo Azure Stack Edge.
      • Implante o Azure Stack Edge no portal do Azure.