Implantar o serviço Kubernetes do Azure no Azure Stack Edge

APLICA-SE A:Yes for Pro - GPU SKUAzure Stack Edge Pro - GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro R

Nota

Utilize este procedimento apenas se for cliente SAP ou PMEC.

Este artigo descreve como implantar e gerenciar o serviço Kubernetes do Azure (AKS) em seu dispositivo Azure Stack Edge. Você também pode usar este artigo para criar volumes persistentes, usar o GitOps para gerenciar um cluster Kubernetes habilitado para Arc e remover o AKS e o Azure Arc.

O público-alvo deste artigo são os administradores de TI que estão familiarizados com a configuração e a implantação de cargas de trabalho no dispositivo Azure Stack Edge.

Sobre o serviço Kubernetes do Azure no Azure Stack Edge

O Azure Stack Edge é um dispositivo de computação de borda habilitado para IA com recursos de E/S de rede de alto desempenho. Depois de configurar a computação em seu dispositivo Azure Stack Edge, você pode usar o portal do Azure para implantar o serviço Kubernetes do Azure, incluindo VMs de infraestrutura. O cluster AKS é usado para implantação de carga de trabalho por meio do Azure Arc.

Pré-requisitos

Antes de começar, certifique-se de que:

  • Você tem uma conta da Microsoft com credenciais para acessar o portal do Azure e acessar um dispositivo de GPU do Azure Stack Edge Pro. O dispositivo Azure Stack Edge é configurado e ativado usando instruções em Configurar e ativar seu dispositivo.

  • Você tem pelo menos um comutador virtual criado e habilitado para computação em seu dispositivo Azure Stack Edge. Para obter etapas detalhadas, consulte Criar comutadores virtuais.

  • Você tem um cliente para acessar seu dispositivo que está executando um sistema operacional suportado. Se estiver usando um cliente Windows, verifique se ele está executando o PowerShell 5.0 ou posterior.

  • Antes de habilitar o Azure Arc no cluster Kubernetes, verifique se você habilitou e registrou Microsoft.Kubernetes provedores de recursos em Microsoft.KubernetesConfiguration relação à sua assinatura. Para obter etapas detalhadas, consulte Registrar provedores de recursos por meio da CLI do Azure.

  • Se você pretende implantar o cluster do Azure Arc for Kubernetes, precisará criar um grupo de recursos. Você deve ter acesso de nível de proprietário ao grupo de recursos.

    Para verificar o nível de acesso para o grupo de recursos, vá para Controle de acesso do grupo>de recursos (IAM)>Exibir meu acesso. Em Atribuições de função, você deve estar listado como proprietário.

    Screenshot showing assignments for the selected user on the Access control (IAM) page in the Azure portal.

