创建Deployment和Service配置文件
用户需自行编写与Kubernetes交互的yaml或者json文件,用于部署MindIE MS服务端的Deployment和创建外部端口映射Deployment容器内部端口的Service。
创建MindIE MS服务端的Deployment配置文件
用户需自行编写与Kubernetes交互的yaml文件(例:ms_server_deployment.yaml),用于部署MindIE MS服务端的Deployment,样例如下所示(格式必须和样例保持一致),部分参数请参考表1自行修改。
apiVersion: apps/v1
kind: Deployment
metadata:
name: ms-server
namespace: default
labels:
app: ms-server
spec:
replicas: 1
selector:
matchLabels:
app: ms-server
template:
metadata:
labels:
app: ms-server
spec:
nodeSelector:
masterselector: dls-master-node #MindIE MS服务端需部署在Kubernetes管理节点上,节点标签必须选择为masterselector: dls-master-node
containers:
- image: {镜像名称}:{镜像版本}
imagePullPolicy: IfNotPresent
name: mindie-ms
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
runAsUser: {UID}
runAsGroup: {UID}
capabilities:
drop: ["ALL"]
seccompProfile:
type: RuntimeDefault
volumeMounts:
- name: dir1
mountPath: 容器日志路径
- name: dir2 #容器内业务持久化数据文件路径
mountPath: 容器证书路径
- name: dir3
mountPath: /home/{容器内用户名}/ms_server.json #容器内ms_server配置文件路径
- name: dir4
mountPath: 业务持久化数据文件路径
command: ["bin/bash", "-c", "cd /home/{容器内用户名} && ./ms_server ms_server.json"]
env:
- name: MINDIE_MS_SERVER_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
resources:
requests:
memory: "512Mi"
cpu: "4000m"
limits:
memory: "1024Mi"
cpu: "4000m"
volumes:
- name: dir1
hostPath:
path: 日志路径
- name: dir2
hostPath:
path: 证书路径
- name: dir3
hostPath:
path: /$home/package2/ms_server.json #定义好的ms_server.json路径可供用户在容器外修改
type: Directory
- name: dir4
hostPath:
path: 业务持久化数据文件路径
参数 |
类型 |
说明 |
---|---|---|
name |
String |
必填。 服务名称。 |
namespace |
String |
必填。 服务所属的命名空间。 |
image |
String |
必填。 内容和用户自定义的镜像名称和镜像版本一致,制作MindIE MS服务端镜像中Dockerfile已创建好的镜像。 |
runAsUser |
Int |
必填。 容器用户ID,和Dockerfile的UID一致。 |
runAsGroup |
Int |
必填。 容器主组ID,和Dockerfile的UID一致。 |
volumeMounts |
List |
选填。 用户需要挂载的容器路径(mountPath),需要与volumes参数中的name一一对应进行挂载。 日志路径挂载容器路径固定为/var/log/mindiems/。 |
volumes |
List |
选填。 用户需要挂载物理机路径(hostpath),需要与volumeMounts参数中的name一一对应进行挂载。 用户自定义挂载的路径,主要包含服务端写入的日志路径和如需安全通信所需的MindIE MS服务端证书路径(以上路径需是物理机路径且真实存在)。 dir3是用户定义好的ms_server.json路径可供用户外部修改,并挂载进容器和ms_server在同容器目录下。 dir4是status状态文件路径,持久化保存业务数据,需和表1中的ms_status_file参数保持一致。需要保证挂载 |
command |
List |
必填。 启动容器的运行指令。根据用户实际使用场景,填入真实且可以正常启动MindIE MS服务的命令。 |
创建映射到Pod端口的Service配置文件
用户需自行编写可与Kubernetes交互的json文件(例:ms_server_service.json),用于创建外部端口映射Deployment容器内部端口的Service,样例如下所示(格式必须和样例保持一致),部分参数请参考表2自行修改。
{ "kind": "Service", "apiVersion": "v1", "metadata":{ "labels":{ "app": "ms-server" }, "name": "ms-server", "namespace": "default" }, "spec":{ "type": "NodePort", "ports":[ { "port": 9789, "targetPort": 9789, "nodePort": 31008 } ], "selector":{ "app": "ms-server" } } }
父主题: 容器部署MindIE MS