O Enterprise Distributed Application Service (EDAS) integra o Container Service for Kubernetes (ACK), permitindo gerenciar aplicações em contêineres na Alibaba Cloud com Kubernetes. Crie clusters Kubernetes no console do ACK. Para clusters de nuvem híbrida, como os implantados em nuvens de terceiros ou autogerenciados em data centers, registre-os no console do ACK. Em seguida, importe esses clusters para o EDAS e implante aplicações neles. O EDAS oferece gerenciamento de alta disponibilidade para aplicações em contêineres e aumenta a eficiência de operações e manutenção (O&M), permitindo que você foque no desenvolvimento e na gestão das suas aplicações.
Recursos dos clusters Kubernetes no EDAS
O EDAS permite importar clusters dedicados do ACK, clusters gerenciados do ACK e clusters ACK Serverless (ASK) criados no console do ACK. Para comparar os três tipos de cluster, consulte O que é o ACK?
Os clusters dedicados e gerenciados do ACK importados para o EDAS correspondem a clusters ACK no EDAS. Os clusters ACK Serverless importados correspondem a clusters ACK Serverless no EDAS.
Antes de importar clusters de nuvem híbrida para o EDAS — como clusters Kubernetes em nuvens de terceiros ou autogerenciados em data centers —, registre-os no console do ACK. Esses clusters de nuvem híbrida importados correspondem a clusters ACK no EDAS.
Para saber como registrar um cluster de nuvem híbrida no console do ACK, consulte Criar um proxy de registro de cluster e registrar um cluster Kubernetes implantado em um data center.
Os clusters Kubernetes gerenciados no EDAS apresentam as seguintes vantagens em relação aos clusters autogerenciados:
-
Além da base nativa da nuvem do Kubernetes, o EDAS fornece recursos de hospedagem de aplicações para implementar governança de microsserviços open source e O&M leve sob a perspectiva da aplicação.
Com foco na aplicação, o EDAS gerencia workloads nativos do Kubernetes, como deployments e pods, e oferece implantação de instâncias com alta disponibilidade entre zonas.
O EDAS suporta liberações graduais e canary release com base na proporção de tráfego e em parâmetros de requisição. Todo o processo de alteração é monitorado, garantindo a rastreabilidade dos registros.
A integração com os principais sistemas DevOps ajuda as empresas a implementar integração contínua (CI) e entrega contínua (CD), reduzindo custos e aumentando a eficiência.
-
Migre aplicações orientadas a microsserviços construídas com Spring Cloud e Dubbo nos últimos cinco anos para o EDAS sem modificar o código. O EDAS suporta os seguintes recursos de governança de microsserviços para todos os frameworks de aplicação:
Desligamento graceful e testes de estresse durante a liberação da aplicação
Autenticação de serviço, limitação de taxa, degradação e ejeção de outliers durante a execução da aplicação
Consulta e teste de serviços nas operações e manutenção da aplicação
-
A Alibaba Cloud transforma sua experiência em observabilidade, canary release e rollback para segurança em produção em serviços prontos para uso imediato.
Observabilidade: monitoramento ponta a ponta em múltiplas dimensões, com visão geral da aplicação, registros de alterações de liberação e geração automática de relatórios.
Canary release: suporte a liberações canário baseadas na proporção de tráfego ou em políticas de conteúdo de requisição.
Rollback: reversão com um clique durante o processo de liberação, permitindo retornar aplicações em execução a uma versão anterior.
Fluxo de trabalho dos clusters Kubernetes
Para implantar uma aplicação em um cluster ACK, crie ou registre um cluster ACK no console do Container Service for Kubernetes (ACK) e importe-o para o console do EDAS. Em seguida, utilize um pacote de implantação ou uma imagem no cluster Container Service for Kubernetes (ACK) importado para implantar a aplicação.