Dependendo das cargas de trabalho que você pretende implantar, talvez seja necessário garantir que as seguintes etapas opcionais também sejam concluídas:

  • Se você pretende implantar locais personalizados em seu cluster habilitado para Arc, precisará registrar o Microsoft.ExtendedLocation provedor de recursos em sua assinatura.

    Você deve buscar a ID do objeto de local personalizado e usá-la para habilitar locais personalizados por meio da interface do PowerShell do seu dispositivo.

    az login
    az ad sp show --id bc313c14-387c-4e7d-a58e-70417303ee3b --query id -o tsv
    

    Aqui está uma saída de exemplo usando a CLI do Azure. Você pode executar os mesmos comandos por meio do Cloud Shell no portal do Azure.

    PS /home/user> az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
    51dfe1e8-70c6-4de5-a08e-e18aff23d815
    PS /home/user>
    

    Para obter mais informações, consulte Criar e gerenciar locais personalizados no Kubernetes habilitado para Arc.

  • Se estiver implantando cargas de trabalho do Kubernetes ou PMEC:

    • Você pode ter selecionado um perfil de carga de trabalho específico usando a interface do usuário local ou o PowerShell. As etapas detalhadas são documentadas para a interface do usuário local em Configurar IPS de computação e para o PowerShell em Alterar perfis de carga de trabalho do Kubernetes.
    • Você pode precisar de redes virtuais que você adicionou usando as instruções em Criar redes virtuais.
  • Se você estiver usando VMs HPN como VMs de infraestrutura, as vCPUs deverão ser reservadas automaticamente. Execute o seguinte comando para verificar a reserva:

    Get-HcsNumaLpMapping
    
  • Essa configuração é aplicada quando você instala ou atualiza para o Azure Stack Edge 2307. Há dois cenários em que a configuração não será aplicada durante a atualização:

    • Quando você tem mais vCPUs minroot configuradas do que as quatro vCPUs do Numa0 + Todas as vCPUs do Numa1. Esse cenário se aplica principalmente aos clientes do gateway de Borda de Pilha do Azure que configuram todas as vCPUs para minroot. Para o Azure Stack Edge Pro 2, há apenas um Numa. Para o Azure Stack Edge Pro 2 com 40 núcleos, são mais vCPUs minroot configuradas do que 24 vCPUs, e para o Azure Stack Edge Pro 2 com 48 vCPUs são mais de 28 vCPUs configuradas.

    • Quando você tem VMs HPN implantadas e está consumindo mais de 16 vCPUs em uma máquina com 40 núcleos, ou mais de 20 vCPUs em uma máquina com 48 núcleos para VMs HPN.

    Aqui está a saída de exemplo para a GPU do Azure Stack Edge Pro:

    Hardware:
      { Numa Node #0 : CPUs [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] }
    
      { Numa Node #1 : CPUs [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39] }
    
    HpnCapableLpMapping:
      { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] }
    
      { Numa Node #1 : CPUs [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39] }
    
    7MT0SZ2:
     HpnLpMapping:
      { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] }
    
      { Numa Node #1 : CPUs [] }
    
    HpnLpAvailable:
      { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] }
    
      { Numa Node #1 : CPUs [] }
    

Implantar o AKS no Azure Stack Edge

Há várias etapas para implantar o AKS no Azure Stack Edge. Algumas etapas são opcionais, conforme observado abaixo.

Verificar se o AKS está ativado

Para verificar se o AKS está habilitado, vá para seu recurso Azure Stack Edge no portal do Azure. No painel Visão geral, selecione o bloco Serviço Kubernetes do Azure.

Screenshot showing the Azure Kubernetes Service tile in the Overview pane of the Azure portal.

Definir locais personalizados (opcional)

  1. Conecte-se à interface do PowerShell do dispositivo.

  2. Execute o seguinte comando como uma opção para definir locais personalizados. Insira o ID do objeto de local personalizado que você buscou ao concluir seus pré-requisitos.

    Set-HcsKubeClusterArcInfo –CustomLocationsObjectId <custom_location_object_id>
    

    Aqui está uma saída de exemplo usando a CLI do Azure. Você pode executar os mesmos comandos por meio do Cloud Shell no portal do Azure.

    [1d9nhq2.microsoftdatabox.com]: PS> Set-HcsKubeClusterArcInfo –CustomLocationsObjectId 51dfe1e8-70c6-4de5-a08e-e18aff23d815
    [1d9nhq2.microsoftdatabox.com]: PS>
    

Especificar pools de IP estáticos (opcional)

Uma etapa opcional onde você pode atribuir pools IP para a rede virtual usada pelos pods do Kubernetes.

Nota

Os clientes SAP podem ignorar esta etapa.

Você pode especificar um pool de endereços IP estáticos para cada rede virtual habilitada para o Kubernetes. A rede virtual habilitada para o Kubernetes gera um NetworkAttachmentDefinition que é criado para o cluster do Kubernetes.

Durante o provisionamento de aplicativos, os pods do Kubernetes podem usar endereços IP estáticos no pool de IP para interfaces de rede de contêiner, como interfaces de virtualização de E/S de raiz única (SR-IOV) de contêiner. Isso pode ser feito apontando para um NetworkAttachmentDefinition no PodSpec.

Use as etapas a seguir para atribuir pools de IP estáticos na interface do usuário local do seu dispositivo.

  1. Vá para a página Rede avançada no portal do Azure.

  2. Se você não criou redes virtuais anteriormente, selecione Adicionar rede virtual para criar uma rede virtual. Você precisa especificar o comutador virtual associado à rede virtual, ID de VLAN, máscara de sub-rede e gateway.

  3. Em um exemplo mostrado aqui, configuramos três redes virtuais. Em cada uma dessas redes virtuais, a VLAN é 0 e a máscara de sub-rede e o gateway correspondem aos valores externos, por exemplo, 255.255.0.0 e 192.168.0.1.

    1. Primeira rede virtual – O nome é N2 e está associado a vswitch-port5.

    2. Segunda rede virtual – O nome é N3 e está associado a vswitch-port5.

    3. Terceira rede virtual – Nome é N6 e associado com vswitch-port6.

    4. Depois que todas as três redes virtuais são configuradas, elas são listadas nas redes virtuais, da seguinte maneira:

      Screenshot that shows the Advanced networking page in the Azure portal.

  4. Atribua pools de endereços IP às redes virtuais:

    1. Na página Kubernetes, selecione uma rede virtual que você criou e habilite-a para o Kubernetes.

    2. Especifique um intervalo contíguo de IPs estáticos para pods do Kubernetes na rede virtual. Neste exemplo, um intervalo de um endereço IP foi fornecido para cada uma das três redes virtuais que criamos.

  5. Selecione Aplicar para aplicar as alterações a todas as redes virtuais.

    Nota

    Não é possível modificar as configurações do pool de IP depois que o cluster AKS é implantado.

    Screenshot that shows the Kubernetes page with virtual networks in the Azure portal.

Configurar o comutador virtual de computação

Use esta etapa para configurar o comutador virtual para o tráfego de computação do Kubernetes.

  1. Na interface do usuário local do seu dispositivo, vá para a página do Kubernetes .

  2. Selecione Modificar para configurar um comutador virtual para o tráfego de computação do Kubernetes.

    Screenshot that shows the Kubernetes page in the Azure portal.

  3. Habilite a computação em uma porta que tenha acesso à Internet. Por exemplo, neste caso, a porta 2 que estava conectada à Internet está habilitada para computação. O acesso à Internet permite que você recupere imagens de contêiner do AKS.

    O IP virtual de serviços consistentes do Azure deve ser capaz de alcançar essa rede de comutador virtual de computação por meio de roteamento externo ou criando um IP virtual de serviços consistentes do Azure na mesma rede.

  4. Para nós Kubernetes, especifique um intervalo contíguo de seis IPs estáticos na mesma sub-rede que a rede para essa porta.

    Como parte da implantação do AKS, dois clusters são criados, um cluster de gerenciamento e um cluster de destino. Os IPs especificados são usados da seguinte maneira:

    • O cluster de gerenciamento precisa de dois IPs = 1 IP para interface de rede do plano de controle de gerenciamento + 1 IP para servidor API (VIP).

    • O cluster de destino precisa de (2+n) IPs = 1 IP para interface de rede do plano de controle do cluster de destino + 1 IP para servidor API (VIP) + número de nós, n.

    • Um IP extra é usado para atualizações contínuas.

      Para um dispositivo de nó único, o acima resulta em seis IPs para implantar um cluster Kubernetes. Para um cluster de dois nós, você precisa de sete IPs.

  5. Para os IPs de serviço externo do Kubernetes, forneça IPs estáticos para serviços expostos fora do cluster do Kubernetes. Cada um desses serviços requer um IP.

    Screenshot that shows the Compute virtual switch options on the Kubernetes page in the Azure portal.

Habilite o gerenciamento de nuvem de VM

Esta etapa é necessária para permitir que o portal do Azure Stack Edge implante as VMs de infraestrutura no dispositivo Azure Stack Edge para AKS; por exemplo, para o nó de trabalho de cluster de destino.

  1. No portal do Azure, vá para seu recurso Azure Stack Edge.

  2. Vá para Visão geral e selecione o bloco Máquinas virtuais.

    Screenshot that shows the Virtual machines tile on the Azure Stack Edge Overview page of the Azure portal.

  3. Na página Visão geral das máquinas virtuais, selecione Habilitar para gerenciamento de nuvem de máquinas>virtuais.

    Screenshot that shows the Azure Stack Edge Overview page with the enable virtual machines cloud management option on the Azure portal.

Configurar o cluster do Kubernetes e ativar o Arc

Use esta etapa para configurar e implantar o cluster Kubernetes e habilitá-lo para gerenciamento via Arc.

Importante

Antes de criar o cluster Kubernetes, lembre-se de que:

  • Não é possível modificar as configurações do pool de IP após a implantação do cluster AKS.
  • Como parte da ativação do cluster de destino AKS, os locais personalizados serão habilitados se o ID do objeto tiver sido passado usando o comando opcional na seção Definir locais personalizados (opcional) deste artigo. Se você não habilitou locais personalizados, ainda pode optar por fazê-lo antes que o cluster do Kubernetes seja criado. Depois que a implantação do cluster for iniciada, você não poderá definir locais personalizados.

Siga estas etapas para implantar o cluster AKS.

  1. No portal do Azure, vá para seu recurso Azure Stack Edge.

  2. Selecione o bloco Serviço Kubernetes do Azure.

  3. Selecione Adicionar para configurar o AKS.

  4. Na caixa de diálogo Criar serviço Kubernetes, selecione o tamanho do nó Kubernetes para a VM de infraestrutura. Selecione um tamanho de nó de VM apropriado para o tamanho da carga de trabalho que você está implantando. Neste exemplo, selecionamos o tamanho da VM Standard_F16s_HPN – 16 vCPUs, 32,77 GB de memória.

    Para implantações SAP, selecione Tamanho do nó da VM Standard_DS5_v2.

    Nota

    Se o menu suspenso de tamanho do nó não estiver preenchido, aguarde alguns minutos para que ele seja sincronizado depois que as VMs forem habilitadas na etapa anterior.

  5. Marque Gerenciar contêiner da nuvem via Kubernetes habilitado para Arc. Essa opção, quando marcada, habilita o Arc quando o cluster do Kubernetes é criado.

  6. Se você selecionar Alterar, precisará fornecer um nome de assinatura, grupo de recursos, nome do cluster e região.

    Screenshot that shows the Configure Arc enabled Kubernetes options part of creating the Kubernetes service on the Azure portal.

    1. O nome da assinatura deve ser preenchido automaticamente.

    2. Especifique um nome de grupo de recursos exclusivo. Você também pode optar por usar o mesmo grupo de recursos no qual implantou seu recurso do Azure Stack Edge. Você deve ter acesso de nível de proprietário a este grupo de recursos. Para verificar o nível de acesso para o grupo de recursos, vá para Controle de acesso do grupo>de recursos (IAM)>Exibir meu acesso. Em Atribuições de função, você deve estar listado como proprietário.

      Screenshot that shows My assignments in the Access control page of the Azure Stack Edge UI.

    3. Especifique um nome para seu cluster Kubernetes habilitado para Arc ou aceite o padrão.

    4. Selecione uma região onde o recurso para seu cluster Kubernetes habilitado para Arc será criado. Uma lista filtrada de regiões suportadas é exibida na lista suspensa.

    5. Selecione Configurar. Você também pode redefinir as configurações do Arc selecionando a opção Redefinir para padrão .

  7. Selecione Criar para criar o serviço Kubernetes.

    Screenshot that shows the Create Kubernetes service page of the Azure Stack Edge UI.

  8. Você será notificado quando a criação do cluster for iniciada.

    1. Depois que o cluster Kubernetes for criado, você verá que o Serviço Kubernetes do Azure está em execução.

      Screenshot that shows the Azure Kubernetes Service running as expected.

      O Kubernetes habilitado para Arc também aparecerá como Running.

      Screenshot that shows the Azure Kubernetes Service Overview page with status of the Kubernetes service.

      Se você estiver planejando implantar cargas de trabalho do Kubernetes, talvez seja necessário criar Volumes Persistentes para alocar armazenamento.

Adicionar um volume persistente

PersistentVolume (PV) refere-se a uma parte de armazenamento no cluster Kubernetes. O armazenamento do Kubernetes pode ser provisionado estaticamente como PersistentVolume. Ele também pode ser provisionado dinamicamente como StorageClass. Para obter mais informações, consulte Requisitos de armazenamento para pods do Kubernetes.

Há dois fluxos de trabalho diferentes para a criação de PVs, dependendo se a computação está habilitada em linha quando o compartilhamento é criado ou não. Cada um desses fluxos de trabalho é discutido nas seções a seguir.

Crie um volume persistente com a computação habilitada em linha durante a criação do compartilhamento

No dispositivo Azure Stack Edge Pro, os provisionados PersistentVolumes estaticamente são criados usando os recursos de armazenamento do dispositivo. Quando você provisiona um compartilhamento e a opção Usar o compartilhamento com computação de Borda está habilitada, essa ação cria automaticamente um recurso PV no cluster do Kubernetes.

Screenshot that shows Cloud storage gateway to add a share with the Use the share with Edge compute option.

Para usar a hierarquização da nuvem, você pode criar um compartilhamento de nuvem de Borda com a opção Usar o compartilhamento com computação de Borda habilitada. Um PV é novamente criado automaticamente para este compartilhamento. Se você habilitar essa opção, todos os dados do aplicativo gravados no compartilhamento de Borda serão hierarquizados na nuvem.

Screenshot that shows Cloud storage gateway to add a share with the Use the share with Edge local share option enabled.

Criar um volume persistente com a computação não habilitada em linha durante a criação do compartilhamento

Para os compartilhamentos que foram criados com a opção Usar o compartilhamento com Borda desmarcada, você pode adicionar um volume persistente usando as etapas a seguir.

  1. No portal do Azure, vá para o recurso Azure Stack Edge para seu dispositivo. Vá para Compartilhamentos de gateway>de armazenamento em nuvem. Você pode ver que o dispositivo atualmente tem compartilhamentos com o status Usado para computação habilitado.

    Screenshot that shows the Cloud storage gateway shares with Edge compute enabled.

  2. Selecione + Adicionar compartilhamento. Para esse compartilhamento, verifique se a opção Usar o compartilhamento com computação de borda está desmarcada.

    Screenshot that shows the Add share dialog for Persistent volume with compute not enabled inline during share creation.

  3. Você pode ver o compartilhamento recém-criado na lista de compartilhamentos e o status Usado para computação é Desativado.

    Screenshot that shows the newly created share in the list of shares and the Used for compute status is Disabled.

  4. Volte para a Visão geral do recurso>Azure Stack Edge. No painel direito, selecione o bloco Serviço Kubernetes do Azure.

    Screenshot that shows the Azure Stack Edge resource Overview page with the Azure Kubernetes Service tile selected.

  5. Na página Visão Geral do Serviço>Kubernetes do Azure, o bloco Volumes persistentes mostra os volumes persistentes existentes. Esses volumes foram criados automaticamente quando os compartilhamentos foram criados com a opção Usar o compartilhamento com computação Edge habilitada. Para criar um novo volume persistente, selecione + Adicionar volume persistente.

  6. Na caixa de diálogo Adicionar volumes persistentes, selecione o compartilhamento para o qual você deseja criar o volume persistente.

    Screenshot that shows the Azure Stack Edge dialog for Add Persistent volumes.

  7. Você verá uma notificação de que o volume persistente está sendo criado. Esta operação leva alguns minutos para ser concluída.

    Screenshot that shows a Notifications dialog that the Adding Persistent Volumes operation has successfully completed.

  8. Depois que o volume persistente é criado, a página Visão geral é atualizada para incluir o volume persistente recém-adicionado.

    Screenshot that shows the Azure Kubernetes Service Overview page with Persistent Volumes.

  9. Selecione Exibir todos os volumes persistentes para ver o volume persistente recém-criado.

Remover o serviço Kubernetes do Azure

Use as etapas a seguir no portal do Azure para remover o AKS.

  1. No recurso Azure Stack Edge, vá para Visão geral do serviço Kubernetes do>Azure.

  2. Na barra de comandos superior, selecione Remover.

    Screenshot that shows the Azure Kubernetes Service Overview page with the Remove option.

  3. Selecione o addon configurado que pretende remover juntamente com o AKS. O Kubernetes habilitado para Azure Arc é um addon. Depois de selecionar Remover, todas as configurações do Kubernetes e o addon selecionado serão removidos. A operação é irreversível e não pode ser desfeita.

  4. Selecione OK para confirmar a operação.

    Screenshot that shows the Azure Kubernetes Service Overview page with the Remove confirmation.

Próximos passos

  • Documentação de solução de problemas dos Serviços Kubernetes do Azure.