gpt4 book ai didi

docker - 如何将Docker数据容器带到Kubernetes?

转载 作者:行者123 更新时间:2023-12-02 12:14:46 25 4
gpt4 key购买 nike

我有一个应用程序,它依赖于4个docker数据容器来运行某些测试所需的数据。目前,我有他们的docker-compose文件和图像,但是我无法访问数据容器Dockerfile或实际数据。

该应用程序在docker-compose中的工作方式如下:
该应用程序称为rtsp_server,它从数据容器(例如st-andries4)加载不同的卷(我只是写了其中一个)。

这是他们的docker-compose:

# The application
rtsp_server:
image: rtsp_server_image
volumes_from:
- rtsp_data_st_andries4:ro
ports:
- "8554:8554"
command: python ./rtsp-server.py /rtsp_data/st-andries-4 st_andries_4

# Data container
rtsp_data_st_andries4:
image: st_andries_4:1
volumes:
- /rtsp_data/st-andries-4
command: /bin/true
mem_limit: 10000000000

我已经将应用程序 rtsp_server带到Kubernetes,它可以正常工作,但是我还需要将数据容器带到k8s,但我不知道该怎么做。

最佳答案

我不确定是否要在Kubernetes上创建持久卷或从现有Docker数据容器中移动日期。

这是有关如何Configure a Pod to Use a PersistentVolume for Storage的Kubernetes文档。

首先,您应该创建一个 PersistentVolume :

apiVersion: v1
kind: PersistentVolume
metadata:
name: task-pv-volume
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"

然后 PersistentVolumeClaim ,因为这是 pod用于请求物理存储的。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: task-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi

最后,您可以在 Pane 中添加一个 volumeMounts,它可能如下所示:
apiVersion: v1
kind: Pod
metadata:
name: task-pv-pod
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: task-pv-claim
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage

更新

要在许多 pods 之间共享PVC,您必须进行以下设置:
spec:
accessModes:
- ReadWriteMany

我还建议您检查此博客 Create ReadWriteMany PersistentVolumeClaims on your Kubernetes Cluster并选择适合您需求的解决方案。

您可能还对 Rook项目感兴趣,该项目是Kubernetes的开源,云原生存储。

关于docker - 如何将Docker数据容器带到Kubernetes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58376230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com