Dubbo Admin 是一个控制台,为 Dubbo 集群提供更好可视化服务。Admin 支持 Dubbo3 并很好的兼容 2.7.x、2.6.x 和 2.5.x。
有四种将 Dubbo Admin 部署到生产环境的方式:
你可以基于自己的环境选择任一方式,其中,Helm 是推荐的安装方式,因为 Helm 可以做到一键安装,自动帮助管理所有 Admin 必须的生产环境依赖。
通过 Helm 运行 Admin 有两种方式,它们起到相同的效果,因此可以选择以下任意一种。
1. 下载 chart 源文件
克隆 Dubbo Admin 仓库源码:
$ git clone https://github.com/apache/dubbo-admin.git
从仓库根目录切换到以下目录 deploy/helm/dubbo-admin
$ cd dubbo-admin/deploy/helm/dubbo-admin
2. 安装 helm chart
$ helm install dubbo-admin .
或者,如果你想定制 Admin 的启动参数,以便让 Admin 连接到真实的生产环境注册中心或配置中心,可以通过以下 -f
helm 参数指定自定义配置文件:
properties.xml
properties: |
admin.registry.address=zookeeper://30.221.144.85:2181
admin.config-center=zookeeper://30.221.144.85:2181
admin.metadata-report.address=zookeeper://30.221.144.85:2181
zookeeper://30.221.144.85:2181
是可以在 Kubernetes 集群内被访问到的真实地址。
$ helm install dubbo-admin -f properties.yaml .
properties
字段指定的内容将会覆盖 Admin 镜像中 application.properties 指定的默认配置,除了 properties
之外,还可以定制 Admin helm chart 定义的其他属性,这里是可供使用的完整参数。
3. 访问 Admin
Dubbo Admin 现在应该已经成功安装,运行以下命令获得访问地址:
$ kubectl --namespace default port-forward service/dubbo-admin 38080:38080
或者,你可以参考执行 helm 安装后给出的提示命令,类似如下:
export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=dubbo-admin,app.kubernetes.io/instance=dubbo-admin" -o jsonpath="{.items[0].metadata.name}")
export CONTAINER_PORT=$(kubectl get pod --namespace default $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
echo "Visit http://127.0.0.1:38080 to use your application"
kubectl --namespace default port-forward $POD_NAME 38080:$CONTAINER_PORT
打开浏览器并访问 http://127.0.0.1:38080,默认的 username 和 password 是 root
1. 添加 helm chart 仓库 (暂时不可用)
$ helm repo add dubbo-charts https://dubbo.apache.org/dubbo-charts
$ helm repo update
2. 安装 helm chart
$ helm install dubbo-admin dubbo-charts/dubbo-admin
参考 1.1.1 基于 Chart 源文件运行 Admin 中相应环节了解如何定制安装参数
$ helm install dubbo-admin -f properties.yaml dubbo-charts/dubbo-admin
3. 访问 Dubbo Admin
Dubbo Admin 现在应该已经成功安装,运行以下命令获得访问地址:
$ kubectl --namespace default port-forward service/dubbo-admin 38080:38080
打开浏览器并访问 http://127.0.0.1:38080,默认的 username 和 password 是 root
1. 下载 Kubernetes manifests
$ git clone https://github.com/apache/dubbo-admin.git
切换到 deploy/k8s
目录可以看到 Admin kubernetes 资源文件
$ cd /dubbo-admin/deploy/k8s
2. 部署 Dubbo Admin
首先,请参照application.properties 修改 configmap.yml
中的参数配置,只定义要覆盖参数即可。
执行以下命令:
$ kubectl apply -f ./
3. 访问 Admin
$ kubectl port-forward service dubbo-admin 38080:38080
打开浏览器并访问 http://localhost:38080
, 默认 username 和 password 是 root
预先定义的 Admin 镜像托管在: https://hub.docker.com/repository/docker/apache/dubbo-admin
可以直接运行镜像来部署 Admin,并通过绑定宿主机上的 application.properties
文件定制镜像默认参数,如注册中心、配置中心地址等。
$ docker run -it --rm -v /the/host/path/containing/properties:/config -p 38080:38080 apache/dubbo-admin
将 /the/host/path/containing/properties
替换为宿主机上包含 application.properties
文件的实际路径(必须是一个有效目录的绝对路径)。
打开浏览器并访问 http://localhost:38080
, 默认 username 和 password 是 root
- 下载代码:
git clone https://github.com/apache/dubbo-admin.git
- 在
dubbo-admin-server/src/main/resources/application.properties
中指定注册中心地址 - 构建
mvn clean package -Dmaven.test.skip=true
- 启动
mvn --projects dubbo-admin-server spring-boot:run
或者cd dubbo-admin-distribution/target; java -jar dubbo-admin-${project.version}.jar
- 访问
http://localhost:38080
以下是项目架构介绍,适合想贡献源码的开发者阅读。
-
使用Vue.js作为javascript框架
-
dubbo-admin-ui/README.md中有更详细的介绍
-
设置 npm 代理镜像 :
如果遇到了网络问题,可以设置npm代理镜像来加速npm install的过程:
在~/.npmrc中增加
registry=https://registry.npmmirror.com
- 标准spring boot工程
- application.properties配置说明
-
运行
dubbo-admin-server
dubbo-admin-server
是一个标准的spring boot项目, 可以在任何java IDE中运行它 -
运行
dubbo-admin-ui
dubbo-admin-ui
由npm管理和构建,在dubbo-admin-ui
目录中,可以单独运行:npm run dev
-
页面访问
访问
http://localhost:38082
, 由于前后端分开部署,前端支持热加载,任何页面的修改都可以实时反馈,不需要重启应用。
部署完成后,可以访问 http://localhost:38080/swagger-ui.html 来查看所有的restful api