O Microservices Governance do Microservices Engine (MSE) oferece recursos de governança para aplicações Spring Cloud e Dubbo em clusters Kubernetes open source, sem exigir alterações no código da aplicação. As funcionalidades incluem desligamento graceful, ejeção de outliers, consulta de serviços, autenticação de serviços, testes de serviços e canary release. Esses recursos aumentam significativamente a estabilidade e a eficiência no desenvolvimento de aplicações de microsserviços online. Este tópico descreve como conectar aplicações de um cluster Kubernetes open source ao Microservices Governance do MSE.
Pré-requisitos
Microservices Governance ativado. Para mais informações, consulte Ativar o Microservices Governance.
Versão do componente api-server do Kubernetes igual ou superior a 1.16.
Acesso via Internet ao cluster onde as aplicações estão implantadas.
Para montar o agente Java do MSE, verifique se o tamanho da memória heap da Java Virtual Machine (JVM) é superior a 256 MB.
Etapa 1: Instale o componente ack-onepilot
-
Execute o comando
wgetabaixo para baixar o pacote de instalação do ack-onepilot:wget 'https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-onepilot-4.0.1.tgz' -
Descompacte o pacote de instalação com o seguinte comando:
tar xvf ack-onepilot-4.0.1.tgz -
Modifique os parâmetros a seguir no arquivo
ack-onepilot/values.yaml, localizado no diretório onde o pacote foi descompactado, conforme suas necessidades. Em seguida, salve o arquivo ack-onepilot/values.yaml.registry: registry-__ACK_REGION_ID__.ack.aliyuncs.com/acs/ cluster_id: __ACK_CLUSTER_ID__ accessKey: __ACCESSKEY__ accessKeySecret: __ACCESSKEY_SECRET__ uid: "__ACK_UID__" region_id: __ACK_REGION_ID__-
registry: prefixo do endereço da imagem do componente ack-onepilot. Substitua apenas __ACK_REGION_ID__ pelo endereço da imagem pilot correspondente.-
Caso transfira o endereço da imagem para outro sistema de armazenamento, altere o prefixo do registry após a transferência. Transfira também as três imagens listadas abaixo:
registry-__ACK_REGION_ID__.ack.aliyuncs.com/acs/ack-onepilot:4.0.1
registry-__ACK_REGION_ID__.ack.aliyuncs.com/acs/ack-onepilot-init:4.0.1
registry-__ACK_REGION_ID__.ack.aliyuncs.com/acs/ack-onepilot-alpine:3.18
-
-
cluster_id: ID do cluster Kubernetes.Para clusters autogerenciados não conectados ao Container Service for Kubernetes (ACK), recomenda-se especificar este parâmetro no formato
<uid>-<clusterid>. O parâmetro uid corresponde ao ID da sua conta Alibaba Cloud, e clusterid é o ID exclusivo do cliente.Em clusters ACK ou ACK gerenciados, o valor deste parâmetro é o próprio ID do cluster.
-
accessKeyeaccessKeySecret: AccessKey ID e AccessKey secret da sua conta Alibaba Cloud. Para obter essas credenciais, consulte Obter um par de AccessKey.ImportanteAo utilizar o AccessKey ID de um usuário RAM, certifique-se de que as políticas AliyunARMSFullAccess e AliyunMSEFullAccess estejam anexadas a esse usuário.
uid: ID da sua conta Alibaba Cloud. Para obtê-lo, passe o ponteiro do mouse sobre a foto de perfil no canto superior direito do Alibaba Cloud Management Console.region_id: ID da região onde você deseja ativar o Microservices Governance para a aplicação. Consulte Regiões suportadas para verificar a disponibilidade do MSE.
-
-
Instale o componente ack-onepilot executando o comando a seguir:
ImportanteAntes de executar o comando, confirme que o conteúdo do arquivo config no diretório ~/.kube foi substituído pelas configurações do cluster Kubernetes que acessará o Microservice Governance.
helm3 upgrade --install ack-onepilot ack-onepilot --namespace ack-onepilot --create-namespace
Etapa 2: Modifique o arquivo YAML da aplicação
-
Visualize as configurações da aplicação Deployment desejada com o comando abaixo:
### View the configurations of the specified Deployment application. kubectl get deployment {Name of the Deployment application} -o yamlNotaSe você desconhecer o
name of the Deployment application, liste todas as aplicações Deployment com o comando a seguir. Localize a aplicação desejada na saída do comando e visualize suas configurações.### View the configurations of all the Deployment applications. kubectl get deployments --all-namespace -
Edite o arquivo YAML da aplicação Deployment usando o seguinte comando:
kubectl edit deployment {Name of the Deployment application} -o yaml -
No arquivo YAML, navegue até o caminho spec > template > metadata > labels e adicione o conteúdo abaixo:
msePilotAutoEnable: "on" # Enable Microservices Governance of MSE. msePilotCreateAppName: xxx # The name of your application. mseNamespace: default # The MSE namespace where your application resides. If you do not specify this parameter, the default namespace is used. -
Ao salvar as configurações acima, a aplicação reinicia automaticamente e as alterações entram em vigor.
Após dois a cinco minutos, se sua aplicação aparecer na página no console do MSE e começar a reportar dados, a conexão com o Microservices Governance do MSE foi bem-sucedida.
Próximos passos
Após concluir as etapas anteriores para as aplicações implantadas no cluster Kubernetes open source, o Microservices Governance do MSE estará ativo. Acesse o console do MSE para gerenciar seus serviços Spring Cloud e Dubbo por meio do Microservices Governance do MSE.
Desinstalar o componente ack-onepilot
Caso não precise mais gerenciar aplicações e serviços em um cluster Kubernetes open source com o Microservices Governance do MSE, desinstale o componente ack-onepilot.
O componente ack-onepilot é compartilhado entre o MSE e o Application Real-Time Monitoring Service (ARMS). Antes de desinstalá-lo, confirme que nenhum produto está conectado ao ARMS. Caso contrário, o ARMS deixará de funcionar após a remoção do ack-onepilot.
-
Desinstale o componente ack-onepilot executando o comando a seguir:
helm3 uninstall --namespace ack-onepilot ack-onepilot Reinicie o pod da sua aplicação.