【问题标题】:How to transfer docker volumes to kubernetes volumes in azure?如何将 docker 卷传输到 azure 中的 kubernetes 卷?
【发布时间】:2019-12-10 04:03:09
【问题描述】:

我正在尝试在我的一个应用程序上应用 kubernetes,而我的应用程序正在使用 docker 卷并在其中保存数据。 当我在该应用程序上应用 kubernetes 时,它显然不会从 docker 卷中保存任何数据,它只需要 kubernetes 卷,事情是,我的数据在 docker 卷中,我需要将其传输到 kubernetes 卷,以及在 azure 中运行的所有内容,并且由于 kubernetes 与 azure 接口,我认为应该有一种方法可以自动执行此操作,只是我找不到如何做到这一点。

如果有人可以帮助解决这个问题,非常感谢。

【问题讨论】:

  • @CharlesXu 它确实解决了我的问题,尽管我认为 azure 有办法自动执行此操作,所以也许其他看到此内容的人知道如何操作。
  • 您是否得到了您认为可行的解决方案?

标签: azure docker kubernetes docker-volume azure-aks


【解决方案1】:

根据 kubernetes 文档: https://kubernetes.io/docs/concepts/storage/volumes/

Docker volumesKubernetes volumes 不同,工作方式也不同。

当您创建 PVC 或为您动态创建 PVC 时,将其挂载到您的 pod 中并使用以下命令将数据复制到其中:

kubectl cp

您的应用将自动开始在卷中存储数据。

Docker 卷只是磁盘上的目录,不能简单地将它们映射到 Kubernetes 卷

【讨论】:

    【解决方案2】:

    当我在该应用上应用 kubernetes 时,它不会保存任何数据 显然来自 docker 卷,它只需要 Kubernetes 卷。

    这并不完全正确,正如@Charles Xu 所提到的,只要您的 Docker 容器使用“Azure 文件存储”支持的卷,您就可以无缝地挂载与 Azure Kubernetes 中的持久卷相同的数据卷(Azure 文件存储)服务(AKS 提供的两种数据存储 supported 之一)。

    考虑到您当前正在运行您的 Docker 容器本地环境,使用可以使用 Docker Volume Driver for Azure File Storage 开始将您的数据推送到 Azure(查看演示 here),或者对于 Swarm Cluster in Azure 使用 Cloudstor

    【讨论】:

      【解决方案3】:

      要将 docker 卷中的数据传输到 Azure Kubernetes 卷,我能想到的方式是将 docker 卷中的数据传输到 Azure 文件共享,然后将文件共享挂载到 Kubernetes 卷。

      最好的方法是先将 Azure 文件共享挂载到 docker 服务器所在的机器上,然后在挂载路径中创建卷,并在 docker 中为您的应用程序使用卷。在 Azure Kubernetes 中部署应用程序时,将文件共享装载到其卷。

      我认为 Azure Kubernetes 中没有接口可以自动将数据从 docker 卷传输到 AKS 卷。

      【讨论】:

        猜你喜欢
        • 2021-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-30
        • 2018-04-18
        • 2018-08-25
        • 1970-01-01
        相关资源
        最近更新 更多