Serviço de Aplicações, Funções e Logic Apps no Azure Arc (Pré-visualização)

Pode executar Serviço de Aplicações, Funções e Logic Apps num cluster do Kubernetes compatível com o Azure Arc. O cluster do Kubernetes pode estar no local ou alojado numa cloud de terceiros. Esta abordagem permite que os programadores de aplicações tirem partido das funcionalidades do Serviço de Aplicações. Ao mesmo tempo, permite que os administradores de TI mantenham a conformidade empresarial ao alojar as aplicações Serviço de Aplicações na infraestrutura interna. Também permite que outros operadores de TI protejam os seus investimentos anteriores noutros fornecedores de cloud ao executar Serviço de Aplicações em clusters do Kubernetes existentes.

Nota

Para saber como configurar o cluster do Kubernetes para Serviço de Aplicações, Funções e Logic Apps, veja Criar um ambiente do Serviço de Aplicações Kubernetes (Pré-visualização).

Na maioria dos casos, os programadores de aplicações não precisam de saber mais do que como implementar na região correta do Azure que representa o ambiente do Kubernetes implementado. Para os operadores que fornecem o ambiente e mantêm a infraestrutura do Kubernetes subjacente, tem de estar ciente dos seguintes recursos do Azure:

Limitações da pré-visualização pública

As seguintes limitações de pré-visualização pública aplicam-se aos Serviço de Aplicações ambientes do Kubernetes. Esta lista de limitações é atualizada à medida que as alterações e as funcionalidades são disponibilizadas.

Limitação Detalhes
Regiões do Azure suportadas E.U.A. Leste, Europa Ocidental
Requisito de rede de cluster Tem de suportar LoadBalancer o tipo de serviço
Requisito de armazenamento de clusters Tem de ter a classe de armazenamento anexada ao cluster disponível para utilização pela extensão para suportar a implementação e compilação de aplicações baseadas em código, sempre que aplicável
Funcionalidade: Rede Não disponível (depende da rede de clusters)
Funcionalidade: Identidades geridas Não disponível
Funcionalidade: Referências do cofre de chaves Não disponível (depende de identidades geridas)
Funcionalidade: extrair imagens do ACR com identidade gerida Não disponível (depende de identidades geridas)
Funcionalidade: Edição no portal para Funções e Aplicações Lógicas Não disponível
Funcionalidade: Lista de funções ou chaves do portal Não disponível se o cluster não estiver acessível publicamente
Funcionalidade: publicação de FTP Não disponível
Registos O Log Analytics tem de ser configurado com a extensão do cluster; não por site

Pods criados pela extensão Serviço de Aplicações

Quando a extensão Serviço de Aplicações é instalada no cluster do Kubernetes compatível com o Azure Arc, são criados vários pods no espaço de nomes de versão especificado. Estes pods permitem que o cluster do Kubernetes seja uma extensão do fornecedor de Microsoft.Web recursos no Azure e suportam a gestão e o funcionamento das suas aplicações. Opcionalmente, pode optar por instalar a extensão KEDA para dimensionamento orientado por eventos.

A tabela seguinte descreve a função de cada pod que é criado por predefinição:

Pod Description
<extensionName>-k8se-app-controller O pod do operador principal que cria recursos no cluster e mantém o estado dos componentes.
<extensionName>-k8se-envoy Uma camada de proxy de front-end para todos os pedidos do plano de dados. Encaminha o tráfego de entrada para as aplicações corretas.
<extensionName>-k8se-activator Um destino de encaminhamento alternativo para ajudar com aplicações que dimensionaram para zero enquanto o sistema obtém a primeira instância disponível.
<extensionName>-k8se-build-service Suporta operações de implementação e serve a funcionalidade Ferramentas avançadas.
<extensionName>-k8se-http-scaler Monitoriza o volume de pedidos de entrada para fornecer informações de dimensionamento à KEDA.
<extensionName>-k8se-img-cacher Extrai o marcador de posição e as imagens da aplicação para uma cache local no nó.
<extensionName>-k8se-log-processor Recolhe registos de aplicações e outros componentes e envia-os para o Log Analytics.
placeholder-azure-functions-* Usado para acelerar o frio começa por Funções do Azure.

Serviço de Aplicações ambiente do Kubernetes

O Serviço de Aplicações recurso de ambiente do Kubernetes é necessário para que as aplicações possam ser criadas. Permite a configuração comum a aplicações na localização personalizada, como o sufixo DNS predefinido.

