# 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 | 数据库连接 |

---
