Validar a resiliência do MongoDB durante uma atualização do pool de nós do AKS (Serviço de Kubernetes do Azure)

Usando o mesmo cluster do MongoDB no Serviço de Kubernetes do Azure (AKS) implantado no artigo anterior com o Locust em execução, você poderá validar a resiliência do cluster do MongoDB durante uma atualização do pool de nós do AKS.

Atualizar o cluster do AKS

Nesse cenário, você atualiza o cluster do AKS para uma versão mais recente. A atualização do cluster o torna indisponível por um curto período de tempo.

  1. Obtenha a versão atual do cluster do AKS usando o comando az aks show.

    az aks show --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_CLUSTER_NAME --query kubernetesVersion
    

    Exemplo de saída:

    "1.30"
    
  2. Verifique as versões disponíveis para o cluster do AKS usando o comando az aks get-upgrades e decida para qual versão você deseja atualizar.

    az aks get-upgrades --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_CLUSTER_NAME --output table
    

    Exemplo de saída:

    Name     ResourceGroup                     MasterVersion    Upgrades
    -------  --------------------------------  ---------------  --------------
    default  myResourceGroup-rg-australiaeast  1.30.6           1.31.1, 1.31.2
    
  3. Liste os pools de nós no cluster do AKS usando o comando az aks nodepool list.

    az aks nodepool list --resource-group $MY_RESOURCE_GROUP_NAME --cluster-name $MY_CLUSTER_NAME --output table
    

    Exemplo de saída:

    Name        OsType    KubernetesVersion    VmSize           Count    MaxPods    ProvisioningState    Mode
    ----------  --------  -------------------  ---------------  -------  ---------  -------------------  ------
    systempool  Linux     1.30                 Standard_DS4_v2  1        30         Succeeded            System
    mongodbpool Linux     1.30                 Standard_DS4_v2  3        30         Succeeded            User
    
  4. Após decidir a versão do Kubernetes de destino, primeiro você precisará atualizar o plano de controle do AKS usando o comando az aks upgrade. Neste exemplo, atualizamos para o Kubernetes versão 1.31.1.

    az aks upgrade --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_CLUSTER_NAME --kubernetes-version 1.31.1 --control-plane-only --yes
    

    Captura de tela de uma página da Web mostrando o dashboard de teste do Locust ao atualizar o plano de controle.

  5. Atualize o pool de nós mongodbpool para a versão mais recente usando o comando az aks nodepool upgrade. Verifique se o Locust do artigo anterior ainda está em execução para que você possa validar a resiliência do cluster do MongoDB durante a atualização do pool de nós do AKS.

    az aks nodepool upgrade --resource-group $MY_RESOURCE_GROUP_NAME --cluster-name $MY_CLUSTER_NAME --name mongodbpool --kubernetes-version 1.31.1 --yes
    

    Esse comando leva algum tempo para ser concluído. Durante esse tempo, os nós do cluster do AKS ficam indisponíveis à medida que são atualizados para a versão mais recente. No entanto, o cluster do MongoDB continua a atender às solicitações sem interrupção.

  6. Verifique se o cluster do MongoDB continua a atender solicitações verificando o painel do Locust e o painel do Expresso Mongo.

    Captura de tela de uma página da Web mostrando o painel de teste do Locust quando o cluster está sendo atualizado.

  7. Após concluir a atualização, você poderá verificar a versão do Kubernetes do pool de nós mongodbpool usando o comando az aks nodepool list.

    az aks nodepool list --resource-group $MY_RESOURCE_GROUP_NAME --cluster-name $MY_CLUSTER_NAME --output table
    

    Exemplo de saída:

    Name        OsType    KubernetesVersion    VmSize           Count    MaxPods    ProvisioningState    Mode
    ----------  --------  -------------------  ---------------  -------  ---------  -------------------  ------
    systempool  Linux     1.30                 Standard_DS4_v2  1        30         Succeeded            System
    mongodbpool Linux     1.31.1               Standard_DS4_v2  3        30         Succeeded            User
    

Próxima etapa