Dubbo Admin

Dubbo Admin 是一个为了更好地可视化 Dubbo 服务的控制台,它提供对 Dubbo3 的全面支持,并兼容 2.7.x、2.6.x 和 2.5.x。

快速入门

在生产环境中运行Dubbo Admin有4种方法:

  • 使用 Helm 运行(推荐)
  • 使用 Kubernetes 运行
  • 使用 Docker 运行
  • 从源代码运行

您可以根据您的环境选择以上任意一种方式来运行Admin。如果您计划在 Kubernetes 集群中运行 Admin,建议使用 Helm,因为它只需一个命令即可管理所有依赖项。

1、使用 Helm 运行(推荐)

[dnager] 使用 Helm 部署 Dubbo Admin 有两种方式,具体取决于您获取 Helm Chart 资源的方式,两种方式的效果相同。

1.1、从 Helm Chart 源运行
1. 获取helm图表源

克隆 Dubbo 管理存储库:

$ 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 .

或者,如果你需要自定义管理员用于连接到真实注册中心或配置中心的配置,请使用helm 的 -f 选项指定自定义配置文件,例如:以下 value file 指定注册表、配置中心和元数据地址:

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.yaml 中指定的值将覆盖管理映像的 application.properties 中的值。除 properties.yaml 外,你还可以设置 Dubbo Admin helm 定义的其他值。

3. 访问Dubbo管理员

现在 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 ,默认用户名和密码为 root

1.2 从 Helm Chart 存储库运行

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 从 Helm Chart 源运行中的相应章节,了解如何自定义 Helm 值。

$ helm install dubbo-admin -f properties.yaml dubbo-charts/dubbo-admin
3. 访问Dubbo管理员

现在 Dubbo Admin 应该已经成功安装,运行以下命令:

$ kubectl --namespace default port-forward service/dubbo-admin 38080:38080

打开浏览器访问 http://127.0.0.1:38080 ,默认用户名和密码为 root

1.2 使用 Kubernetes 运行

1. 获取 Kubernetes 清单
$ git clone https://github.com/apache/dubbo-admin.git

此步骤中我们需要的只是管理 Kubernetes 清单 deploy/k8s

但在应用清单之前,请通过在 中添加项目来覆盖 application.properties 中定义的默认值=3>.configmap.yaml

$ cd /dubbo-admin/deploy/k8s
2. 部署Dubbo管理员
# Change configuration in ./deploy/application.yml before apply if necessary
$ kubectl apply -f ./
3. 访问管理员
$ kubectl port-forward service dubbo-admin 38080:38080

打开网络浏览器并访问 http://localhost:38080 ,默认用户名和密码为root

1.3 使用 Docker 运行

预构建的 docker 镜像托管于:https://hub.docker.com/repository/docker/apache/dubbo-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 ,默认用户名和密码为root

1.4 从源代码编译

在 develop 分支上克隆源代码 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-0.1.jar
  • 访问http://localhost:38080,默认用户名和密码为root
参考资料:
作者:Jeebiz  创建时间:2023-12-19 12:51
最后编辑:Jeebiz  更新时间:2023-12-22 13:33