Apenas um recurso de ambiente do Kubernetes pode ser criado numa localização personalizada. Na maioria dos casos, um programador que cria e implementa aplicações não precisa de estar diretamente ciente do recurso. Pode ser inferido diretamente a partir do ID de localização personalizada fornecido. No entanto, ao definir modelos de Resource Manager do Azure, qualquer recurso de plano tem de referenciar diretamente o ID de recurso do ambiente. Os valores de localização personalizados do plano e do ambiente especificado têm de corresponder.

FAQ sobre Serviço de Aplicações, Funções e Logic Apps no Azure Arc (Pré-visualização)

Quanto custa?

Serviço de Aplicações no Azure Arc é gratuita durante a pré-visualização pública.

As aplicações Windows e Linux são suportadas?

Apenas são suportadas aplicações baseadas no Linux, tanto de código como de contentores personalizados. As aplicações do Windows não são suportadas.

Que pilhas de aplicações incorporadas são suportadas?

Todas as pilhas incorporadas do Linux são suportadas.

Todos os tipos de implementação de aplicações são suportados?

A implementação de FTP não é suportada. Atualmente az webapp up , também não é suportado. São suportados outros métodos de implementação, incluindo Git, ZIP, CI/CD, Visual Studio e Visual Studio Code.

Que funcionalidades de Serviço de Aplicações são suportadas?

Durante o período de pré-visualização, determinadas funcionalidades de Serviço de Aplicações estão a ser validadas. Quando são suportadas, as opções de navegação à esquerda no portal do Azure serão ativadas. As funcionalidades que ainda não são suportadas permanecem desativadas.

Todas as funcionalidades de rede são suportadas?

Não. As funcionalidades de rede, como ligações híbridas ou integração Rede Virtual, não são suportadas. O suporte de restrição de acesso foi adicionado em abril de 2022. A rede deve ser processada diretamente nas regras de rede no próprio cluster do Kubernetes.

As identidades geridas são suportadas?

Não. Não é possível atribuir identidades geridas às aplicações quando são executadas no Azure Arc. Se a sua aplicação precisar de uma identidade para trabalhar com outro recurso do Azure, considere utilizar um principal de serviço de aplicação .

Existem limites de dimensionamento?

Todas as aplicações implementadas com Serviço de Aplicações do Azure no Kubernetes com o Azure Arc podem ser dimensionadas dentro dos limites do cluster do Kubernetes subjacente. Se o Cluster do Kubernetes subjacente ficar sem recursos de computação disponíveis (CPU e memória principalmente), as aplicações só poderão dimensionar para o número de instâncias da aplicação que o Kubernetes pode agendar com o recurso disponível.

Que registos são recolhidos?

Os registos dos componentes do sistema e das aplicações são escritos na saída padrão. Ambos os tipos de registo podem ser recolhidos para análise com as ferramentas padrão do Kubernetes. Também pode configurar a extensão de cluster Serviço de Aplicações com uma área de trabalho do Log Analytics e envia todos os registos para essa área de trabalho.

Por predefinição, os registos dos componentes do sistema são enviados para a equipa do Azure. Os registos de aplicações não são enviados. Pode evitar que estes registos sejam transferidos ao definir logProcessor.enabled=false como definição de configuração da extensão. Esta definição de configuração também desativará o reencaminhamento da aplicação para a área de trabalho do Log Analytics. A desativação do processador de registos poderá afetar o tempo necessário para quaisquer casos de suporte e ser-lhe-á pedido para recolher registos da saída padrão através de outros meios.

O que devo fazer se vir um erro de registo do fornecedor?

Ao criar um recurso de ambiente do Kubernetes, algumas subscrições poderão ver um erro "Não foi encontrado nenhum fornecedor de recursos registado". Os detalhes do erro podem incluir um conjunto de localizações e versões de API que são consideradas válidas. Se esta mensagem de erro for devolvida, a subscrição tem de ser novamente registada no fornecedor Microsoft.Web, uma operação que não tenha impacto nas aplicações ou APIs existentes. Para voltar a registar-se, utilize a CLI do Azure para executar az provider register --namespace Microsoft.Web --wait. Em seguida, reattempt o comando de ambiente do Kubernetes.

Posso implementar a extensão dos Serviços de aplicações num cluster baseado em ARM64?

Neste momento, os clusters baseados em ARM64 não são suportados.

Em que distribuições do Kubernetes posso implementar a extensão?

A extensão foi validada no AKS, no AKS no Azure Stack HCI, no Google Kubernetes Engine, no Amazon Elastic Kubernetes Service e na API de Cluster do Kubernetes.

Notas de Versão da Extensão

