实现 nacos 的分布式集群部署配置
This commit is contained in:
147
docker/nacos-cluster/README.md
Normal file
147
docker/nacos-cluster/README.md
Normal file
@@ -0,0 +1,147 @@
|
||||
## nacos-cluster hostname 集群版
|
||||
|
||||
把 Nacos 部署到多台Linux 服务器上的版本配置,下面是**文件说明**:
|
||||
|
||||
- docker-compose.yml: Docker compose + Docker Swarm 的编排文件
|
||||
- nacos_config_export.zip: 存储在Nacos配置中心的项目配置,部署成功后台导入即可
|
||||
- mysql-schema.sql: Nacos 集群公用的数据库,会自动导入到Mysql,不用动
|
||||
- prometheus: Prometheus 的配置文件
|
||||
|
||||
## 条件
|
||||
|
||||
- 至少三台起步的Linux主机(安装有docker),你可以使用虚拟机。
|
||||
- 一个能正常访问Docker的网络环境(拉取镜像)
|
||||
- 耐心,毅力,别慌!
|
||||
|
||||
## 集群配置
|
||||
|
||||
假设我们有三台Linux主机,他们的IP地址为:
|
||||
|
||||
- 1: 192.168.139.84
|
||||
- 2: 192.168.139.15
|
||||
- 3: 192.168.139.178
|
||||
|
||||
选一台你喜欢的(我选1),作为集群的 **Manager**,然后SSH登录进去,获取管理员权限,然后:
|
||||
|
||||
```bash
|
||||
# 初始化 Swarm 集群
|
||||
docker swarm init --advertise-addr 192.168.139.84
|
||||
```
|
||||
|
||||
命令执行完成后,你会得到这样的返回:
|
||||
|
||||
```bash
|
||||
Swarm initialized: current node (z5sucmc80ns8bxrdqhs71dg8x) is now a manager.
|
||||
|
||||
To add a worker to this swarm, run the following command:
|
||||
|
||||
# 复制这个
|
||||
docker swarm join --token SWMTKN-1-3n9xxxxnwvsj6-4rhxx8xxxxzbbul 192.168.139.84:2377
|
||||
|
||||
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
|
||||
```
|
||||
|
||||
然后SSH登录**worker**机,也就是 上面的 2,3 服务器,获取SSH权限后,分别执行上面给的命令:
|
||||
|
||||
```bash
|
||||
docker swarm join --token SWMTKN-1-3n9xxxxnwvsj6-4rhxx8xxxxzbbul 192.168.139.84:2377
|
||||
```
|
||||
|
||||
**这样 2,3 服务器就和1服务器组成了集群**
|
||||
|
||||
可以指执行命令查看是否组成集群:
|
||||
|
||||
```bash
|
||||
# 查看所有节点
|
||||
docker node ls
|
||||
```
|
||||
|
||||
注意,如果你的服务器有防火墙,那么请记住放行端口,下面是Ubuntu上的例子:
|
||||
|
||||
```bash
|
||||
# --- Docker Swarm 集群通信端口 ---
|
||||
|
||||
# TCP 2377: Swarm 管理端口 (仅在 Manager 和 Worker 之间通信)
|
||||
sudo ufw allow 2377/tcp
|
||||
# TCP/UDP 7946: 节点之间的控制平面和数据平面的 gossip 协议通信
|
||||
sudo ufw allow 7946/tcp
|
||||
sudo ufw allow 7946/udp
|
||||
# UDP 4789: VXLAN 端口,用于 overlay 网络中容器之间的通信
|
||||
sudo ufw allow 4789/udp
|
||||
|
||||
|
||||
|
||||
# --- MySQL 数据库端口 (可选) ---
|
||||
|
||||
# TCP 3306: MySQL 数据库端口(需要外部访问数据库时候才开)
|
||||
sudo ufw allow 3306/tcp
|
||||
|
||||
|
||||
# --- Nacos 集群端口 ---
|
||||
|
||||
# Nacos 管理后台端口
|
||||
sudo ufw allow 8080/tcp
|
||||
# 客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
|
||||
sudo ufw allow 9848/tcp
|
||||
# Nacos HTTP API 端口,用于Nacos AdminAPI及HTTP OpenAPI的访问
|
||||
sudo ufw allow 8848/tcp
|
||||
|
||||
|
||||
# 重新加载防火墙以应用所有规则
|
||||
sudo ufw reload
|
||||
|
||||
# 查看配置和状态
|
||||
ufw status
|
||||
```
|
||||
|
||||
## 部署运行
|
||||
|
||||
### 运行启动
|
||||
|
||||
将本文件夹内所有文件上传到 1号服务器,然后执行命令:
|
||||
|
||||
```bash
|
||||
# 部署栈,这个过程有点慢,因为需要拉取镜像,等!
|
||||
docker stack deploy -c docker-compose.yml nacos-cluster
|
||||
|
||||
# 命令完成后,需要等待 Nacos 启动,大概几十秒到一分钟这样!!
|
||||
# 启动成功后,直接查看下面教程【Nacos后台】
|
||||
|
||||
|
||||
# --- 其他命令 ---
|
||||
|
||||
# 部署后,不用了,可以使用这个 删除栈
|
||||
docker stack rm nacos-cluster
|
||||
|
||||
# 可以查看Nacos的 实时日志:
|
||||
docker service logs --follow nacos-cluster_nacos
|
||||
|
||||
# 可以查看Mysql的 实时日志:
|
||||
docker service logs --follow nacos-cluster_mysql
|
||||
|
||||
# 查看 nacos-cluster 集群运行情况
|
||||
docker stack ps nacos-cluster
|
||||
|
||||
# 持续观察服务副本数是否达到预期
|
||||
watch docker stack services nacos-cluster
|
||||
```
|
||||
|
||||
### Nacos后台
|
||||
|
||||
选择一个地址浏览器打开,注册登录账户:
|
||||
|
||||
- (http://192.168.139.84:8080)[http://192.168.139.84:8080]
|
||||
- (http://192.168.139.15:8080)[http://192.168.139.15:8080]
|
||||
- (http://192.168.139.178:8080)[http://192.168.139.178:8080]
|
||||
|
||||
然后打开左侧导航 **配置管理** --> **配置列表** --> **导入配置**
|
||||
选择 nacos_config.zip 导入即可。
|
||||
|
||||
### 其他后台:
|
||||
|
||||
- [Prometheus](http://192.168.139.84:9090)
|
||||
- [Grafana](http://192.168.139.84:3000)
|
||||
- 默认账户:admin
|
||||
- 默认密码:密码admin
|
||||
|
||||
**结束**
|
||||
142
docker/nacos-cluster/docker-compose.yml
Normal file
142
docker/nacos-cluster/docker-compose.yml
Normal file
@@ -0,0 +1,142 @@
|
||||
# 使用版本 3.8,它与 Swarm 模式兼容
|
||||
version: "3.8"
|
||||
|
||||
# 定义服务
|
||||
services:
|
||||
# MySQL 数据库服务
|
||||
mysql:
|
||||
# 使用指定的 MySQL 镜像
|
||||
image: mysql:8.0.31
|
||||
# 使用环境变量文件,与原来的配置保持一致
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=root
|
||||
- MYSQL_DATABASE=nacos_devtest
|
||||
- MYSQL_USER=nacos
|
||||
- MYSQL_PASSWORD=nacos
|
||||
- LANG=C.UTF-8
|
||||
# 数据卷挂载,确保 MySQL 数据持久化
|
||||
volumes:
|
||||
- mysql-data:/var/lib/mysql
|
||||
- ./mysql-schema.sql:/docker-entrypoint-initdb.d/mysql-schema.sql
|
||||
command:
|
||||
--character-set-server=utf8mb4
|
||||
--collation-server=utf8mb4_unicode_ci
|
||||
ports:
|
||||
- "3306:3306"
|
||||
# 健康检查,确保数据库启动完成后再启动 Nacos
|
||||
healthcheck:
|
||||
test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
# Swarm 部署配置
|
||||
deploy:
|
||||
# 副本数为 1,因为单个数据库实例足够
|
||||
replicas: 1
|
||||
# 重启策略:任何情况下容器退出都自动重启
|
||||
restart_policy:
|
||||
condition: any
|
||||
# 将服务加入我们创建的网络
|
||||
networks:
|
||||
- nacos-net
|
||||
|
||||
# Nacos 服务
|
||||
nacos:
|
||||
hostname: "nacos{{.Task.Slot}}"
|
||||
# 使用 Nacos 镜像
|
||||
image: nacos/nacos-server:v3.1.0
|
||||
# 挂载日志目录
|
||||
volumes:
|
||||
- nacos-logs:/home/nacos/logs
|
||||
# 暴露 Nacos 所需的端口
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "7848:7848"
|
||||
- "8848:8848"
|
||||
- "9848:9848"
|
||||
- "9849:9849"
|
||||
# 使用环境变量文件
|
||||
environment:
|
||||
- MODE=cluster
|
||||
- PREFER_HOST_MODE=hostname
|
||||
- NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848
|
||||
- SPRING_DATASOURCE_PLATFORM=mysql
|
||||
- MYSQL_SERVICE_HOST=mysql
|
||||
- MYSQL_SERVICE_DB_NAME=nacos_devtest
|
||||
- MYSQL_SERVICE_PORT=3306
|
||||
- MYSQL_SERVICE_USER=nacos
|
||||
- MYSQL_SERVICE_PASSWORD=nacos
|
||||
- MYSQL_SERVICE_RETRY_COUNT=10
|
||||
- MYSQL_SERVICE_RETRY_DELAY=5000
|
||||
- MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
|
||||
- NACOS_SERVER_AUTH_ENABLE=false
|
||||
- NACOS_CONSOLE_AUTH_ENABLE=false
|
||||
- NACOS_AUTH_ENABLE=false
|
||||
- NACOS_AUTH_IDENTITY_KEY=bmy
|
||||
- NACOS_AUTH_IDENTITY_VALUE=lb714500.
|
||||
- NACOS_AUTH_TOKEN=KjdAdzBIMTBtKElJS0NrWTIxNkJ0RXN4YXlHaipSUmdDZA==
|
||||
# Swarm 部署配置
|
||||
deploy:
|
||||
# 关键:指定副本数为 3,Swarm 会自动创建 3 个 Nacos 容器
|
||||
replicas: 3
|
||||
# 重启策略
|
||||
restart_policy:
|
||||
condition: any
|
||||
# 启动顺序控制
|
||||
# 这是 Swarm 中实现 "depends_on" 的方式
|
||||
# 它会在 mysql 服务健康检查通过后,才开始启动 Nacos 服务
|
||||
update_config:
|
||||
parallelism: 1
|
||||
delay: 30s
|
||||
|
||||
# 资源限制(可选,可根据你的服务器配置调整)
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.50'
|
||||
memory: '512M'
|
||||
reservations:
|
||||
cpus: '0.25'
|
||||
memory: '256M'
|
||||
networks:
|
||||
- nacos-net
|
||||
|
||||
# Prometheus 服务
|
||||
prometheus:
|
||||
image: prom/prometheus:latest
|
||||
volumes:
|
||||
- ./prometheus/prometheus-cluster.yaml:/etc/prometheus/prometheus.yml
|
||||
ports:
|
||||
- "9090:9090"
|
||||
deploy:
|
||||
replicas: 1
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
update_config:
|
||||
order: start-first
|
||||
networks:
|
||||
- nacos-net
|
||||
|
||||
|
||||
# Grafana 服务
|
||||
grafana:
|
||||
image: grafana/grafana:latest
|
||||
ports:
|
||||
- "3000:3000"
|
||||
deploy:
|
||||
# 通常 Grafana 单实例即可
|
||||
replicas: 1
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
networks:
|
||||
- nacos-net
|
||||
|
||||
volumes:
|
||||
nacos-logs:
|
||||
driver: local
|
||||
|
||||
mysql-data:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
nacos-net:
|
||||
driver: overlay
|
||||
188
docker/nacos-cluster/mysql-schema.sql
Normal file
188
docker/nacos-cluster/mysql-schema.sql
Normal file
@@ -0,0 +1,188 @@
|
||||
/*
|
||||
* Copyright 1999-2018 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/******************************************/
|
||||
/* 表名称 = config_info */
|
||||
/******************************************/
|
||||
CREATE TABLE `config_info`
|
||||
(
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
|
||||
`group_id` varchar(128) DEFAULT NULL COMMENT 'group_id',
|
||||
`content` longtext NOT NULL COMMENT 'content',
|
||||
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
|
||||
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
`src_user` text COMMENT 'source user',
|
||||
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
|
||||
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
|
||||
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
|
||||
`c_desc` varchar(256) DEFAULT NULL COMMENT 'configuration description',
|
||||
`c_use` varchar(64) DEFAULT NULL COMMENT 'configuration usage',
|
||||
`effect` varchar(64) DEFAULT NULL COMMENT '配置生效的描述',
|
||||
`type` varchar(64) DEFAULT NULL COMMENT '配置的类型',
|
||||
`c_schema` text COMMENT '配置的模式',
|
||||
`encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';
|
||||
|
||||
/******************************************/
|
||||
/* 表名称 = config_info since 2.5.0 */
|
||||
/******************************************/
|
||||
CREATE TABLE `config_info_gray`
|
||||
(
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
|
||||
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
|
||||
`content` longtext NOT NULL COMMENT 'content',
|
||||
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
|
||||
`src_user` text COMMENT 'src_user',
|
||||
`src_ip` varchar(100) DEFAULT NULL COMMENT 'src_ip',
|
||||
`gmt_create` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_create',
|
||||
`gmt_modified` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_modified',
|
||||
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
|
||||
`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
|
||||
`gray_name` varchar(128) NOT NULL COMMENT 'gray_name',
|
||||
`gray_rule` text NOT NULL COMMENT 'gray_rule',
|
||||
`encrypted_data_key` varchar(256) NOT NULL DEFAULT '' COMMENT 'encrypted_data_key',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_configinfogray_datagrouptenantgray` (`data_id`,`group_id`,`tenant_id`,`gray_name`),
|
||||
KEY `idx_dataid_gmt_modified` (`data_id`,`gmt_modified`),
|
||||
KEY `idx_gmt_modified` (`gmt_modified`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='config_info_gray';
|
||||
|
||||
/******************************************/
|
||||
/* 表名称 = config_tags_relation */
|
||||
/******************************************/
|
||||
CREATE TABLE `config_tags_relation`
|
||||
(
|
||||
`id` bigint(20) NOT NULL COMMENT 'id',
|
||||
`tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
|
||||
`tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
|
||||
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
|
||||
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
|
||||
`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
|
||||
`nid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增长标识',
|
||||
PRIMARY KEY (`nid`),
|
||||
UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
|
||||
KEY `idx_tenant_id` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';
|
||||
|
||||
/******************************************/
|
||||
/* 表名称 = group_capacity */
|
||||
/******************************************/
|
||||
CREATE TABLE `group_capacity`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
|
||||
`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
|
||||
`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
|
||||
`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
|
||||
`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
|
||||
`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
|
||||
`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
|
||||
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_group_id` (`group_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';
|
||||
|
||||
/******************************************/
|
||||
/* 表名称 = his_config_info */
|
||||
/******************************************/
|
||||
CREATE TABLE `his_config_info`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL COMMENT 'id',
|
||||
`nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识',
|
||||
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
|
||||
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
|
||||
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
|
||||
`content` longtext NOT NULL COMMENT 'content',
|
||||
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
|
||||
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
`src_user` text COMMENT 'source user',
|
||||
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
|
||||
`op_type` char(10) DEFAULT NULL COMMENT 'operation type',
|
||||
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
|
||||
`encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥',
|
||||
`publish_type` varchar(50) DEFAULT 'formal' COMMENT 'publish type gray or formal',
|
||||
`gray_name` varchar(50) DEFAULT NULL COMMENT 'gray name',
|
||||
`ext_info` longtext DEFAULT NULL COMMENT 'ext info',
|
||||
PRIMARY KEY (`nid`),
|
||||
KEY `idx_gmt_create` (`gmt_create`),
|
||||
KEY `idx_gmt_modified` (`gmt_modified`),
|
||||
KEY `idx_did` (`data_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
|
||||
|
||||
|
||||
/******************************************/
|
||||
/* 表名称 = tenant_capacity */
|
||||
/******************************************/
|
||||
CREATE TABLE `tenant_capacity`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
|
||||
`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
|
||||
`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
|
||||
`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
|
||||
`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
|
||||
`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
|
||||
`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
|
||||
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_tenant_id` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';
|
||||
|
||||
|
||||
CREATE TABLE `tenant_info`
|
||||
(
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||
`kp` varchar(128) NOT NULL COMMENT 'kp',
|
||||
`tenant_id` varchar(128) default '' COMMENT 'tenant_id',
|
||||
`tenant_name` varchar(128) default '' COMMENT 'tenant_name',
|
||||
`tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
|
||||
`create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
|
||||
`gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
|
||||
`gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
|
||||
KEY `idx_tenant_id` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';
|
||||
|
||||
CREATE TABLE `users`
|
||||
(
|
||||
`username` varchar(50) NOT NULL PRIMARY KEY COMMENT 'username',
|
||||
`password` varchar(500) NOT NULL COMMENT 'password',
|
||||
`enabled` boolean NOT NULL COMMENT 'enabled'
|
||||
);
|
||||
|
||||
CREATE TABLE `roles`
|
||||
(
|
||||
`username` varchar(50) NOT NULL COMMENT 'username',
|
||||
`role` varchar(50) NOT NULL COMMENT 'role',
|
||||
UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
|
||||
);
|
||||
|
||||
CREATE TABLE `permissions`
|
||||
(
|
||||
`role` varchar(50) NOT NULL COMMENT 'role',
|
||||
`resource` varchar(128) NOT NULL COMMENT 'resource',
|
||||
`action` varchar(8) NOT NULL COMMENT 'action',
|
||||
UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
|
||||
);
|
||||
BIN
docker/nacos-cluster/nacos_config_export.zip
Normal file
BIN
docker/nacos-cluster/nacos_config_export.zip
Normal file
Binary file not shown.
34
docker/nacos-cluster/prometheus/prometheus-cluster.yaml
Normal file
34
docker/nacos-cluster/prometheus/prometheus-cluster.yaml
Normal file
@@ -0,0 +1,34 @@
|
||||
# my global config
|
||||
global:
|
||||
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
|
||||
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
|
||||
# scrape_timeout is set to the global default (10s).
|
||||
|
||||
# Alertmanager configuration
|
||||
alerting:
|
||||
alertmanagers:
|
||||
- static_configs:
|
||||
- targets:
|
||||
# - alertmanager:9093
|
||||
|
||||
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
|
||||
rule_files:
|
||||
# - "first_rules.yml"
|
||||
# - "second_rules.yml"
|
||||
|
||||
# A scrape configuration containing exactly one endpoint to scrape:
|
||||
# Here it's Prometheus itself.
|
||||
scrape_configs:
|
||||
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
|
||||
- job_name: 'prometheus'
|
||||
|
||||
# metrics_path defaults to '/metrics'
|
||||
# scheme defaults to 'http'.
|
||||
|
||||
static_configs:
|
||||
- targets: [ 'localhost:9090' ]
|
||||
|
||||
- job_name: 'nacos'
|
||||
metrics_path: '/nacos/actuator/prometheus'
|
||||
static_configs:
|
||||
- targets: [ "nacos1:8848","nacos2:8848","nacos3:8848" ]
|
||||
Reference in New Issue
Block a user