首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将docker数据容器带到Kubernetes?

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

Stack Overflow用户
提问于 2019-10-14 19:54:04
回答 1查看 199关注 0票数 1

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

这个应用程序在docker-compose中的工作原理如下:应用程序名为rtsp_server,它从st-andries4等数据容器加载不同的卷(我刚刚编写了其中一个)。

这是他们的docker-compose:

代码语言:javascript
复制
# 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,但我不知道怎么做。

EN

回答 1

Stack Overflow用户

发布于 2019-10-14 22:04:13

我不太确定你是想在Kubernetes上创建一个持久卷,还是想从现有的Docker数据容器中移动数据。

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

首先,您应该创建一个PersistentVolume

代码语言:javascript
复制
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用来请求物理存储的。

代码语言:javascript
复制
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: task-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi

最后,您可以在pod中添加如下所示的volumeMounts

代码语言:javascript
复制
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

更新

要在多个pod之间共享PVC,您必须设置:

代码语言:javascript
复制
spec:
    accessModes:
      - ReadWriteMany

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58376230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档