需求
在使用kubernetes对docker镜像进行编排管理时,时长遇到如何把k8s的pod中某一个文件挂载出来,具体到个人实际问题中:在文件上传到主机需求中,目前已经实现根据上传文件路径自动创建对应文件夹路径
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ct-reservoir-videos
spec:
selector:
matchLabels:
app: ct-reservoir-videos
replicas: 1
template:
metadata:
labels:
app: ct-reservoir-videos
spec:
nodeName: node01
containers:
- name: ct-reservoir-videos
image: ct-reservoir-videos:0.2.2
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9911
volumeMounts: # 将logs-volume挂在到容器中,对应的目录为 /user
- name: user-volume
mountPath: /usr/photos
env:
- name: CHITAN_ENV
value: "chitan-pro"
volumes:
- name: user-volume
hostPath:
path: /data/opt
type: DirectoryOrCreate # 目录存在就使用,不存在就先创建后使用
---
apiVersion: v1
kind: Service
metadata:
name: ct-reservoir-videos
spec:
type: NodePort
ports:
- port: 9911
targetPort: 9911
#nodePort: 32017
protocol: TCP
name: http
selector:
app: ct-reservoir-videos
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ct-reservoir-videos
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/proxy-body-size: "20m"
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
rules:
#- host: miva.xiaohua99.cn
- http:
paths:
- path: /ct-reservoir-videos(/|$)(.*)
backend:
serviceName: ct-reservoir-videos
servicePort: 9911
---