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

卸载探针
您可以通过以下方式卸载探针。
- 执行以下命令卸载mse-pilot。
helm del --purge mse-pilot
- 重启您的应用Pod。