Kubernetes & Docker 部署达梦8数据库
一、达梦镜像获取
目前达梦官方暂未在公共镜像仓库提供Docker镜像,需通过达梦官网联系获取官方镜像包。
二、Kubernetes部署方案
部署配置文件示例
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: dm8
name: dm
namespace: development
spec:
replicas: 1
selector:
matchLabels:
app: dm8
template:
metadata:
labels:
app: dm8
spec:
containers:
- name: dm8-container
image: dm8_single:dm8_20230808_rev197096_x86_rh6_64
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5236
env:
- name: LD_LIBRARY_PATH
value: /opt/dmdbms/bin
- name: PAGE_SIZE
value: "16"
- name: EXTENT_SIZE
value: "32"
- name: LOG_SIZE
value: "1024"
- name: UNICODE_FLAG
value: "1"
- name: INSTANCE_NAME
value: dm8
- name: CASE_SENSITIVE
value: "0"
- name: LENGTH_IN_CHAR
value: "1"
volumeMounts:
- mountPath: /opt/dmdbms/data
name: data-volume
securityContext:
privileged: true
volumes:
- name: data-volume
hostPath:
path: /data/dm8_data/
---
apiVersion: v1
kind: Service
metadata:
annotations: {}
labels:
app: dm8
name: dm
namespace: development
spec:
externalTrafficPolicy: Cluster
internalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- nodePort: 30123
port: 5236
protocol: TCP
targetPort: 5236
selector:
app: dm8
sessionAffinity: None
type: NodePort
部署注意事项
- 命名空间配置:请根据实际环境修改
namespace
字段 - 存储方案:
hostPath
挂载路径可替换为PVC持久化存储方案
三、Docker部署方案
快速启动命令
docker run -itd \
--name dm8 \
--restart=always \
-p 5236:5236 \
-v /data/dm8_data/:/opt/dmdbms/data \
--privileged=true \
-e LD_LIBRARY_PATH=/opt/dmdbms/bin \
-e PAGE_SIZE=16 \
-e EXTENT_SIZE=32 \
-e LOG_SIZE=1024 \
-e UNICODE_FLAG=1 \
-e INSTANCE_NAME=dm8 \
-e CASE_SENSITIVE=0 \
-e LENGTH_IN_CHAR=1 \
dm8_single:dm8_20230808_rev197096_x86_rh6_64
四、核心配置详解
路径映射关系
宿主机位置为上面命令挂载的宿主机位置
容器内路径 | 宿主机路径 | 说明 |
---|---|---|
/opt/dmdbms/data/DAMENG/dm.ini | /data/dm8_data/DAMENG/dm.ini | 数据库配置文件 |
数据库兼容模式配置
在dm.ini
配置文件中,通过COMPATIBLE_MODE
参数设置数据库兼容模式:
- 0:不兼容特定数据库
- 1:SQL92标准
- 2:Oracle兼容模式
- 3:MS SQL Server兼容模式
- 4:MySQL兼容模式
- 5:DM6兼容模式
- 6:Teradata兼容模式
- 7:PostgreSQL兼容模式
环境参数说明
参数名称 | 默认值 | 说明 | 推荐值 |
---|---|---|---|
LD_LIBRARY_PATH | - | 动态链接库搜索路径 | /opt/dmdbms/bin |
PAGE_SIZE | 8 | 数据页大小(KB),影响I/O性能 | 16 |
EXTENT_SIZE | 16 | 表空间扩展大小(页数) | 32 |
LOG_SIZE | 256 | 重做日志文件大小(MB) | 1024 |
UNICODE_FLAG | 0 | 字符集标识(0-GBK/1-UTF-8) | 1 |
INSTANCE_NAME | - | 数据库实例标识 | dm8 |
CASE_SENSITIVE | 1 | 大小写敏感控制 | 0 |
LENGTH_IN_CHAR | 0 | 字符类型长度计量方式 | 1 |