safety-eval-service/docs/GBS底座服务手册.md

399 lines
12 KiB
Markdown
Raw Normal View History

2026-06-17 17:24:40 +08:00
# GBS 底座服务手册
> 最后更新2026-06-16
> 文档范围K8s 集群、中间件、微服务全部服务清单
---
## 一、服务器信息
| 角色 | 主机名 | IP | OS | SSH 账号 | SSH 密码 |
|------|--------|-----|-----|----------|----------|
| Master | k8s-master | 192.168.20.100 | CentOS 7 | root | `Zcloud@zcloud100` |
| Worker01 | k8s-work01 | 192.168.20.110 | CentOS 7 | root | `Zcloud@zcloud110` |
| Worker02 | k8s-work02 | 192.168.20.120 | CentOS 7 | root | `Zcloud@zcloud120` |
**K8s 集群版本**v1.27.6
**容器运行时**Docker 26.1.3 + cri-dockerd 0.3.4
**网络插件**Calico v3.26.1
**Pod 网段**10.244.0.0/16
**Service 网段**10.96.0.0/12
**DNS 域名**cluster.local
---
## 二、基础设施服务Docker 直接部署在 Master 节点)
### 2.1 MySQL
| 属性 | 值 |
|------|-----|
| **部署方式** | DockerMaster 节点) |
| **镜像版本** | mysql:8.0.35 |
| **访问地址** | `192.168.20.100:33080` |
| **集群内部地址** | 通过宿主机 IP 访问 |
| **账号** | `root` |
| **密码** | `Mysql@zcloud33080` |
| **字符集** | utf8mb4 / utf8mb4_0900_ai_ci |
> **注意**Docker 环境变量中 `MYSQL_ROOT_PASSWORD=Zcloud@zcloud2026` 是容器创建时的初始密码,但实际 root 密码已被后续操作改为 `Mysql@zcloud33080`。**请使用 `Mysql@zcloud33080` 连接。**
**数据库列表**24 个业务库 + 系统库):
| 数据库名 | 用途 |
|----------|------|
| `nacos` | Nacos 配置存储(注意:不是 nacos_config |
**连接方式**
```bash
# 外部连接(任意客户端)
mysql -h 192.168.20.100 -P 33080 -uroot -p'Mysql@zcloud33080'
# 集群内部 Pod 连接(通过宿主机 IP
mysql -h 192.168.20.100 -P 33080 -uroot -p'Mysql@zcloud33080'
```
---
### 2.2 Redis
| 属性 | 值 |
|------|-----|
| **部署方式** | DockerMaster 节点) |
| **镜像版本** | redis:7.2-alpine实际版本 7.2.14 |
| **访问地址** | `192.168.20.100:6379` |
| **密码** | `Zcloud@zcloud2026` |
| **模式** | 单机standalone |
**连接方式**
```bash
# 外部连接
redis-cli -h 192.168.20.100 -p 6379 -a 'Zcloud@zcloud2026'
# Spring Boot 配置application.yml
spring:
redis:
host: 192.168.20.100
port: 6379
password: Zcloud@zcloud2026
```
---
### 2.3 MinIO对象存储
| 属性 | 值 |
|------|-----|
| **部署方式** | DockerMaster 节点) |
| **镜像版本** | minio/minio:latest |
| **API 地址** | `http://192.168.20.100:9000` |
| **Web 控制台** | `http://192.168.20.100:9001` |
| **账号** | `admin` |
| **密码** | `Zcloud@zcloud2026` |
| **Browser** | 已开启MINIO_BROWSER=on |
**使用方式**
1. 浏览器打开 `http://192.168.20.100:9001`
2. 使用 `admin / Zcloud@zcloud2026` 登录
3. 可创建 Bucket、上传文件、管理访问策略
---
## 三、K8s 集群基础服务
### 3.1 Nacos注册中心 & 配置中心)
| 属性 | 值 |
|------|-----|
| **部署方式** | K8s Deploymentnamespace: jjb-dragon |
| **镜像版本** | nacos-server:2.0.3 |
| **副本数** | 1 |
| **运行节点** | k8s-master |
| **Web 控制台** | `http://192.168.20.100:30290/nacos` |
| **集群内部地址** | `prod-nacos.jjb-dragon.svc.cluster.local:8848` 或简写 `prod-nacos:8848` |
| **账号** | `nacos` |
| **密码** | `nacos`(默认密码) |
| **模式** | standalone |
| **数据存储** | MySQLnacos 库) |
**端口映射**
| 服务端口 | NodePort | 用途 |
|----------|----------|------|
| 8848 | 30290 | HTTP 控制台 & API |
| 9848 | 31290 | gRPC 客户端通信 |
| 9849 | 31291 | gRPC Raft 通信 |
| 7848 | 30740 | Jraft 通信 |
**命名空间**
| 命名空间 ID | 显示名称 | 配置数 |
|-------------|----------|--------|
| (空) | public | 1 |
| `jjb-dragon` | jjb-dragon | 51 |
| `jjb-dragon-facade` | jjb-dragon-facade | 537 |
**接入方式**
```yaml
# Spring Boot 微服务配置
spring:
cloud:
nacos:
discovery:
server-addr: prod-nacos:8848
namespace: jjb-dragon
config:
server-addr: prod-nacos:8848
namespace: jjb-dragon
```
---
### 3.2 RocketMQ消息队列
| 属性 | 值 |
|------|-----|
| **部署方式** | K8s Deploymentnamespace: jjb-dragon |
| **镜像版本** | rocketmq:4.4.0 / rocketmq-console-ng:new |
| **副本数** | 1含 NameServer + Broker + Console 三容器) |
| **运行节点** | k8s-work01 |
| **集群名称** | JjbMqCluster |
| **Web 控制台** | `http://192.168.20.100:30300` |
| **集群内部 NameServer** | `rocketmq.jjb-dragon.svc.cluster.local:9876` |
| **认证** | 无(默认未开启 ACL |
**端口映射**
| 服务 | 容器端口 | NodePort | 用途 |
|------|----------|----------|------|
| Console | 8080 | 30300 | Web 管理控制台 |
| NameServer | 9876 | 30658 | 服务发现 |
| Broker | 10909 | 30161 | Broker VIP 通道 |
| Broker | 10911 | 31356 | Broker 主端口 |
| Broker | 10912 | 31493 | Broker HA |
**接入方式**
```yaml
# Spring Boot 配置
rocketmq:
name-server: rocketmq:9876
producer:
group: jjb-producer-group
```
**Broker 配置要点**
- 自动创建 Topic已开启
- 默认队列数4
- 消息最大大小655360 字节
- Broker 角色ASYNC_MASTER
- 刷盘方式ASYNC_FLUSH
---
### 3.3 Kubernetes Dashboard
| 属性 | 值 |
|------|-----|
| **部署方式** | Helm Chartnamespace: kubernetes-dashboard |
| **版本** | v2.7.0 |
| **访问地址** | `https://192.168.20.100:30180` |
| **认证方式** | Token |
**获取 Token**
```bash
# 如果 SA 和绑定已存在(文档中显示已创建过 kube-dashboard-admin-sa
# 但当前集群中该 SA 不存在,需要重新创建:
# 1. 创建 ServiceAccount 和 ClusterRoleBinding
kubectl create serviceaccount kube-dashboard-admin-sa -n kube-system
kubectl create clusterrolebinding kube-dashboard-admin-binding \
--clusterrole=cluster-admin \
--serviceaccount=kube-system:kube-dashboard-admin-sa
# 2. 生成 Token有效期 10 年)
kubectl create token kube-dashboard-admin-sa -n kube-system --duration=87600h
```
> **注意**:之前部署文档中生成的 Token 对应的 SA 已不存在,需要重新创建。
---
### 3.4 Metrics Server
| 属性 | 值 |
|------|-----|
| **部署方式** | K8s YAMLnamespace: kube-system |
| **版本** | v0.6.0 |
| **用途** | 提供 `kubectl top` 命令的 CPU/内存指标数据 |
| **状态** | 正常运行 |
---
### 3.5 Calico网络插件
| 属性 | 值 |
|------|-----|
| **版本** | v3.26.1 |
| **部署方式** | K8s YAMLnamespace: kube-system |
| **Pod 网段** | 10.244.0.0/16 |
---
## 四、镜像仓库凭证
### 4.1 image-pull-secret底座镜像
| 属性 | 值 |
|------|-----|
| **Secret 名** | `image-pull-secret` |
| **命名空间** | jjb-dragon |
| **仓库地址** | `jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com` |
| **用户名** | `10952138@qq.com` |
| **密码** | `idurCT!rIq9EzISD` |
### 4.2 image-pull-secret1应用镜像
| 属性 | 值 |
|------|-----|
| **Secret 名** | `image-pull-secret1` |
| **命名空间** | jjb-dragon |
| **仓库地址** | `registry.cn-zhangjiakou.aliyuncs.com` |
| **用户名** | `kilaa` |
| **密码** | `Kilaa@6666` |
---
## 五、业务微服务清单
所有微服务部署在 `jjb-dragon` 命名空间,使用 Helm Chart `jjb-prod/jjb-java-app` 部署。
| 序号 | 服务名 | Deployment | 状态 | 镜像版本 | 运行节点 |
|------|--------|------------|------|----------|----------|
| 1 | 网关 | jjb-saas-gateway | **Running** | oat-20250902-1 | k8s-work01 |
| 2 | 认证 | jjb-saas-auth | **Running** | ota-20260528-1 | k8s-work01 |
| 3 | 数据中心 | jjb-saas-data-center | **Running** | ota-20251111-1 | k8s-work01 |
| 4 | 事件 | jjb-saas-events | **Running** | ota-20251119-1 | k8s-work01 |
| 5 | 消息 | jjb-saas-message | **Running** | ota-20260317-1 | k8s-work01 |
| 6 | 官网 | jjb-saas-official | **Running** | ipass-20250816-2 | k8s-work01 |
| 7 | 流程布局 | jjb-saas-process-layout | **Running** | ota-20250926-1 | k8s-work01 |
| 8 | 安全 | jjb-saas-security | **Running** | ipass-20250906-2 | k8s-work01 |
| 9 | 用户 | jjb-saas-user | CrashLoopBackOff | 20251107-1808 | k8s-work01 |
| 10 | 系统 | jjb-saas-system | CrashLoopBackOff | ota-20260427-1 | k8s-work01 |
| 11 | 配置 | jjb-saas-config | CrashLoopBackOff | ota-20260115-1 | k8s-work01 |
| 12 | 附件 | jjb-saas-attachment | CrashLoopBackOff | ipass-20250906-2 | k8s-work01 |
| 13 | 应用 | jjb-saas-application | CrashLoopBackOff | ota-20260304-2 | k8s-work01 |
| 14 | 工作台 | jjb-saas-desk | CrashLoopBackOff | ota-20260116-1 | k8s-work01 |
| 15 | 门面 | jjb-saas-facade | CrashLoopBackOff | ota-20260603-1 | k8s-work01 |
| 16 | 基础 | jjb-saas-base | CrashLoopBackOff | ota-20260528-2 | k8s-work01 |
| 17 | 表单设计 | jjb-saas-formily-design | CrashLoopBackOff | wb-20250904-1 | k8s-work01 |
| 18 | 登录 | jjb-saas-login | CrashLoopBackOff | ota-20251216-1 | k8s-work01 |
| 19 | 开放平台 | jjb-saas-open-platform | CrashLoopBackOff | ota-20260401-1 | k8s-work01 |
| 20 | Netty 服务 | jjb-saas-netty-server | CrashLoopBackOff | ota-20250820-3 | k8s-work01 |
| 21 | BPM 流程 | jjb-saas-bpm | CrashLoopBackOff | ota-20251111-2 | k8s-work01 |
| 22 | 组件设计 | jjb-saas-component-design | CrashLoopBackOff | ota-20251111-1 | k8s-work01 |
| 23 | 文档 | jjb-saas-document | CrashLoopBackOff | ota-20250617-1 | k8s-work01 |
| 24 | 视图 | jjb-saas-view | CrashLoopBackOff | ota-20241129-1 | k8s-work01 |
**服务端口**
- 网关jjb-saas-gatewayNodePort **30140**(外部访问入口)
- 其余微服务:均为 ClusterIP 类型(集群内部 80 端口)
## 七、快速接入指南
### 7.1 访问各管理控制台
| 服务 | 地址 | 账号 | 密码 |
|------|------|------|------|
| Nacos | http://192.168.20.100:30290/nacos | `nacos` | `nacos` |
| RocketMQ Console | http://192.168.20.100:30300 | 无需登录 | - |
| MinIO Console | http://192.168.20.100:9001 | `admin` | `Zcloud@zcloud2026` |
| K8s Dashboard | https://192.168.20.100:30180 | Token 登录 | 见 3.3 节 |
| 业务网关 | http://192.168.20.100:30140 | 待业务修复后可用 | - |
### 7.2 微服务 Nacos 配置模板
```yaml
spring:
cloud:
nacos:
discovery:
server-addr: prod-nacos:8848
namespace: jjb-dragon
config:
server-addr: prod-nacos:8848
namespace: jjb-dragon
file-extension: yml
datasource:
url: jdbc:mysql://192.168.20.100:33080/jjb-saas-xxx?useUnicode=true&characterEncoding=utf8&useSSL=false
username: root
password: Mysql@zcloud33080
redis:
host: 192.168.20.100
port: 6379
password: Zcloud@zcloud2026
```
### 7.3 SSH 连接服务器
```bash
# Master
ssh root@192.168.20.100 # 密码: Zcloud@zcloud100
# Worker01
ssh root@192.168.20.110 # 密码: Zcloud@zcloud110
# Worker02
ssh root@192.168.20.120 # 密码: Zcloud@zcloud120
```
### 7.4 常用运维命令
```bash
# 查看所有 Pod 状态
kubectl get pods -A -o wide
# 查看 jjb-dragon 命名空间下所有资源
kubectl get all -n jjb-dragon
# 查看 Pod 日志
kubectl logs -n jjb-dragon deploy/<deployment> --tail=100
# 重启某个服务
kubectl rollout restart deployment/<deployment> -n jjb-dragon
# 查看节点资源使用
kubectl top nodes
kubectl top pods -n jjb-dragon
# 进入 Pod 内部
kubectl exec -it -n jjb-dragon deploy/<deployment> -- /bin/bash
```
---
## 八、服务端口速查表
| 端口 | 协议 | 服务 | 说明 |
|------|------|------|------|
| 22 | TCP | SSH | 服务器管理 |
| 80 | TCP | 业务网关ClusterIP | 集群内部 |
| 6379 | TCP | Redis | 外部可访问 |
| 6443 | TCP | K8s API Server | 集群管理 |
| 8848 | TCP | Nacos HTTP | 集群内部 |
| 9000 | TCP | MinIO API | 对象存储 API |
| 9001 | TCP | MinIO Console | Web 管理界面 |
| 9876 | TCP | RocketMQ NameServer | 集群内部 |
| 10911 | TCP | RocketMQ Broker | 集群内部 |
| 30140 | TCP | 业务网关 NodePort | 外部访问入口 |
| 30180 | TCP | K8s Dashboard | Web UIHTTPS |
| 30290 | TCP | Nacos Console | Web 管理界面 |
| 30300 | TCP | RocketMQ Console | Web 管理界面 |
| 30658 | TCP | RocketMQ NameServer NodePort | 外部访问 |
| 30740 | TCP | Nacos Jraft | 集群通信 |
| 31290 | TCP | Nacos gRPC Client | 集群通信 |
| 31291 | TCP | Nacos gRPC Raft | 集群通信 |
| 33080 | TCP | MySQL | 数据库连接 |
---