-
Notifications
You must be signed in to change notification settings - Fork 76
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
55 additions
and
73 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,103 +1,85 @@ | ||
# NOTICE | ||
此分支是 Dubbo Admin 正在基于 Go 语言重构的开发分支,目前仍在开发过程中。 | ||
如您正寻求将 Dubbo Admin 用作生产环境,想了解 Admin 的能力及安装方式,请参见 [develop 分支](https://github.com/apache/dubbo-admin/tree/develop#dubbo-admin) 及内部相关使用说明。 | ||
<h1 align="center"> | ||
The Dubbo Kubernetes Integration | ||
</h1> | ||
|
||
# 运行 Admin | ||
## 启动 Zookeeper | ||
首先,你需要在本地启动一个 [zookeeper server](https://zookeeper.apache.org/doc/current/zookeeperStarted.html),用作 Admin 连接的注册/配置中心。 | ||
<p align="center" style="color: red; font-weight: bold;"> | ||
⚠️ This is still an experimental version. ⚠️ | ||
</p> | ||
|
||
## 启动 Admin | ||
[![Build](https://github.com/apache/dubbo-kubernetes/actions/workflows/ci.yml/badge.svg)](https://github.com/apache/dubbo-kubernetes/actions/workflows/ci.yml) | ||
[![codecov](https://codecov.io/gh/apache/dubbo-kubernetes/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/dubbo-kubernetes) | ||
![license](https://img.shields.io/badge/license-Apache--2.0-green.svg) | ||
|
||
### Run with IDE | ||
Once open this project in GoLand, a pre-configured Admin runnable task can be found from "Run Configuration" pop up menu as shown below. | ||
This repository contains libraries and tools for creating and deploying Dubbo applications in any Kubernetes environment, i.e. on Kubernetes, Aliyun ACK, etc. | ||
|
||
![image.png](docs/images/ide_configuration.png) | ||
## Prerequisites: | ||
* Ensure you have Go installed, version 1.20 or higher. | ||
* Make sure you install kubectl. | ||
* Ensure you have Dubboctl installed. | ||
|
||
Click the `Run` button and you can get the Admin process started locally. | ||
|
||
> But before doing that, you might need to change the configuration file located at `/conf/dubboadmin.yml` to make sure `registry.address` is pointed to the zookeeper server you started before. | ||
```yaml | ||
admin: | ||
registry: | ||
address: zookeeper://127.0.0.1:2181 | ||
config-center: zookeeper://127.0.0.1:2181 | ||
metadata-report: | ||
address: zookeeper://127.0.0.1:2181 | ||
``` | ||
### Run with command line | ||
## Quick Start | ||
### Create a Dubbo application | ||
Use `dubboctl create` to create a project template. | ||
|
||
```shell | ||
$ export ADMIN_CONFIG_PATH=/path/to/your/admin/project/conf/admin.yml | ||
$ cd cmd/admin | ||
$ go run . | ||
dubboctl create -l java | ||
``` | ||
|
||
Open the browser and visit http://localhost:38080/admin/ to open the console. | ||
This should generate a simple project with a demo service properly configured and is ready to run. | ||
|
||
> If you also have the Java version admin running, make sure to use different port to avoid conflict. | ||
> For java developers, it's recommended to use [start.dubbo.apache.org]() or [IntelliJ IDEA plugin]() to generate more complicated templates. | ||
### 一些 Dubbo 客户端示例 | ||
为了能在 Admin 控制台看到一些示例数据,可以在本地启动一些示例项目。可参考以下两个链接,务必确保示例使用的注册中心指向你之前启动的 zookeeper server,如果示例中有使用 embeded zookeeper 则应该进行修改并指向你本地起的 zookeeper 集群。 | ||
### Deploy application to Kubernetes | ||
Before deploying the application, let's install Nacos, Zookeeper, Prometheus and other components necessary for running a Dubbo application or microservice cluster. | ||
|
||
1. https://github.com/apache/dubbo-samples/tree/master/1-basic/dubbo-samples-spring-boot | ||
2. https://dubbo.apache.org/zh-cn/overview/quickstart/java/brief/ | ||
```shell | ||
dubboctl install --profile=demo # This will install Nacos, Prometheus, Grafana, Admin, etc. | ||
``` | ||
|
||
## 前端开发步骤 | ||
项目完整前端代码存放在:`[dubbo-admin-ui](./dubbo-admin-ui/README.md)`。 | ||
Next, build your application as docker image and deploy it into kubernetes cluster with `dubboctl deploy`, it will do the following two steps: | ||
|
||
## 贡献代码 | ||
开发过程中,可以使用预先定义好的 Makefile 任务来完成代码检查、测试等一系列工作。以下是一些命令说明 | ||
1. Build your application from source code into docker image and push the image to remote repository. | ||
2. Generate all the kubernetes configurations (e.g., deployments, services, load balancers) needed to run your application on vanilla Kubernetes. | ||
|
||
### 代码格式化 | ||
```shell | ||
make fmt #Run gofumpt against code. | ||
dubboctl deploy --out=deployment.yml | ||
``` | ||
|
||
### 代码检查 | ||
To run all code formatting, linting and vetting tools use the target: | ||
Finally, apply manifests into kubernetes cluster. | ||
|
||
```shell | ||
make lint #Run golang lint against code | ||
kubectl apply -f deployment.yml | ||
``` | ||
|
||
### 测试代码 | ||
### Monitor and manage your application | ||
We already have the application up and running, now it's time to continuously monitor the status or manage the traffics of our applications. | ||
|
||
```shell | ||
make test #Run all tests | ||
make test-dubboctl #Run tests for dubboctl | ||
make test-admin #Run tests for admin | ||
make test-authority #Run tests for authority | ||
``` | ||
#### Admin | ||
Run the following command and open `http://localhost:38080/admin/` with your favourite browser. | ||
|
||
### Swagger API | ||
```shell | ||
make swagger #Generate dubbo-admin swagger docs in hack/swagger | ||
dubboctl dashboard admin | ||
``` | ||
|
||
### 打包 | ||
```shell | ||
make build #Build binary with the dubbo admin, authority, and dubboctl | ||
make build-admin #Build binary with the dubbo admin. | ||
make build-authority #Build binary with the dubbo authority. | ||
make build-dubboctl #Build binary with the dubbo dubboctl. | ||
make build-ui #Build the distribution of the admin ui pages. | ||
``` | ||
### 生成镜像 | ||
```shell | ||
make image #Build docker image with the dubbo admin, authority and admin-ui | ||
make image-admin #Build docker image with the dubbo admin. | ||
make image-authority #Build docker image with the dubbo authority. | ||
make image-ui #Build docker image with the dubbo admin ui. | ||
``` | ||
### 多平台生成镜像和打包 | ||
![Admin Console]() | ||
|
||
|
||
![Admin Grafana]() | ||
|
||
#### Tracing | ||
```shell | ||
make buildx #Build and push docker cross-platform image for the dubbo admin and authority | ||
make buildx-admin #Build and push docker image with the dubbo admin for cross-platform support | ||
make buildx-authority #Build and push docker image with the dubbo authority for cross-platform support | ||
make buildx-dubboctl #Build the dubboctl distribution for cross-platform support | ||
dubboctl dashboard zipkin | ||
``` | ||
|
||
## 发布指南 | ||
正式发布的一些 make 命令... | ||
#### Traffic Management | ||
Please refer to our official website to learn the traffic policies in Dubbo with some well-designed tasks. | ||
* Timeout | ||
* Accesslog | ||
* Region-aware traffic split | ||
* Weight-based traffic split | ||
* Circuit breaking | ||
* Canary release | ||
|
||
|
||
|
||
|