Puede conectar sus aplicaciones de microservicios Spring Cloud y Dubbo que se ejecutan en Container Service for Kubernetes y Container Compute Service al centro de gobernanza de MSE. Con MSE, puede utilizar una amplia gama de capacidades de gobernanza de servicios para mejorar la estabilidad de sus microservicios en línea y aumentar la eficiencia del desarrollo. Este tema describe cómo conectar aplicaciones de microservicios desde ACK y ACS al centro de gobernanza de MSE.
Requisitos previos
Ha creado un managed cluster o un ACK Serverless cluster.
El clúster de ACK o ACS y el centro de gobernanza de MSE se encuentran en la misma región.
Si su proyecto utiliza el componente de código abierto Sentinel junto con
com.alibaba.cloud.sentinel.feign.SentinelFeignAutoConfiguration, la conexión al centro de gobernanza de MSE fallará.La memoria heap de la JVM debe ser superior a 256 MB cuando adjunte el agente de Java de MSE.
-
Asegúrese de que el clúster de ACK tenga los permisos necesarios para acceder a los recursos de MSE.
De forma predeterminada, los clústeres administrados de ACK incluyen este token. Sin embargo, algunos clústeres más antiguos podrían no tenerlo, por lo que se recomienda comprobar que el token existe.
Siga estos pasos para verificar la existencia del ARMS Addon Token en un clúster administrado de ACK:
Inicie sesión en la consola de Container Service for Kubernetes. En la página Clusters, haga clic en el nombre del clúster objetivo.
En el panel de navegación izquierdo, vaya a . En la lista desplegable Namespaces, seleccione kube-system y compruebe si existe addon.arms.token. Si no existe, debe otorgar los permisos manualmente.
Si utiliza un usuario de RAM para este proceso, consulte Permissions for RAM users.
Procedimiento
Recomendaciones para seleccionar un método de conexión:
Si necesita conectar todas o la mayoría de las aplicaciones de un namespace al centro de gobernanza de MSE, se recomienda seguir el Escenario 1: Habilitar la gobernanza para un namespace. Para las aplicaciones que no requieran conexión, debe agregar la siguiente etiqueta a sus archivos YAML:
spec.template.labels.msePilotAutoEnable: "off".Si solo necesita conectar algunas aplicaciones de un namespace al centro de gobernanza de MSE, se recomienda seguir el Escenario 2: Habilitar la gobernanza para una sola aplicación.
Escenario 1: Habilitar la gobernanza para un namespace
Después de habilitar la gobernanza de microservicios de MSE para un namespace, MSE conecta automáticamente los pods de todas las aplicaciones nuevas y redesplegadas en dicho namespace al centro de gobernanza. No es necesario conectarlas individualmente. Para obtener más información sobre cómo crear una aplicación, consulte Create a stateless workload Deployment.
Inicie sesión en la consola de MSE y seleccione una región en la barra de navegación superior.
En el panel de navegación izquierdo, vaya a Microservices Governance > Application Governance.
En la página Application list, haga clic en ACK Application Access.
-
En el cuadro de diálogo ACK Application Access, configure los parámetros y haga clic en OK.
Establezca Onboarding Type en Namespace o Single Application. En la lista desplegable Container Cluster Namespace, seleccione el namespace objetivo, como
default. En el campo Governance Namespace, introduzca un nombre para el namespace correspondiente.Parámetro
Descripción
Cluster type
Seleccione ACK Cluster, ACK Serverless Cluster o ACS Cluster.
NotaSi no ha autorizado a Container Service for Kubernetes para llamar a MSE, haga clic en Authorize Now para otorgar los permisos necesarios.
Cluster Name/ID
Seleccione el Cluster Name/ID del clúster que desea conectar al centro de gobernanza de MSE. Puede buscar el clúster por palabra clave.
ack-onepilot
Muestra el estado del componente ack-onepilot. Para obtener más información sobre este componente y cómo actualizarlo, consulte ack-onepilot component y Install and upgrade the MSE microservices governance component.
-
Si ack-onepilot no está instalado, el sistema inicia automáticamente la instalación después de seleccionar un clúster y muestra el mensaje "The installation process takes about 1 minute. Wait for a while."
Si utiliza un usuario de RAM y recibe un error de permiso, inicie sesión en la consola de Container Service for Kubernetes. Vaya al clúster objetivo y, en el panel de navegación izquierdo, haga clic en Add-ons. Busque ack-onepilot y haga clic en Install.
-
Si ack-onepilot ya está instalado, la interfaz muestra la versión instalada, por ejemplo,
Installed 4.2.0.
Nota-
Puede ver detalles sobre el componente ack-onepilot al iniciar sesión en la consola de Container Service for Kubernetes, navegar al clúster objetivo e ir a Operations > Add-ons.
-
Una vez instalado ack-onepilot, este inyecta automáticamente un agente de Java. Esto puede aumentar el tiempo de inicio de la aplicación hasta en 10 segundos.
-
Al conectar por namespace, si su clúster objetivo no se encuentra en una de las regiones listadas, asegúrese de que tenga acceso a la red pública y pueda conectarse 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) y US (Virginia).
Access Type
Seleccione Namespace Access.
Cluster Namespace
Seleccione el Cluster Namespace.
Microservices Governance Namespace
Seleccione un Microservices Governance Namespace.
-
Información adicional:
-
Después de conectar una aplicación en un clúster de ACK o ACS al centro de gobernanza de MSE, la consola muestra su nombre de Deployment de forma predeterminada. Para especificar un nombre de aplicación personalizado, modifique la configuración YAML de la aplicación desplegada.
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 deshabilitar la gobernanza de microservicios para una aplicación específica, agregue la etiqueta
msePilotAutoEnablea la configuración YAML de la aplicación y establezca su valor enoff.spec: template: metadata: labels: # The value "off" must be enclosed in single or double quotation marks. msePilotAutoEnable: "off"
Escenario 2: Habilitar la gobernanza para una sola aplicación
Si solo necesita conectar algunas aplicaciones de su namespace al centro de gobernanza de MSE, puede conectarlas una por una.
Inicie sesión en la consola de MSE y seleccione una región en la barra de navegación superior.
En el panel de navegación izquierdo, vaya a Microservices Governance > Application Governance.
En la página Application list, haga clic en ACK Application Access.
-
En el cuadro de diálogo ACK Application Access, configure los parámetros y haga clic en OK.
Establezca Onboarding Type en Single Application. En la sección Edit Labels (YAML format), agregue las siguientes etiquetas bajo
spec.template.metadata.labelsen el archivo YAML de Deployment de la aplicación:msePilotAutoEnable: "on"para habilitar la gobernanza de microservicios,mseNamespace: defaultpara especificar el namespace de MSE, ymsePilotCreateAppName: "your-deployment-name"para establecer el nombre de la aplicación. Reemplaceyour-deployment-namecon el nombre real del Deployment.Parámetro
Descripción
Cluster type
Seleccione ACK Cluster, ACK Serverless Cluster o ACS Cluster.
NotaSi no ha autorizado a Container Service for Kubernetes para llamar a MSE, haga clic en Authorize Now para otorgar los permisos necesarios.
Cluster Name/ID
Seleccione el Cluster Name/ID del clúster que desea conectar al centro de gobernanza de MSE. Puede buscar el clúster por palabra clave.
ack-onepilot
Muestra el estado del componente ack-onepilot. Para obtener más información sobre este componente y cómo actualizarlo, consulte ack-onepilot component y Install and upgrade the MSE microservices governance component.
-
Si ack-onepilot no está instalado, el sistema inicia automáticamente la instalación después de seleccionar un clúster y muestra el mensaje "The installation process takes about 1 minute. Wait for a while."
Si utiliza un usuario de RAM y recibe un error de permiso, inicie sesión en la consola de Container Service for Kubernetes. Vaya al clúster objetivo y, en el panel de navegación izquierdo, haga clic en Add-ons. Busque ack-onepilot y haga clic en Install.
-
Si ack-onepilot ya está instalado, la interfaz muestra la versión instalada, por ejemplo,
Installed 4.2.0.
Nota-
Puede ver detalles sobre el componente ack-onepilot al iniciar sesión en la consola de Container Service for Kubernetes, navegar al clúster objetivo e ir a Operations > Add-ons.
-
Una vez instalado ack-onepilot, este inyecta automáticamente un agente de Java. Esto puede aumentar el tiempo de inicio de la aplicación hasta en 10 segundos.
-
Al conectar por namespace, si su clúster objetivo no se encuentra en una de las regiones listadas, asegúrese de que tenga acceso a la red pública y pueda conectarse 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) y US (Virginia).
Access Type
Seleccione Single Application Access.
Access Procedure
Siga estos pasos.
Step 1: En la consola de Container Service for Kubernetes, vaya a la página Workloads > Deployments de su clúster y cambie al namespace de su aplicación.
Step 2: Busque la aplicación objetivo y haga clic en Edit YAML.
Step 3: Edite el campo
labelscomo se muestra en el siguiente ejemplo y haga clic en 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" -
Comprobar los resultados
Después de completar estos pasos y reiniciar sus aplicaciones, la gobernanza de microservicios de MSE se activa para las aplicaciones en Container Service for Kubernetes y Container Compute Service.
Inicie sesión en la consola de MSE y seleccione una región en la barra de navegación superior.
En el panel de navegación izquierdo, vaya a Microservices Governance > Application Governance.
Seleccione el namespace de gobernanza de microservicios objetivo para ver las aplicaciones conectadas.
Siguientes pasos
Después de conectar su aplicación al centro de gobernanza de MSE, puede utilizar funciones como versiones canary de extremo a extremo, inicio y apagado graceful, y reglas de limitación de tráfico. Para obtener más información, consulte Get started with service governance in 15 minutes (Java).