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 cluster gerenciado ou um cluster ACK Serverless.
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 verificar a existência do ARMS Addon Token em um cluster ACK gerenciado:
Faça login no console do Container Service for Kubernetes. Na página Clusters, clique em 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 Permissões para usuários RAM.
Procedimento
Recomendações para escolher o método de conexão:
Para conectar todas ou a maioria das aplicações de um namespace ao centro de governança do MSE, siga o Cenário 1: Ativar governança para um namespace. Nas aplicações que não precisam de conexão, adicione o seguinte rótulo aos arquivos YAML:
spec.template.labels.msePilotAutoEnable: "off".Caso precise conectar apenas algumas aplicações de um namespace ao centro de governança do MSE, utilize o Cenário 2: Ativar governança para uma única aplicação.
Cenário 1: Ativar governança para um namespace
Ao ativar 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 mais informações sobre como criar uma aplicação, consulte Criar um Deployment de carga de trabalho sem estado.
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 que deseja conectar 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 mais informações sobre este componente e como atualizá-lo, consulte Componente ack-onepilot e Instalar e atualizar o componente de governança de microsserviços do MSE.
-
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."
Ao usar um usuário RAM e receber 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.
-
Caso o ack-onepilot já esteja instalado, a interface exibirá a versão instalada, por exemplo,
Installed 4.2.0.
Nota-
Para visualizar 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 (Pequim), China (Xangai), Shanghai Finance Cloud, China (Shenzhen), Hong Kong (China), Singapura, Alemanha (Frankfurt), Austrália (Sydney), EUA (Vale do Silício) e EUA (Virgínia).
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 especificar 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 desativar 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: Ativar governança para uma única aplicação
Quando for necessário conectar apenas algumas aplicações do namespace ao centro de governança do MSE, realize a conexão 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 ativar a governança de microsserviços,mseNamespace: defaultpara especificar o namespace do MSE emsePilotCreateAppName: "your-deployment-name"para definir 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 que deseja conectar 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 mais informações sobre este componente e como atualizá-lo, consulte Componente ack-onepilot e Instalar e atualizar o componente de governança de microsserviços do MSE.
-
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."
Ao usar um usuário RAM e receber 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.
-
Caso o ack-onepilot já esteja instalado, a interface exibirá a versão instalada, por exemplo,
Installed 4.2.0.
Nota-
Para visualizar 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 (Pequim), China (Xangai), Shanghai Finance Cloud, China (Shenzhen), Hong Kong (China), Singapura, Alemanha (Frankfurt), Austrália (Sydney), EUA (Vale do Silício) e EUA (Virgínia).
Access Type
Selecione Single Application Access.
Access Procedure
Siga estas etapas.
Step 1: No console do Container Service for Kubernetes, navegue até a página Workloads > Deployments do seu cluster e alterne para o namespace da sua 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 suas 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 visualizar as aplicações conectadas.
Próximas etapas
Depois de conectar sua aplicação ao centro de governança do MSE, utilize recursos como lançamento canário de ponta a ponta, inicialização e encerramento graceful e regras de limitação de tráfego. Para mais informações, consulte Introdução à governança de serviços em 15 minutos (Java).