在最近的Kubernetes 1.12中引入了一些突破性的变化(更多细节在这里提到#68688),它使目前的CSI驱动程序不工作。
卷安装失败,错误如下:
代码:
事件:
类型原因年龄从消息
---- ------ ---- ---- -------
Normal Scheduled 2m41s default-scheduler成功
将default/server-3-pbvzg分配给gfs3.local
Normal SuccessfulAttachVolume 2m41s attachdetache -controller AttachVolume。附加
成功创建卷"pvc-e12c700d-dc71-11e8-b694-506b8da94890"
警告FailedMount 38s kubelet, gfs3。server-3-pbvzg_default(4b72238d-dcf1-11e8-b694-506b8da94890)": timeout timeout for volumes to attach or mount for pod "default"/"server-3-pbvzg"。unmounted volumes的列表=[mypvc-3]。未附加卷列表=[mypvc-3 default-token-nvzpz]
警告FailedMount 7s (x7 over 39s)当地MountVolume。MountDevice failed for volume " pvcd -e12c700d-dc71-11e8-b694-506b8da94890": driver name com.nutanix.csi not found in the list of registered CSI drivers
从公关在1.12发布说明中添加CSI操作
- 在CSI 1.0的下一个版本中,Kubernetes 1.12调用CSI [code]NodeGetInfo[/code] RPC而不是[code]NodeGetId[/code] RPC。在升级到1.12之前,确保您的CSI驱动程序实现[code]NodeGetInfo(…)[/code]
- Kubernetes 1.12也支持Kubelet设备插件注册默认功能。在升级到1.12之前,确保(代码)driver-registrar[/代码]CSI的双轮马车容器CSI驱动程序配置为处理插件注册(设置(代码)——kubelet-registration-path[/代码]参数(代码)driver-registrar[/代码]揭露一个新的unix域套接字处理Kubelet插件注册)。
Nutanix知道这些变化,并致力于解决CSI驱动程序的RPC调用变化,很快就会可用。
请确保在升级到K8的1.12或以上之前检查CSI文档。