Conecte suas aplicações de microsserviços Spring Cloud e Dubbo em execução no Container Service for Kubernetes e no Container Compute Service ao centro de governança do MSE. O MSE oferece diversos recursos de governança de serviços para melhorar a estabilidade dos microsserviços online e aumentar a eficiência do desenvolvimento. Este tópico descreve como conectar aplicações de microsserviços do ACK e ACS ao centro de governança do MSE.
Pré-requisitos
Você criou um managed cluster ou um ACK Serverless cluster.
O cluster ACK ou ACS e o centro de governança do MSE estão na mesma região.
Se o projeto usar o componente open-source Sentinel com
com.alibaba.cloud.sentinel.feign.SentinelFeignAutoConfiguration, a conexão com o centro de governança do MSE falhará.A memória heap da JVM deve ser superior a 256 MB ao anexar o agente Java do MSE.
-
Garanta que o cluster ACK tenha as permissões necessárias para acessar os recursos do MSE.
Por padrão, clusters ACK gerenciados incluem este token. No entanto, alguns clusters mais antigos podem não incluí-lo; portanto, recomendamos verificar se o token existe.
Siga estas etapas para verifique o ARMS Addon Token em um cluster ACK gerenciado:
Faça login no console do Container Service for Kubernetes. Na página Clusters, clique em no nome do cluster desejado.
No painel de navegação à esquerda, escolha . Na lista suspensa Namespaces, selecione kube-system e verifique se addon.arms.token existe. Caso não exista, conceda as permissões manualmente.
Se você utilizar um usuário RAM neste processo, consulte Permissions for RAM users.
Procedimento
Recomendações para selecione um método de conexão:
Caso precise conectar todas ou a maioria das aplicações de um namespace ao centro de governança do MSE, siga o Cenário 1: Ative governança para um namespace. Para as aplicações que não precisam de conexão, adicione o seguinte rótulo aos arquivos YAML:
spec.template.labels.msePilotAutoEnable: "off".Para conectar apenas algumas aplicações de um namespace ao centro de governança do MSE, utilize o Cenário 2: Ative governança para uma única aplicação.
Cenário 1: Ative governança para um namespace
Ao habilitar a governança de microsserviços do MSE para um namespace, o sistema conecta automaticamente os pods de todas as aplicações recém-criadas e reimplantadas nesse namespace ao centro de governança. Não é necessário conectá-las individualmente. Para obter mais informações sobre como crie uma aplicação, consulte Create a stateless workload Deployment.
Faça login no console do MSE e selecione uma região na barra de navegação superior.
No painel de navegação à esquerda, escolha Microservices Governance > Application Governance.
Na página Application list, clique em ACK Application Access.
-
Na caixa de diálogo ACK Application Access, configure os parâmetros e clique em OK.
Defina Onboarding Type como Namespace ou Single Application. Na lista suspensa Container Cluster Namespace, selecione o namespace desejado, como
default. No campo Governance Namespace, insira um nome para o namespace correspondente.Parâmetro
Descrição
Cluster type
Selecione ACK Cluster, ACK Serverless Cluster ou ACS Cluster.
NotaSe você ainda não autorizou o Container Service for Kubernetes a chamar o MSE, clique em Authorize Now para conceder as permissões necessárias.
Cluster Name/ID
Selecione o Cluster Name/ID do cluster a ser conectado ao centro de governança do MSE. É possível pesquisar o cluster por palavra-chave.
ack-onepilot
Exibe o status do componente ack-onepilot. Para obter mais informações sobre esse componente e como atualizá-lo, consulte ack-onepilot component e Install and upgrade the MSE microservices governance component.
-
Se o ack-onepilot não estiver instalado, o sistema iniciará automaticamente a instalação após a seleção de um cluster e exibirá a mensagem "The installation process takes about 1 minute. Wait for a while."
Caso utilize um usuário RAM e receba um erro de permissão, faça login no console do Container Service for Kubernetes. Acesse o cluster desejado e, no painel de navegação à esquerda, clique em Add-ons. Localize o ack-onepilot e clique em Install.
-
Se o ack-onepilot já estiver instalado, a interface exibirá a versão instalada, por exemplo,
Installed 4.2.0.
Nota-
Para visualize detalhes sobre o componente ack-onepilot, faça login no console do Container Service for Kubernetes, navegue até o cluster desejado e escolha Operations > Add-ons.
-
Após a instalação do ack-onepilot, ele injeta automaticamente um agente Java. Isso pode aumentar o tempo de inicialização da aplicação em até 10 segundos.
-
Ao conectar por namespace, se o cluster alvo não estiver em uma das regiões listadas, garanta que ele tenha acesso à rede pública e possa se conectar a acm.aliyun.com:8080: China (Qingdao), China (Hangzhou), China (Beijing), China (Shanghai), Shanghai Finance Cloud, China (Shenzhen), Hong Kong (China), Singapore, Germany (Frankfurt), Australia (Sydney), US (Silicon Valley) e US (Virginia).
Access Type
Selecione Namespace Access.
Cluster Namespace
Selecione o Cluster Namespace.
Microservices Governance Namespace
Selecione um Microservices Governance Namespace.
-
Informações adicionais:
-
Após conectar uma aplicação em um cluster ACK ou ACS ao centro de governança do MSE, o console exibe o nome do Deployment por padrão. Para especifique um nome personalizado para a aplicação, modifique a configuração YAML da aplicação implantada.
spec: template: metadata: labels: # The MSE microservices governance namespace for your application. Defaults to 'default'. mseNamespace: default # Replace with your desired application name. msePilotCreateAppName: "your-deployment-name" -
Para desabilitar a governança de microsserviços de uma aplicação específica, adicione o rótulo
msePilotAutoEnableà configuração YAML da aplicação e defina seu valor comooff.spec: template: metadata: labels: # The value "off" must be enclosed in single or double quotation marks. msePilotAutoEnable: "off"
Cenário 2: Ative governança para uma única aplicação
Para conectar apenas algumas aplicações do namespace ao centro de governança do MSE, conecte-as individualmente.
Faça login no console do MSE e selecione uma região na barra de navegação superior.
No painel de navegação à esquerda, escolha Microservices Governance > Application Governance.
Na página Application list, clique em ACK Application Access.
-
Na caixa de diálogo ACK Application Access, configure os parâmetros e clique em OK.
Defina Onboarding Type como Single Application. Na seção Edit Labels (YAML format), adicione os seguintes rótulos em
spec.template.metadata.labelsno arquivo YAML do Deployment da aplicação:msePilotAutoEnable: "on"para habilitar a governança de microsserviços,mseNamespace: defaultpara especifique o namespace do MSE emsePilotCreateAppName: "your-deployment-name"para defina o nome da aplicação. Substituayour-deployment-namepelo nome real do Deployment.Parâmetro
Descrição
Cluster type
Selecione ACK Cluster, ACK Serverless Cluster ou ACS Cluster.
NotaSe você ainda não autorizou o Container Service for Kubernetes a chamar o MSE, clique em Authorize Now para conceder as permissões necessárias.
Cluster Name/ID
Selecione o Cluster Name/ID do cluster a ser conectado ao centro de governança do MSE. É possível pesquisar o cluster por palavra-chave.
ack-onepilot
Exibe o status do componente ack-onepilot. Para obter mais informações sobre esse componente e como atualizá-lo, consulte ack-onepilot component e Install and upgrade the MSE microservices governance component.
-
Se o ack-onepilot não estiver instalado, o sistema iniciará automaticamente a instalação após a seleção de um cluster e exibirá a mensagem "The installation process takes about 1 minute. Wait for a while."
Caso utilize um usuário RAM e receba um erro de permissão, faça login no console do Container Service for Kubernetes. Acesse o cluster desejado e, no painel de navegação à esquerda, clique em Add-ons. Localize o ack-onepilot e clique em Install.
-
Se o ack-onepilot já estiver instalado, a interface exibirá a versão instalada, por exemplo,
Installed 4.2.0.
Nota-
Para visualize detalhes sobre o componente ack-onepilot, faça login no console do Container Service for Kubernetes, navegue até o cluster desejado e escolha Operations > Add-ons.
-
Após a instalação do ack-onepilot, ele injeta automaticamente um agente Java. Isso pode aumentar o tempo de inicialização da aplicação em até 10 segundos.
-
Ao conectar por namespace, se o cluster alvo não estiver em uma das regiões listadas, garanta que ele tenha acesso à rede pública e possa se conectar a acm.aliyun.com:8080: China (Qingdao), China (Hangzhou), China (Beijing), China (Shanghai), Shanghai Finance Cloud, China (Shenzhen), Hong Kong (China), Singapore, Germany (Frankfurt), Australia (Sydney), US (Silicon Valley) e US (Virginia).
Access Type
Selecione Single Application Access.
Access Procedure
Siga estas etapas.
Step 1: No console do Container Service for Kubernetes, acesse a página Workloads > Deployments do cluster e alterne para o namespace da aplicação.
Step 2: Localize a aplicação desejada e clique em Edit YAML.
Step 3: Edite o campo
labelsconforme mostrado no exemplo a seguir e clique em Update.spec: template: metadata: labels: # Set to "on" to enable connection. The value must be enclosed in double quotation marks. msePilotAutoEnable: "on" # Specify the target governance namespace. If the namespace does not exist, it is automatically created. mseNamespace: default # Specify the application name to be displayed in MSE. The value must be enclosed in double quotation marks. msePilotCreateAppName: "your-deployment-name" -
Verifique os resultados
Após concluir estas etapas e reiniciar as aplicações, a governança de microsserviços do MSE torna-se ativa para as aplicações no Container Service for Kubernetes e no Container Compute Service.
Faça login no console do MSE e selecione uma região na barra de navegação superior.
No painel de navegação à esquerda, escolha Microservices Governance > Application Governance.
Selecione o namespace de governança de microsserviços desejado para visualize as aplicações conectadas.
Próximas etapas
Depois de conectar a aplicação ao centro de governança do MSE, utilize recursos como canary release de ponta a ponta, inicialização e encerramento graceful e regras de limitação de tráfego. Para obter mais informações, consulte Get started with service governance in 15 minutes (Java).