Extensão dos serviços de aplicações v 0.9.0 (maio de 2021)

  • Versão de pré-visualização pública inicial da extensão dos Serviços de aplicações.
  • Suporte para implementações baseadas em código e contentores de Aplicações Web, De Funções e Lógicas.
  • O runtime de aplicações Web suporta --- .NET 3.1 e 5.0; Nó JS 12 e 14; Python 3.6, 3.7 e 3.8; PHP 7.3 e 7.4; Ruby 2.5, 2.5.5, 2.6 e 2.6.2; Java SE 8u232, 8u242, 8u252, 11.05, 11.06 e 11.07; Tomcat 8.5, 8.5.41, 8.5.53, 8.5.57, 9.0, 9.0.20, 9.0.33 e 9.0.37.

Extensão dos serviços de aplicações v 0.10.0 (novembro de 2021)

  • Foi removido o requisito para o Endereço IP Estático pré-atribuído necessário para a atribuição ao ponto final do Enviado
  • Atualizar Keda para v2.4.0
  • Atualizar o Enviado para v1.19.0
  • Atualizar o runtime da Função do Azure para v3.3.1
  • Defina a contagem de réplicas predefinida do Controlador de Aplicações e do Controlador enviado para 2 para aumentar a estabilidade

Se a extensão estiver na versão estável e a versão secundária da atualização automática estiver definida como verdadeira, a extensão é atualizada automaticamente. Para atualizar manualmente a extensão para a versão mais recente, pode executar o comando:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.10.0

Extensão dos serviços de aplicações v 0.11.0 (dezembro de 2021)

  • Foi adicionado suporte do Application Insights para Aplicações Web Java e .NET
  • Suporte adicionado para Aplicações Web .NET 6.0
  • Foi removido o .NET Core 2.0
  • Resolução de problemas que causaram a falha das operações de troca de blocos
  • Problemas resolvidos que os clientes tiveram durante a criação de aplicações Web Ruby

Se a extensão estiver na versão estável e a versão secundária da atualização automática estiver definida como verdadeira, a extensão é atualizada automaticamente. Para atualizar manualmente a extensão para a versão mais recente, pode executar o comando:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.11.0

Extensão dos serviços de aplicações v 0.11.1 (dezembro de 2021)

  • Versão secundária para resolver o problema com a atualização do CRD

Se a extensão estiver na versão estável e a versão secundária da atualização automática estiver definida como verdadeira, a extensão é atualizada automaticamente. Para atualizar manualmente a extensão para a versão mais recente, pode executar o comando:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.11.1

Extensão dos serviços de aplicações v 0.12.0 (janeiro de 2022)

  • Suporte para proxy de saída
  • Suporte para compilações paralelas no serviço de compilação
  • Atualizar Enviado para 1.20.1
  • Resolução do problema com o suporte do Application Insights para Aplicações .NET

Se a extensão estiver na versão estável e a versão secundária da atualização automática estiver definida como verdadeira, a extensão é atualizada automaticamente. Para atualizar manualmente a extensão para a versão mais recente, pode executar o comando:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.12.0

Extensão dos serviços de aplicações v 0.12.1 (março de 2022)

  • Foi resolvido um problema com o suporte de proxy de saída para ativar o registo na Área de Trabalho do Log Analytics

Se a extensão estiver na versão estável e a versão secundária da atualização automática estiver definida como verdadeira, a extensão é atualizada automaticamente. Para atualizar manualmente a extensão para a versão mais recente, pode executar o comando:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.12.1

Extensão dos serviços de aplicações v 0.12.2 (março de 2022)

  • Atualização para resolver falhas de atualização ao atualizar a partir da v 0.12.0 quando o comprimento do nome da extensão tiver mais de 35 carateres

Se a extensão estiver na versão estável e a versão secundária da atualização automática estiver definida como verdadeira, a extensão é atualizada automaticamente. Para atualizar manualmente a extensão para a versão mais recente, pode executar o comando:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.12.2

Extensão dos serviços de aplicações v 0.13.0 (abril de 2022)

  • Foi adicionado suporte para a integração sem código do Application Insights para aplicações Node JS
  • Suporte adicionado para Restrições de Acesso através da CLI
  • Mais detalhes fornecidos quando a extensão não é instalada, para ajudar na resolução de problemas

Se a extensão estiver na versão estável e a versão secundária da atualização automática estiver definida como verdadeira, a extensão é atualizada automaticamente. Para atualizar manualmente a extensão para a versão mais recente, pode executar o comando:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.13.0

Extensão dos serviços de aplicações v 0.13.1 (abril de 2022)

  • Atualização para resolver falhas de atualização observadas durante a atualização automática de clusters para v 0.13.0

Se a extensão estiver na versão estável e a versão secundária da atualização automática estiver definida como verdadeira, a extensão é atualizada automaticamente. Para atualizar manualmente a extensão para a versão mais recente, pode executar o comando:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.13.1

Passos seguintes

Criar um ambiente do Serviço de Aplicações Kubernetes (Pré-visualização)