Introdução à Rede de Aplicativos kubernetes do Azure para AKS (versão prévia)

Importante

As funcionalidades em versão preliminar do AKS estão disponíveis de forma optativa e por autoatendimento. As versões prévias são fornecidas “no estado em que se encontram” e “conforme disponíveis” e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões prévias do AKS são parcialmente cobertas pelo suporte ao cliente em uma base de melhor esforço. Dessa forma, esses recursos não são destinados ao uso em produção. Para obter mais informações, consulte os seguintes artigos:

Este artigo ajuda você a começar a usar a Rede de Aplicativos kubernetes do Azure para AKS. Ele fornece instruções passo a passo para criar um recurso de Rede de Aplicativos e conectar um cluster do AKS a ele como um cluster membro.

Pré-requisitos

Definir variáveis de ambiente

  • Defina as variáveis de ambiente a seguir para o cluster e o recurso de Rede de Aplicativos do Kubernetes do Azure. Você pode usar um cluster existente ou criar um em uma etapa posterior antes de adicioná-lo à rede de aplicativos do Kubernetes do Azure.

    export SUBSCRIPTION=<subscription-id>
    export LOCATION=<location>
    export APPNET_RG=<resource-group-for-appnet-resource>
    export APPNET_NAME=<appnet-name>
    export APPNET_MEMBER_NAME=<appnet-member-name>
    export AKS_RG=<aks-cluster-resource-group>
    export CLUSTER_NAME=<cluster-name>
    

Registrar o recurso para visualização pública

  1. Registre o recurso para a Rede de Aplicativos kubernetes do Azure usando o az feature register comando.

    az feature register --namespace Microsoft.AppLink --name PublicPreview --subscription $SUBSCRIPTION
    
  2. Aguarde até que o recurso seja registrado. Você pode verificar o status usando o az feature show comando.

    az feature show --namespace Microsoft.AppLink --name PublicPreview --subscription $SUBSCRIPTION
    

    O campo properties.state na saída exibirá Registered quando o registro for concluído.

  3. Depois que o recurso for registrado, atualize o registro do provedor de recursos Microsoft.AppLink usando o az provider register comando.

    az provider register --namespace Microsoft.AppLink --subscription $SUBSCRIPTION
    

Instalar a extensão da CLI do AppNet

  • Instale a extensão da CLI do AppNet usando o az extension add comando.

    az extension add --name appnet-preview
    

Definir assinatura ativa

  • Defina a assinatura ativa como a que você deseja usar para a Rede de Aplicativos kubernetes do Azure usando o az account set comando.

    az account set --subscription $SUBSCRIPTION 
    

Criar um cluster AKS

Observação

Os clusters membros não precisam estar em grupos de recursos separados. Eles podem estar no mesmo grupo de recursos que o recurso rede de aplicativos do Kubernetes do Azure. No entanto, todos os clusters membros devem estar no mesmo locatário.

Se você não tiver um cluster AKS existente para se conectar à Rede de Aplicativos kubernetes do Azure, precisará criar um. O Azure Kubernetes Application Network exige que os clusters do AKS atendam aos seguintes requisitos:

Se você tiver um cluster existente que já atenda a esses requisitos, ignore esta etapa.

  1. Crie um grupo de recursos para o cluster do AKS usando o az group create comando.

    az group create --name $AKS_RG --location $LOCATION 
    
  2. Crie um cluster do AKS com a integração do Microsoft Entra gerenciada pelo AKS, o emissor OIDC e o complemento da API do Gateway do Kubernetes gerenciado habilitados usando o comando com os sinalizadores az aks create--enable-oidc-issuer, --enable-aad e --enable-gateway-api. Não habilite o complemento da malha de serviço Istio (--enable-azure-service-mesh) neste cluster.

    az aks create --name $CLUSTER_NAME --resource-group $AKS_RG --enable-oidc-issuer --enable-aad --enable-gateway-api
    

Criar um recurso de Rede de Aplicativo do Kubernetes do Azure

  1. Crie um grupo de recursos para o recurso de Rede de Aplicativos do Kubernetes do Azure usando o az group create comando.

    az group create --name $APPNET_RG --location $LOCATION 
    
  2. Crie um recurso de Rede de Aplicativo do Kubernetes do Azure usando o az appnet create comando.

    Observação

    Você não pode alterar a localização, a assinatura ou o grupo de recursos de um recurso da Rede de Aplicativos depois de criá-lo.

    az appnet create --resource-group $APPNET_RG --name $APPNET_NAME --location $LOCATION  --identity-type SystemAssigned
    

    O processo de criação pode levar alguns minutos. O campo properties.provisioningState da saída mostra Succeeded para uma Rede de Aplicativos Kubernetes do Azure criada com êxito.

  3. Exiba o recurso de Rede de Aplicativos do Kubernetes do Azure usando o az appnet show comando.

    az appnet show --resource-group $APPNET_RG --name $APPNET_NAME
    

