Dubbo Admin is a console for better visualization of Dubbo services, it provides fully support for Dubbo3 and is compatible with 2.7.x, 2.6.x and 2.5.x.
There are 4 methods to run Dubbo Admin in production:
You can choose any of the above methods to run Admin based on your environment. Helm is recommended if your plan to run Admin in a Kubernetes cluster because it will have all the dependencies managed with only one command.
There are two ways to deploy Dubbo Admin with helm depending on how you get the helm chart resources, both of them have the same effect.
1. Get helm chart sources
Clone the Dubbo Admin repo:
$ git clone https://github.com/apache/dubbo-admin.git
From the repo's root directory, change your working directory to deploy/helm/dubbo-admin
$ cd /dubbo-admin/deploy/helm/dubbo-admin
2. Install helm chart
$ helm install dubbo-admin .
Or, if you need to customize the configuration Admin uses to let it connecting to the real registries or configuration centers, specify a customized configuration file using the -f
helm option, for example, the following value file
specifies registry, config-center and metadata addresses:
Content of 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
should be a real address that is accessible from inside the kubernetes cluster.
$ helm install dubbo-admin -f properties.yaml .
The values specified in properties
will override those in application.properties of the Admin image. Despite properties
, you can also set other values defined by Dubbo Admin helm.
3. Visit Dubbo Admin
Dubbo Admin should now has been successfully installed, run the following command:
$ kubectl --namespace default port-forward service/dubbo-admin 38080:38080
Or, you can choose to follow the command instructions from the helm installation process, it should be similar to the following:
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
Open browser and visit http://127.0.0.1:38080, default username and password are root
1. Add helm chart repository (Currently not available)
$ helm repo add dubbo-charts https://dubbo.apache.org/dubbo-charts
$ helm repo update
2. Install helm chart
$ helm install dubbo-admin dubbo-charts/dubbo-admin
Check the corresponding chapter in 1.1.1 Run from helm chart sources to see how to customize helm value.
$ helm install dubbo-admin -f properties.yaml dubbo-charts/dubbo-admin
3. Visit Dubbo Admin
Dubbo Admin should now has been successfully installed, run the following command:
$ kubectl --namespace default port-forward service/dubbo-admin 38080:38080
Open browser and visit http://127.0.0.1:38080, default username and password are root
1. Get Kubernetes manifests
$ git clone https://github.com/apache/dubbo-admin.git
All we need from this step is the Admin kubernetes manifests in deploy/k8s
But before you can apply the manifests, override the default value defined in application.properties by adding items in configmap.yaml
.
$ cd /dubbo-admin/deploy/k8s
2. Deploy Dubbo Admin
# Change configuration in ./deploy/application.yml before apply if necessary
$ kubectl apply -f ./
3. Visit Admin
$ kubectl port-forward service dubbo-admin 38080:38080
Open web browser and visit http://localhost:38080
, default username and password are root
The prebuilt docker image is hosted at: https://hub.docker.com/repository/docker/apache/dubbo-admin
You can run the image directly by mounting a volume from the host that contains an application.properties
file with the accessible registry and config-center addresses specified.
$ docker run -it --rm -v /the/host/path/containing/properties:/config -p 38080:38080 apache/dubbo-admin
Replace /the/host/path/containing/properties
with the actual host path (must be an absolute path) that points to a directory containing application.properties
.
Open web browser and visit http://localhost:38080
, default username and password are root
- Clone source code on
develop
branchgit clone https://github.com/apache/dubbo-admin.git
- Specify registry address in
dubbo-admin-server/src/main/resources/application.properties
- Build
mvn clean package -Dmaven.test.skip=true
- Start
mvn --projects dubbo-admin-server spring-boot:run
ORcd dubbo-admin-distribution/target
;java -jar dubbo-admin-0.1.jar
- Visit
http://localhost:38080
, default username and password areroot
Below contains the description of the project structure for developers who want to contribute to make Dubbo Admin better.
-
dubbo-admin-ui/README.md for more detail
-
Set npm proxy mirror:
If you have network issue, you can set npm proxy mirror to speedup npm install:
add
registry=https://registry.npmmirror.com
to ~/.npmrc
- Standard spring boot project
- configurations in application.properties
-
Run admin server project
backend is a standard spring boot project, you can run it in any java IDE
-
Run admin ui project
at directory
dubbo-admin-ui
, run withnpm run dev
. -
visit web page
visit
http://localhost:38082
, frontend supports hot reload.
Apache Dubbo admin is under the Apache 2.0 license, Version 2.0. See LICENSE for full license text.