Kubernetes Docker 部署达梦8数据库
Kubernetes & Docker 部署达梦8数据库
一、达梦镜像获取
目前达梦官方暂未在公共镜像仓库提供Docker镜像,需通过达梦官网联系获取官方镜像包。
二、Kubernetes部署方案
部署配置文件示例
apiVersion: apps/v1
kind: Deployment
metadata:labels:app: dm8name: dmnamespace: development
spec:replicas: 1selector:matchLabels:app: dm8template:metadata:labels:app: dm8spec:containers:- name: dm8-containerimage: dm8_single:dm8_20230808_rev197096_x86_rh6_64imagePullPolicy: IfNotPresentports:- containerPort: 5236env:- name: LD_LIBRARY_PATHvalue: /opt/dmdbms/bin- name: PAGE_SIZEvalue: "16"- name: EXTENT_SIZEvalue: "32"- name: LOG_SIZEvalue: "1024"- name: UNICODE_FLAGvalue: "1"- name: INSTANCE_NAMEvalue: dm8- name: CASE_SENSITIVEvalue: "0"- name: LENGTH_IN_CHARvalue: "1"volumeMounts:- mountPath: /opt/dmdbms/dataname: data-volumesecurityContext:privileged: truevolumes:- name: data-volumehostPath:path: /data/dm8_data/
---
apiVersion: v1
kind: Service
metadata:annotations: {}labels:app: dm8name: dmnamespace: development
spec:externalTrafficPolicy: ClusterinternalTrafficPolicy: ClusteripFamilies:- IPv4ipFamilyPolicy: SingleStackports:- nodePort: 30123port: 5236protocol: TCPtargetPort: 5236selector:app: dm8sessionAffinity: Nonetype: 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 |