Longhorn

Longhorn 在整体上分为两层:数据平面和控制平面

  • Longhorn Manager 对应控制平面
    • 作为 DaemonSet 跑在每个节点上
    • 监听 API server 上的 Longhorn volume CRD 资源,创建和管理 volume
    • 创建卷时,会在 pod 所在节点上创建一个 Longhorn Engine 实例,并创建多个 replica
  • Longhorn Engine 是存储控制器,对应数据平面
    • Each volume has a dedicated controller,轻量级,相互不影响,但pod数量比较多
    • engine 总是跑在 pod 所在节点上,并连接 replicas
    • replica 要跑在不同的节点或不同的磁盘上

还有其他一些组件,具体还没有实践过,运行pod数量比较多,有不小的运维成本

Install #

每个节点需要安装依赖,还提供了检查环境依赖的脚本

  • open-iscsi
  • NFSv4 client