kubernetes - GKE上的可附加flexVolume不起作用
问题描述
我正在在集群上编写自己的 flexVolume 驱动程序,1.10.2-gke.3
但在使其以可附加模式工作时遇到了麻烦。
驱动程序在不可连接模式下工作,但ReadWriteOnce
不会一次强制安装在一个节点上,这是我的驱动程序的要求,也是我在这里试图实现的最终目标。
我通过在init
调用中返回功能使驱动程序可附加:
{"status": "Success", "capabilities": {"attach": true}}
然后,当创建一个使用此驱动程序引用卷的 pod 时,只会getvolumename
被调用。我在这里返回什么或者我是否实现了调用并不重要。这也是驱动程序的唯一调用,即永远不会被调用attach
等。
日志表明该卷未注册为节点正在使用:
kubelet[1910]: W0712 flexVolume driver a3cloud/glusterloop: using default GetVolumeName for volume a3cloud-system-test
kubelet[1910]: I0712 operationExecutor.VerifyControllerAttachedVolume started for volume "a3cloud-system-test" (UniqueName: "flexvolume-a3cloud/glusterloop/a3cloud-system-test") pod "test-56c867dd4d-75hwc" (UID: "4f633bb6-85b1-11e8-adb3-42010a9c0fc8")
kubelet[1910]: E0712 Operation for "\"flexvolume-a3cloud/glusterloop/a3cloud-system-test\"" failed. No retries permitted until 2018-07-12 08:57:24.360177039 +0000 UTC m=+64585.959480766 (durationBeforeRetry 2m2s). Error: "Volume has not been added to the list of VolumesInUse in the node's volume status for volume \"a3cloud-system-test\" (UniqueName: \"flexvolume-a3cloud/glusterloop/a3cloud-system-test\") pod \"test-56c867dd4d-75hwc\" (UID: \"4f633bb6-85b1-11e8-adb3-42010a9c0fc8\") "
根据此问题评论以及文档,如果 kubelet 使用--enable-controller-attach-detach
选项启动,则驱动程序也必须安装在主服务器上。查看正在运行的进程,未设置此选项,但同时可能是默认选项?
所以我的问题是:
- 是否可以编写具有可附加支持的 flexVolume 驱动程序而无需将其安装在主设备上?
- 是否可以在 GKE 主机上安装 flexVolume 驱动程序?
- 有没有其他方法可以确保我的卷一次只安装在一个节点上(无需破解我自己的锁定解决方案)?
谢谢!
解决方案
总之,GKE master 是由 Google 管理的,所以你无法访问 master。似乎不可能编写具有附加支持的 flexVolume 驱动程序,而无需将其安装在主机上。但是,对于这个问题和另一个问题(一次仅在一个节点上安装卷),我们建议联系 GKE 团队。它们在 Slack 上可用:slack.k8s.io。
推荐阅读
- android - 前台通知服务有时会自行停止,有时会在牛轧糖中自动启动
- angular - Angular Materials Modal:为什么我的变量在订阅中未定义但在地图方法中未定义?
- android - 无文本预览的 NumberPad 键盘
- eclipse - 当我运行我的项目时,这个运行时错误是什么?
- testing - 我如何安装 Spectron 并开始编写脚本?
- maven - 没有 settings.xml 的声纳 Maven 插件
- facebook - 如何在 facebook 分析服务器到服务器中处理用户
- javascript - 如何将 jQuery UI 所有选定范围(不仅是最小值和最大值)加载到数组中
- azure - Hive Table 迁移到不同的环境
- ruby-on-rails - 如何根据参数验证 Rails 模型?