【问题标题】:Kubernetes external provisioner vs CSIKubernetes 外部供应商与 CSI
【发布时间】:2019-04-25 03:55:36
【问题描述】:

假设我有一个类似 targetd 的 iSCSI 服务器,它(就像 targetd 一样)可以通过 API 配置 iSCSI LUN。为了让这个 iSCSI 服务器与 K8s 动态 PV 配置一起工作,我在谷歌搜索后发现了两种可能的解决方案。

第一个解决方案是CSI。基本上,我需要实现一个 CSI 插件,将卷创建请求转换为 LUN 创建 API 调用,并将存储/挂载请求转换为 iscsiadm 命令。

但是,由于我已经知道 K8s 支持开箱即用的静态预置 iSCSI LUN,我想知道我是否可以只做动态置备部分并将所有繁重的工作(mount 和 iscsiadm 命令)留给 K8s内置 iSCSI 功能。所以后来,我为 K8s 找到了iSCSI-targetd provisioner。它似乎比 CSI 插件简单得多,并且只需要 150 LOC 来为我的 iSCSI 服务器实现我的配置器。

我有一个模糊的印象,K8s 社区现在正在向 CSI 进行外部存储集成。这是否意味着我的后一种供应商方式可能会被弃用,应该转移到 CSI 插件?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    事实上 CSI 是存储配置的标准化方式,现在您可以获得 iSCSi(模拟)块存储,有多种选择,根据我的经验,我建议使用:

    • rook.io: 真的很棒,很好的文档,涵盖了存储的不同方面(块、文件、对象和不同的后端......)
    • gluster-block:gluster 存储插件,配合heketi使用。请参阅文档k8s provisioning

    顺便说一句,gluster 是 RedHat 在 Openshift 3 上采用的 CSI 解决方案,它相当不错,感觉 Openshift 4 将是 Ceph 的东西(很可能是 rook)

    【讨论】:

      猜你喜欢
      • 2017-10-08
      • 1970-01-01
      • 1970-01-01
      • 2014-04-26
      • 2020-03-24
      • 2020-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多