Ingressar em um cluster do AKS como membro da Rede de Aplicativos do Kubernetes do Azure

Ao ingressar um cluster de membros na Rede de Aplicativos do Kubernetes do Azure, você pode especificar um dos seguintes modos de atualização para esse cluster: totalmente gerenciado ou autogerenciado. O modo de atualização determina como as atualizações de versão secundária da Rede de Aplicativos do Kubernetes do Azure são aplicadas ao cluster de membros. Se você não especificar um modo de atualização durante a entrada de membro, o padrão será SelfManaged. Para obter mais informações sobre os modos de atualização, consulte Configurar atualizações para membros da Rede de Aplicativos kubernetes do Azure.

Observação

Você não pode alterar a Rede de Aplicativos, o local, a assinatura ou o grupo de recursos pai de um membro depois de ingressar nela. Para alterar qualquer um deles, remova o membro e adicione-o novamente com os novos valores.

  • Ingresse em um cluster do AKS como membro da Rede de Aplicativos Kubernetes do Azure usando o comando az appnet member join com o parâmetro --upgrade-mode definido como FullyManaged ou SelfManaged. O exemplo a seguir mostra como adicionar um membro ao cluster no modo SelfManaged:

    az appnet member join \
        --resource-group $APPNET_RG \
        --appnet-name $APPNET_NAME \
        --member-name $APPNET_MEMBER_NAME \
        --member-resource-id /subscriptions/$SUBSCRIPTION/resourcegroups/$AKS_RG/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME \
        --upgrade-mode SelfManaged
    

Verificar a conectividade do cluster membro

  • Depois de ingressar no cluster, você pode verificar a conectividade e exibir os detalhes do membro usando o az appnet member show comando.

    az appnet member show --resource-group $APPNET_RG --appnet-name $APPNET_NAME --member-name $APPNET_MEMBER_NAME
    

    Por exemplo, se registrado no modo totalmente gerenciado com o canal de lançamento Stable, a saída será semelhante a:

    {
      "id": "/subscriptions/$SUBSCRIPTION/resourceGroups/$APPNET_RG/providers/Microsoft.AppLink/appLinks/$APPNET_NAME/appLinkMembers/$APPNET_MEMBER_NAME",
      "location": "myLocation",
      "name": "myMemberName",
      "properties": {
        "clusterType": "AKS",
        "connectivityProfile": {
          "eastWestGateway": {
            "visibility": "Internal"
          }
        },
        "metadata": {
          "resourceId": "/subscriptions/$SUBSCRIPTION/resourcegroups/$AKS_RG/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME"
        },
        "observabilityProfile": {
          "metrics": {
            "metricsEndpoint": "https://myMember-mcp-fqdn.appnet.net"
          }
        },
        "provisioningState": "Succeeded",
        "upgradeProfile": {
          "mode": "FullyManaged",
          "fullyManagedUpgradeProfile": {
            "releaseChannel": "Stable"
          }
        }
      },
      "resourceGroup": "myAppNetRG",
      "type": "microsoft.applink/applinks/applinkmembers"
    }
    

Listar membros da Rede de Aplicativos do Kubernetes do Azure

Vários clusters podem ingressar em uma Rede de Aplicativos do Kubernetes do Azure.

  • Liste todos os membros de uma Rede de Aplicativos kubernetes do Azure usando o az appnet member list comando.

    az appnet member list --resource-group $APPNET_RG --appnet-name $APPNET_NAME --output table
    

Excluir recursos da Rede de Aplicativos do Kubernetes do Azure

Excluir um recurso da Rede de Aplicativos do Kubernetes do Azure remove automaticamente todos os seus membros, portanto, você não precisa remover os membros primeiro. A remoção de um membro, seja individualmente ou por meio desse efeito em cascata, não exclui o cluster AKS correspondente.

Remover um membro da Rede de Aplicativos do Kubernetes do Azure

Observação

Antes de remover um membro, você deve remover suas cargas de trabalho do plano de dados ambiente removendo rótulos Istio que você aplicou anteriormente, como istio.io/use-waypoint, istio.io/use-waypoint-namespacee istio.io/dataplane-mode, de recursos.

  1. Remova um membro da Rede de Aplicativos kubernetes do Azure usando o az appnet member remove comando.

    az appnet member remove --resource-group $APPNET_RG --appnet-name $APPNET_NAME --member-name $APPNET_MEMBER_NAME
    
  2. Verifique se o membro foi removido usando o az appnet member list comando.

    az appnet member list --resource-group $APPNET_RG --appnet-name $APPNET_NAME 
    

Excluir um recurso de Rede de Aplicativo do Kubernetes do Azure

  • Exclua o recurso de Rede de Aplicativo do Kubernetes do Azure usando o az appnet delete comando.

    az appnet delete --resource-group $APPNET_RG --appnet-name $APPNET_NAME
    

Para saber mais sobre a Rede de Aplicativos kubernetes do Azure, confira os seguintes artigos: