借助MSE微服务治理,您无需修改任何代码就可以为开源K8s环境中的Spring Cloud和Dubbo应用提供无侵入的微服务治理能力,包含无损下线、离群实例摘除、服务查询、服务鉴权、服务测试和金丝雀发布,大幅提升线上微服务的稳定性和开发效率。本文将帮助您将开源K8s环境中的应用接入MSE服务治理中心。

前提条件

步骤一:安装ack-onepilot

  1. 执行以下wget命令下载ack-onepilot安装包。
     wget 'https://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/ack-onepilot/ack-onepilot-3.0.4.tgz'
  2. 执行以下命令解压ack-onepilot安装包。
    tar xvf ack-onepilot-3.0.4.tgz                 
  3. 编辑安装包下的values.yaml文件,根据实际情况修改以下参数,然后保存。
    image: registry-vpc.__ACK_REGION_ID__.aliyuncs.com/ack-onepilot
    cluster_id: __ACK_CLUSTER_ID__
    accessKey: __ACCESSKEY__
    accessKeySecret: __ACCESSKEY_SECRET__
    uid: "__ACK_UID__"
    region_id: __ACK_REGION_ID__
    • __ACK_REGION_ID__:阿里云地域ID,MSE支持的地域,请参见开服地域
    • __ACK_CLUSTER_ID__:自定义Kubernetes集群ID,集群的唯一标识。建议格式为<uid>-<clusterid>
    • ___ACCESSKEY____ACCESSKEY_SECRET__:阿里云账号的AccessKey ID和AccessKey Secret。获取方法,请参见获取AccessKey
    • __ACK_UID__:阿里云账号ID。将鼠标悬浮于阿里云控制台右上角的头像上可以获取。
  4. 执行以下命令安装ack-onepilot。
    注意 请确保执行命令之前,您已经将~/.kube/config文件内容替换成需要接入MSE微服务治理的K8s集群的配置。
    helm3 upgrade --install ack-onepilot ack-onepilot --namespace ack-onepilot --create-namespace

步骤二:修改应用的YAML文件

  1. 执行以下命令查看目标无状态(Deployment)应用的配置。
    ### 查看指定无状态(Deployment)类型应用的配置
    kubectl get deployment {deployment名称} -o yaml                            
    说明 如果您不清楚{deployment名称},请先执行以下命令查看所有无状态(Deployment)应用,在执行结果中找到目标无状态(Deployment)应用,再查看目标无状态(Deployment)应用的配置。
    ### 查看所有无状态(Deployment)类型应用的配置
    kubectl get deployments --all-namespace                
  2. 启动编辑目标无状态(Deployment)应用的YAML文件。
    kubectl edit deployment {Deployment名称} -o yaml                        
  3. 在YAML文件中的spec > template > metadata > labels层级下加入以下内容。
    msePilotAutoEnable: "on"
    msePilotCreateAppName: xxx // 您的应用名称                       
  4. 保存配置后,应用将自动重启,以上配置生效。

    2~5分钟后,若您的应用出现在MSE控制台的MSE治理中心 > 应用列表中,包含应用实例,且有数据上报,则说明接入成功。

后续步骤

完成上述步骤后,您就为部署在开源K8s环境中的应用开启了MSE微服务治理。登录MSE治理中心控制台,即可使用MSE微服务治理对您的Spring Cloud和Dubbo应用进行服务治理。

卸载ack-onepilot

当您不再需要治理开源K8s环境中的应用及服务时,可以卸载ack-onepilot。

  1. 执行以下命令卸载ack-onepilot。
    helm3 uninstall --namespace ack-onepilot ack-onepilot
  2. 重启您的应用Pod。