按需启动服务配置
为方便分布式部署和容器化场景,KBEngine Nex 支持多套配置文件,按需选择启动配置。
使用场景
- 开发环境:使用
kbengine_dev.xml配置本地调试参数 - 生产环境:使用
kbengine_prod.xml配置正式服参数 - k8s 容器编排:通过环境变量注入不同配置,无需修改镜像
配置文件
在项目资产库的 res/server/ 目录下,按 kbengine_{name}.xml 命名规则创建配置文件,引擎会根据启动参数自动匹配:
| 文件 | 示例用途 |
|---|---|
kbengine.xml | 默认配置 |
kbengine_dev.xml | 开发环境 |
kbengine_prod.xml | 生产环境 |
kbengine_staging.xml | 预发布环境 |
kbengine_{自定义}.xml | 任意自定义环境 |
{name} 可以是任意字符串,只要与启动时的 --prop 参数一致即可。
启动方式
按环境选择
通过 --prop 参数指定环境名,引擎会自动加载 kbengine_{name}.xml:
bash
# 使用开发环境配置
./start_server.sh --prop=dev
# 使用生产环境配置
./start_server.sh --prop=prod
# 使用预发布环境配置
./start_server.sh --prop=staging
# 自定义环境名,对应 kbengine_test01.xml
./start_server.sh --prop=test01指定配置文件路径
通过 --location 参数直接指定配置文件路径:
bash
# 指定自定义路径的配置文件
./start_server.sh --location=/path/to/custom/kbengine.xmlk8s 部署示例
在 k8s 中,从文件创建 ConfigMap 并挂载:
bash
# 从文件创建 ConfigMap(xml 内容较多,直接用文件)
kubectl create configmap kbengine-config \
--from-file=kbengine_prod.xml=./res/server/kbengine_prod.xmlyaml
apiVersion: apps/v1
kind: Deployment
spec:
template:
spec:
containers:
- name: kbengine
args: ["--prop=prod"]
volumeMounts:
- name: config
mountPath: /KBE/server_assets/res/server
volumes:
- name: config
configMap:
name: kbengine-config启动脚本适配
需要在启动脚本中将参数传递给 machine 进程:
bash
# 在 start_server.sh 中
start $KBE_BIN_PATH/machine.exe --cid=1000 --gus=1 --prop=$PROP_ENV这样所有由 machine 启动的子进程都会继承相同的配置环境。
