具有 GPD 卷的容器虚拟机映像失败并显示 "Failed to get GCE Cloud Provider. plugin.host.GetCloudProvider returned <nil> instead"
Container-VM Image with GPD Volumes fails with "Failed to get GCE Cloud Provider. plugin.host.GetCloudProvider returned <nil> instead"
我目前尝试从 "Container-Optimized Google Compute Engine Images" (https://cloud.google.com/compute/docs/containers/container_vms) to the "Container-VM" Image (https://cloud.google.com/compute/docs/containers/vm-image/#overview) 切换。在我的 containers.yaml 中,我定义了一个卷和一个使用该卷的容器。
apiVersion: v1
kind: Pod
metadata:
name: workhorse
spec:
containers:
- name: postgres
image: postgres:9.5
imagePullPolicy: Always
volumeMounts:
- name: postgres-storage
mountPath: /var/lib/postgresql/data
volumes:
- name: postgres-storage
gcePersistentDisk:
pdName: disk-name
fsType: ext4
此设置在 "Container-Optimized Google Compute Engine Images" 上运行良好,但在 "Container-VM" 上失败。在日志中,我可以看到以下错误:
May 24 18:33:43 battleship kubelet[629]: E0524 18:33:43.405470 629 gce_util.go:176]
Error getting GCECloudProvider while detaching PD "disk-name":
Failed to get GCE Cloud Provider. plugin.host.GetCloudProvider returned <nil> instead
提前感谢任何提示!
只有当 kubelet
是 运行 且没有 --cloud-provider=gce
标志时才会发生这种情况。除非有什么不同,否则问题取决于 GCP 如何启动容器虚拟机。
请联系google云平台大佬
请注意,如果您在使用 GCE 时发生这种情况: 将 --cloud-provider=gce
标记添加到所有工作程序中的 kubelet
。这仅适用于 1.2 集群版本,因为如果我没记错的话,有一个正在进行的 attach/detach 设计针对 1.3 集群 ,它将把这个业务逻辑移出 kubelet
。
如果有人对这里的 attach/detach 重新设计感兴趣,它是它对应的 github 问题:https://github.com/kubernetes/kubernetes/issues/20262
我目前尝试从 "Container-Optimized Google Compute Engine Images" (https://cloud.google.com/compute/docs/containers/container_vms) to the "Container-VM" Image (https://cloud.google.com/compute/docs/containers/vm-image/#overview) 切换。在我的 containers.yaml 中,我定义了一个卷和一个使用该卷的容器。
apiVersion: v1
kind: Pod
metadata:
name: workhorse
spec:
containers:
- name: postgres
image: postgres:9.5
imagePullPolicy: Always
volumeMounts:
- name: postgres-storage
mountPath: /var/lib/postgresql/data
volumes:
- name: postgres-storage
gcePersistentDisk:
pdName: disk-name
fsType: ext4
此设置在 "Container-Optimized Google Compute Engine Images" 上运行良好,但在 "Container-VM" 上失败。在日志中,我可以看到以下错误:
May 24 18:33:43 battleship kubelet[629]: E0524 18:33:43.405470 629 gce_util.go:176]
Error getting GCECloudProvider while detaching PD "disk-name":
Failed to get GCE Cloud Provider. plugin.host.GetCloudProvider returned <nil> instead
提前感谢任何提示!
只有当 kubelet
是 运行 且没有 --cloud-provider=gce
标志时才会发生这种情况。除非有什么不同,否则问题取决于 GCP 如何启动容器虚拟机。
请联系google云平台大佬
请注意,如果您在使用 GCE 时发生这种情况: 将 --cloud-provider=gce
标记添加到所有工作程序中的 kubelet
。这仅适用于 1.2 集群版本,因为如果我没记错的话,有一个正在进行的 attach/detach 设计针对 1.3 集群 ,它将把这个业务逻辑移出 。 kubelet
如果有人对这里的 attach/detach 重新设计感兴趣,它是它对应的 github 问题:https://github.com/kubernetes/kubernetes/issues/20262