1

我有一个专有的文件系统,我想用它来为我的K8S pod提供文件存储。我目前正在运行K8S v1.5.1,但如果需要,可以打开升级到1.6。带动态配置的Kubernetes自定义卷插件

我想使用Dynamic Provisioning,以便根据需要创建卷。我通过对kubernetes.io官方文档去了,这是我迄今了解:

  1. 我需要写一个Kubernetes定制音量插件我的专有 文件系统。
  2. 我需要创建一个StorageClass其利用 provisoner的,从我的专有文件系统规定的体积
  3. 我然后创建一个指向我的StorageClass一个PVC
  4. 然后创建我的豆荚参考我的存储类名称。

我什么不能做的是:

  1. 是Provisoner通过存储类和K8S音量插件同一个简称?如果他们不同,怎么样?
  2. K8S documentation有提及外部顾问。这是否意味着我可以为我的文件系统外树(K8S代码之外)编写K8S卷插件?
  3. 我的文件系统提供REST API来创建文件系统卷。我可以在我的provisoner/volume插件中调用它们吗?
  4. 如果我编写了一个树外插件,如何将它加载到我的K8S群集中,以便它可以用于使用存储类设置卷?

感谢任何帮助,以回答上述任何或全部。

谢谢!

回答

0

Is Provisoner referred by Storage Class and K8S Volume Plugin one and the same? If they are different, how? 如果您想要使用该插件调配存储,它应该是相同的。

There is mention of External Provisoner in K8S documentation. Does this mean I can write the K8S Volume Plugin for my filesystem out-of-tree (outside K8S code)? 是的,那是正确的。

My filesystem provides REST APIs to create filesystem volumes. Can I invoke them in my provisoner/volume plugin?

是,只要在客户端是置备代码的一部分。

If I write an out-of-tree plugin, how do I load it in my K8S cluster so that it can be used to provision volumes using the Storage Class?

它可以作为一个容器中运行,也可以通过二进制执行模型调用它。

+0

非常感谢!这有助于! – msbl3004