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:
- O cluster ligado, que é uma projeção do Azure da sua infraestrutura do Kubernetes. Para obter mais informações, consulte O que é o Kubernetes compatível com o Azure Arc?.
- Uma extensão de cluster, que é uma sub-origem do recurso de cluster ligado. A extensão Serviço de Aplicações instala os pods necessários no cluster ligado. Para obter mais informações sobre extensões de cluster, veja Extensões de cluster no Kubernetes compatível com o Azure Arc.
- Uma localização personalizada, que agrupa um grupo de extensões e as mapeia para um espaço de nomes para recursos criados. Para obter mais informações, veja Localizações personalizadas sobre o Kubernetes compatível com o Azure Arc.
- Uma Serviço de Aplicações ambiente do Kubernetes, que permite a configuração comum em todas as aplicações, mas não relacionada com operações de cluster. Conceptualmente, é implementado no recurso de localização personalizada e os programadores de aplicações criam aplicações neste ambiente. Este recurso é descrito em maior detalhe no Serviço de Aplicações ambiente do Kubernetes.
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?
- As aplicações Windows e Linux são suportadas?
- Que pilhas de aplicações incorporadas são suportadas?
- Todos os tipos de implementação de aplicações são suportados?
- Que funcionalidades de Serviço de Aplicações são suportadas?
- Todas as funcionalidades de rede são suportadas?
- As identidades geridas são suportadas?
- Existem limites de dimensionamento?
- Que registos são recolhidos?
- O que devo fazer se vir um erro de registo do fornecedor?
- Posso implementar a extensão dos Serviços de aplicações num cluster baseado em ARM64?
- Em que distribuições do Kubernetes posso implementar a extensã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)