No EDAS, o procedimento para gerenciar clusters ACK é semelhante ao gerenciamento de clusters de nuvem híbrida. Este tópico utiliza um cluster ACK como exemplo para descrever o processo.
Pré-requisitos
O EDAS deve estar ativado na sua conta Alibaba Cloud. Para mais detalhes, consulte Ativar o EDAS.
O ACK deve estar ativado e a autorização de funções concluída na sua conta Alibaba Cloud. Para mais detalhes, consulte Funções do ACK.
Conceda as permissões necessárias, incluindo as de login, da sua conta Alibaba Cloud a um usuário RAM responsável pelo gerenciamento dos clusters Kubernetes.
Criar um cluster Kubernetes no console do Container Service for Kubernetes (ACK)
-
Para utilizar um cluster ACK no EDAS, crie um cluster Kubernetes gerenciado ou dedicado no console do Container Service for Kubernetes (ACK). Consulte os tópicos abaixo para mais informações:
Para usar um cluster ACK Serverless no EDAS, crie um cluster ACK Serverless no console do Container Service for Kubernetes (ACK). Para mais informações, consulte Criar um cluster ACK Serverless.
Importar um cluster Kubernetes para o console do EDAS
Por padrão, os componentes ack-ahas-sentinel-pilot, ack-arms-pilot e ack-arms-prometheus são instalados ao importar um cluster ACK para o EDAS através do console. O componente ack-ahas-sentinel-pilot protege a aplicação com limitação de taxa e degradação. O ack-arms-pilot integra o Application Real-Time Monitoring Service (ARMS). Já o ack-arms-prometheus fornece monitoramento via Prometheus.
Recomendamos familiarizar-se com os limites operacionais do EDAS antes de importar um cluster Kubernetes. Para mais detalhes, consulte Importação de um cluster Kubernetes.
Faça login no console do EDAS.
No painel de navegação à esquerda, escolha .
Na barra de navegação superior, selecione a região do namespace de microsserviço desejado. Na lista suspensa Microservice Namespace, escolha o namespace para onde importar o cluster ACK. Em seguida, clique em Synchronize Container Service Kubernetes Cluster.
Localize o cluster ACK a ser importado e clique em Import na coluna Actions.
-
Na caixa de diálogo Import Kubernetes Cluster, selecione um namespace na lista suspensa Microservice Namespaces, ative a opção Service Mesh conforme necessário e clique em Import.
NotaCaso nenhum namespace de microsserviço tenha sido criado, o namespace padrão será selecionado automaticamente.
Para implantar aplicações multilíngues, ative a opção Service Mesh.
-
Ao ativar o Service Mesh, duas instâncias internas do Server Load Balancer (SLB) com a especificação slb.s1.small são criadas automaticamente para gerenciamento. As portas 6443 e 15011 dessas instâncias ficam expostas. Para mais detalhes, consulte a seção "Context" do tópico Criar uma instância do ASM.
Há cobrança pelas duas instâncias SLB criadas automaticamente. Para detalhes sobre faturamento, consulte Pagamento conforme o uso.
Se o parâmetro Cluster Status exibir Running e o parâmetro Import Status mostrar Imported. para o cluster ACK, a importação para o EDAS foi concluída com sucesso.
Cancelar a importação e limpar um cluster Kubernetes no console do EDAS
Faça login no console do EDAS.
No painel de navegação à esquerda, escolha ou .
-
Na barra de navegação superior, selecione a região onde o cluster está localizado. Na lista suspensa Microservice Namespace, escolha o namespace correspondente. Na coluna Actions do cluster, clique em Cancel Import. Na mensagem de Note, clique em OK.
Quando o parâmetro Cluster Status estiver como Running, reimporte o cluster para o EDAS e crie aplicações.
-
Se o parâmetro Cluster Status indicar Deleted, clique em Clear na coluna Actions para remover o cluster da lista no EDAS.
NotaPara mais informações sobre operações e perguntas frequentes relacionadas à exclusão de clusters, consulte Excluir um cluster.
Visualizar um cluster Kubernetes no console do EDAS
Faça login no console do EDAS.
No painel de navegação à esquerda, escolha ou .
-
Clique no ID do cluster que deseja visualizar. A página Cluster Details será aberta.
Na página Cluster Details, visualize detalhes do cluster, instâncias do Elastic Compute Service (ECS), deployments e aplicações.
-
Cluster Information: Exibe informações básicas como Cluster ID, csClusterId, Cluster Name, Microservice Namespace, Cluster Type, VPC ID, Network Type, Cluster Status e Description.
Na seção Cluster Information, clique em View Details no canto superior direito para ver os detalhes completos do cluster.
Ainda na seção Cluster Information, clique em Edit no canto superior direito para alterar a descrição do cluster.
ECS Instance: Apresenta as instâncias ECS presentes no cluster e uma visão geral delas.
Deployments: Mostra os deployments autogerenciados em plataformas de terceiros convertidos e gerenciados no EDAS.
Applications: Lista as aplicações do cluster, incluindo nome, versão do JDK, ambiente de execução, total de instâncias, instâncias em execução e proprietário. Clique no nome de uma aplicação para acessar sua página de detalhes.
-
Importação de um cluster Kubernetes
Grupo de segurança
Todos os nós do cluster devem pertencer ao grupo de segurança do cluster ou ter conectividade com ele. Para mais informações, consulte Por que os contêineres falham ao se comunicar entre si?
Não exclua as regras padrão definidas pelo ACK para o grupo de segurança.
Configuração do nó
Reserve CPU, memória e Pods suficientes para a execução dos componentes de gerenciamento do EDAS no cluster.
Mantenha a função RAM
KubernetesWorkerRole-*atribuída pelo ACK aos nós.
SLB para API Server
Não bloqueie requisições de acesso provenientes do intervalo de endereços internos
100.104.0.0/16.Preserve os rótulos integrados adicionados pelo ACK à instância SLB.
Evite reutilizar a porta 6443 na instância SLB, pois ela é reservada para o API Server.
Helm charts
-
Não desinstale os seguintes Helm charts instalados pelo EDAS nem exclua recursos gerenciados por eles:
ahas-sentinel-pilotarms-eventerarms-pilotarms-prom
Não instale versões open source de
oam-runtime,kubevela,kedaouflagger. Elas entram em conflito com as versões gerenciadas pelo EDAS e podem causar falhas na implantação.Não exclua nem modifique recursos Kubernetes no namespace
edas-oam-system.
ClusterRole
Não utilize o console do ACK, kubectl ou ferramentas de terceiros para excluir ou modificar o edas-default-cluster-role.
ClusterRoleBinding
Não use o console do ACK, kubectl ou ferramentas externas para excluir ou modificar os seguintes ClusterRoleBindings:
edas-default-cluster-role-bindingedas-oam-cluster-role-bindingkeda-hpa-controller-external-metrics
Definições de recursos personalizados (CRDs) e recursos personalizados (CRs)
Não gerencie diretamente os CRDs ou CRs listados abaixo. O ciclo de vida deles pertence ao EDAS, e alterações manuais serão sobrescritas durante atualizações da aplicação:
alertproviders.flagger.appapplicationconfigurations.core.oam.devapplications.oam-domain.alibabacloud.comapplicationscopes.core.oam.devautoscalings.edas.aliyun.oam.combasecomponents.oam-domain.alibabacloud.comcanaries.flagger.appcomponentschematics.core.oam.devcrdreleases.clm.cloudnativeapp.iodynamiclabels.extension.oam.devimagebuilders.edas.aliyun.oam.comlogcollectors.edas.aliyun.oam.commeshtraits.edas.aliyun.oam.commetrictemplates.flagger.appmseruletraits.edas.aliyun.oam.compackageversions.oam-domain.alibabacloud.comrollouts.edas.aliyun.oam.comscaledobjects.keda.k8s.ioscalingrules.oam-domain.alibabacloud.comserviceregistrytraits.edas.aliyun.oam.comservicetraits.edas.aliyun.oam.comsources.clm.cloudnativeapp.iotraits.core.oam.devtriggerauthentications.keda.k8s.ioworkloadtypes.core.oam.dev
Não modifique o recurso aliyunlogconfigs.log.alibabacloud.com criado pelo EDAS. Esse recurso possui o rótulo edas-domain: edas-admincode.
Referências
Implantar uma aplicação Java de microsserviços a partir de uma imagem de contêiner
Implantar uma aplicação Java em um cluster ACK com pacote JAR ou WAR
Usar uma imagem para implantar uma aplicação em um cluster ACK Serverless
Implantar uma aplicação Java em um cluster ACK Serverless usando pacote JAR ou WAR
Implantar uma aplicação PHP do código-fonte em um cluster ACK