您可以将部署在开源Kubernetes环境中的Java应用,通过探针(Agent)接入方式,零代码修改接入多活容灾MSHA。本文介绍安装和卸载MSHA探针的具体步骤。

前提条件

  • 开通并配置MSHA
  • 安装Helm
  • Kubernetes api-server组件接口版本在1.10及以上。
  • 您的集群已连通公网。
  • 如果JDK版本为1.8.0_25或者1.8.0_31,可能会出现无法安装探针的情况,请升级至1.8.X最新版本。

安装探针

步骤一:安装Pilot

目前仅支持接入无状态(Deployment)的应用。

  1. 执行以下wget命令下载Pilot安装包。
    wget 'https://edas-public.oss-cn-hangzhou.aliyuncs.com/mse/mse-pilot-unmanaged.zip' -O mse-pilot-unmanaged.zip
    说明 多活容灾MSHA与微服务引擎MSE共用同一个Pilot,因此,此处安装包名称为mse-pilot。
  2. 执行以下命令解压Pilot安装包。
    unzip mse-pilot-unmanaged.zip
  3. 执行以下命令安装Pilot。
    kubectl create namespace mse-pilot 
    helm install mse-pilot ./mse-pilot-unmanaged --namespace mse-pilot
    说明
    • 在执行命令之前,请检查 ~/.kube/config文件中的K8s集群连接信息是否正确。
    • 命名空间Namespace名称固定为mse-pilot,不需要修改。
    • 安装Pilot组件大约需要2分钟,请耐心等待。

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

  1. 执行以下命令查看目标无状态(Deployment)应用的配置。
    ### 查看指定无状态(Deployment)类型应用的配置
    kubectl get deployment {deployment名称} -o yaml 
    说明 若您无法确定{deployment名称}的值,请先执行以下命令查看所有无状态(Deployment)应用,在执行结果中找到目标无状态(Deployment)应用,再查看其配置。
    ### 查看所有无状态(Deployment)类型应用的配置
    kubectl get deployments --all-namespace     
  2. 启动编辑目标无状态(Deployment)应用的YAML文件。
    kubectl edit deployment {Deployment名称} -o yaml
  3. 在YAML文件中的spec > template > metadata > annotations层级下加入以下内容。
    spec:
      template:
        metadata:
          annotations:
            mshaEnable: "on"
            mshaNamespace: "<namespaceId>" //替换为您MSHA控制台中的命名空间ID。命名空间ID可以在MSHA控制台的基础配置>命名空间页面获取。
            mshaAppName: "<appName>" //替换为您实际使用的应用名称。
            mshaLicence: "<license>" //替换为您的账号对应的License。License可以在MSHA控制台的探针管理页面获取。
  4. 配置Nacos作为命令下发通道,并为探针配置Nacos连接JVM参数。具体操作,请参见配置Nacos作为规则下发通道
  5. 单击保存
    保存配置后,应用将自动重启,以上配置生效。2~5分钟后,若您的应用出现在MSHA控制台的探针管理页面,包含应用名称、IP,且状态为在线,则说明探针安装成功。探针管理

卸载探针

您可以通过以下方式卸载探针。

  1. 执行以下命令卸载mse-pilot。
    helm del --purge mse-pilot
  2. 重启您的应用Pod。