399 lines
12 KiB
Markdown
399 lines
12 KiB
Markdown
# 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
|
||
|
||
| 属性 | 值 |
|
||
|------|-----|
|
||
| **部署方式** | Docker(Master 节点) |
|
||
| **镜像版本** | 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
|
||
|
||
| 属性 | 值 |
|
||
|------|-----|
|
||
| **部署方式** | Docker(Master 节点) |
|
||
| **镜像版本** | 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(对象存储)
|
||
|
||
| 属性 | 值 |
|
||
|------|-----|
|
||
| **部署方式** | Docker(Master 节点) |
|
||
| **镜像版本** | 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 Deployment(namespace: 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 |
|
||
| **数据存储** | MySQL(nacos 库) |
|
||
|
||
**端口映射**:
|
||
|
||
| 服务端口 | 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 Deployment(namespace: 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 Chart(namespace: 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 YAML(namespace: kube-system) |
|
||
| **版本** | v0.6.0 |
|
||
| **用途** | 提供 `kubectl top` 命令的 CPU/内存指标数据 |
|
||
| **状态** | 正常运行 |
|
||
|
||
---
|
||
|
||
### 3.5 Calico(网络插件)
|
||
|
||
| 属性 | 值 |
|
||
|------|-----|
|
||
| **版本** | v3.26.1 |
|
||
| **部署方式** | K8s YAML(namespace: 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-gateway):NodePort **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 UI(HTTPS) |
|
||
| 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 | 数据库连接 |
|
||
|
||
---
|