This is still an experimental version.
  
The universal Control Plane and Console for managing microservices on any environment – VM and Kubernetes.
Quick Start (under development)
NOTICE: As the project has not been officially released yet, the following commands may not run properly. The best way for now is to refer to the Developers Guide to learn how to download the source code and build it locally!
1. Download the Dubbo Control Plane Binary Package
To begin, you will need to download the `dubbo-control-plane` binary package using the following command:
curl -L https://raw.githubusercontent.com/apache/dubbo-kubernetes/master/release/download/dubbo.sh | sh -
Once downloaded, navigate into the directory:
cd dubbo-$version
Remember to export the PATH to include bin:
export PATH=$PWD/bin:$PATH
2. Install Control Plane on Kubernetes
Next, you can install the control-plane with the following command:
dubboctl install --profile=demo
3. Check Installation
To verify if the installation was successful, you can execute:
kubectl get services -n dubbo-system
4. Deploy Dubbo Applications to Kubernetes
With the control plane installed, you can deploy Dubbo applications using the following YAML configuration:
apiVersion: v1
kind: Service
metadata:
name: demo-service
namespace: dubbo-demo
spec:
selector:
app: dubbo-demo
type: ClusterIP
ports:
- name: port1
protocol: http
port: 80
targetPort: 8080
---
apiVersion: appsv1
kind: Deployment
metadata:
name: example-app
namespace: dubbo-demo
spec:
...
template:
metadata:
...
labels:
app: dubbo-demo
dubbo.apache.orgservice: dubbo-demo
spec:
containers:
...
If you want to create your own Dubbo application from scratch and deploy it, please use dubboctl.
5. Check Deployment Status
Finally, to check the deployment status on the control plane UI, run:
kubectl port-forward svc/dubbo-control-plane -n dubbo-system 5681:5681
Then visit: 127.0.0.1:5681/admin
Architecture
The microservice architecture built with the Dubbo Control Plane consists of two main components:
- The Dubbo Control Plane configures the data plane – applications developed with Dubbo SDK, for handling service traffic. Users create policies that the Dubbo control plane processes to generate configurations for the data plane.
- The Data Plane – the Dubbo SDK, connects directly to the control plane and receives configurations that can work as sources for service discovery, traffic routing, load balancing, etc.
Dubbo Control Plane supports two deployment modes: Kubernetes and Universal.
- Kubernetes mode is akin to classic Service Mesh architecture, with all microservices concepts bonded to Kubernetes resources. Unlike classic service mesh solutions like Istio, Dubbo favors a proxyless data plane deployment – with no Envoy sidecar.
- Universal is the traditional microservice architecture familiar to all Dubbo users, which usually requires a dedicated registry like Nacos or Zookeeper for service discovery.
Kubernetes Mode
In Kubernetes mode, the control plane interacts directly with the Kubernetes API-SERVER, watching the resources and transforming them as xDS resources for service discovery and traffic management configurations.
Kubernetes Service is an application concept run on a selected group of pods, while Dubbo Service signifies a specific RPC service inside the application process. For bridging the interface-application gap, check here.
Universal Mode
In Universal mode, Dubbo utilizes Nacos or Zookeeper as registries for service discovery. The control plane interacts directly with the registry to function as the console UI.
Multiple Clusters
Dubbo Control Plane supports running services across multiple zones, even mixing Kubernetes and Universal zones. This flexibility enables environments to include isolated services and workloads across different regions, clouds, or data centers.
A zone can be a Kubernetes cluster, a VPC, or any other deployment required in the same distributed microservice environment.
Roadmap
- Security
- Metrics
- Cross-cluster communication
- Console
References
Troubleshooting
If you encounter issues during installation or deployment, here are some troubleshooting tips:
- Ensure that your Kubernetes cluster is correctly configured and running.
- Verify that the
dubbocontrol-planeservice is reachable. - Check network connectivity between your control plane and data plane components.
- Review logs for any error messages that can give insights into failures.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

