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