2017-06-02 74 views
0

我想在一个吊舱安装在vSphere卷,但我不断收到:安装的vSphere店Kubernetes荚不工作

vsphere_volume_util.go:123] Cloud provider not initialized properly 

/etc/kubernetes/environment/vsphere.conf

[Global] 
    user="xxxxxx" 
    password="xxxxxx" 
    server="xxxxxx" 
    port="443" 
    insecure-flag="1" 
    datacenter="Frankfurt" 
    datastore="dfrclupoc01-001" 
    #working-dir="dockvols" 
[Disk] 
    scsicontrollertype=pvscsi 

在 “VMware的vSphere Web Client中” 我看到:

<mltdfrd01.xx.com> 
    <Frankfurt> 
    <dfrclupoc01-001> 

以及存储在我的文件夹 “dockvols” 一个子目录“11111 111-1111-1111-1111-111111111111" 。

apiVersion: v1 
kind: PersistentVolume 
metadata: 
    name: pv0001 
spec: 
    capacity: 
    storage: 10Gi 
    accessModes: 
    - ReadWriteOnce 
    persistentVolumeReclaimPolicy: Retain 
    vsphereVolume: 
    volumePath: "[Frankfurt/dfrclupoc01-001] dockvols/11111111-1111-1111-1111-111111111111/MyVolume.vmdk" 
    fsType: ext4 

kind: PersistentVolumeClaim 
apiVersion: v1 
metadata: 
    name: pvcmilo1 
spec: 
    accessModes: 
    - ReadWriteOnce 
    resources: 
    requests: 
     storage: 10Gi 

apiVersion: v1 
kind: Pod 
metadata: 
    name: pod0001 
spec: 
    containers: 
    - image: busybox 
    name: pod0001 
    volumeMounts: 
    - mountPath: /data 
     name: pod-volume 
    volumes: 
    - name: pod-volume 
    persistentVolumeClaim: 
     claimName: pvcmilo1 

我试过不同的卷路径,但我认为问题在这个过程中是较早的。

开始的那一刻的节点的日志我创建荚:

I0602 05:43:20.781563 84854 operation_executor.go:917] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/224c6b51-24fc-11e7-adcd-005056890fa6-default-token-j6vgj" (spec.Name: "default-     token-j6vgj") pod "224c6b51-24fc-11e7-adcd-005056890fa6" (UID: "224c6b51-24fc-11e7-adcd-005056890fa6"). 
I0602 05:43:24.279729 84854 kubelet.go:1781] SyncLoop (ADD, "api"): "pod0001_default(ebe97189-4777-11e7-8979-005056890fa6)" 
E0602 05:43:24.378657 84854 vsphere_volume_util.go:123] Cloud provider not initialized properly 
I0602 05:43:24.382952 84854 reconciler.go:230] VerifyControllerAttachedVolume operation started for volume "kubernetes.io/vsphere-volume/ebe97189-4777-11e7-8979-005056890fa6-pv0001" (spec.Name: "     pv0001") pod "ebe97189-4777-11e7-8979-005056890fa6" (UID: "ebe97189-4777-11e7-8979-005056890fa6") 
I0602 05:43:24.382985 84854 reconciler.go:230] VerifyControllerAttachedVolume operation started for volume "kubernetes.io/secret/ebe97189-4777-11e7-8979-005056890fa6-default-token-zsrfn" (spec.Na     me: "default-token-zsrfn") pod "ebe97189-4777-11e7-8979-005056890fa6" (UID: "ebe97189-4777-11e7-8979-005056890fa6") 
I0602 05:43:24.483237 84854 reconciler.go:306] MountVolume operation started for volume "kubernetes.io/secret/ebe97189-4777-11e7-8979-005056890fa6-default-token-zsrfn" (spec.Name: "default-token-     zsrfn") to pod "ebe97189-4777-11e7-8979-005056890fa6" (UID: "ebe97189-4777-11e7-8979-005056890fa6"). 
E0602 05:43:24.483265 84854 vsphere_volume_util.go:123] Cloud provider not initialized properly 
I0602 05:43:24.483296 84854 reconciler.go:306] MountVolume operation started for volume "kubernetes.io/vsphere-volume/ebe97189-4777-11e7-8979-005056890fa6-pv0001" (spec.Name: "pv0001") to pod "eb     e97189-4777-11e7-8979-005056890fa6" (UID: "ebe97189-4777-11e7-8979-005056890fa6"). 
E0602 05:43:24.492507 84854 mount_linux.go:119] Mount failed: exit status 32 
Mounting command: mount 
Mounting arguments: /var/lib/kubelet/plugins/kubernetes.io/vsphere-volume/mounts/[dfrclupoc01-001] dockvols/11111111-1111-1111-1111-111111111111/MyVolume.vmdk /var/lib/kubelet/pods/ebe97189-4777-11     e7-8979-005056890fa6/volumes/kubernetes.io~vsphere-volume/pv0001 [bind] 
Output: mount: special device /var/lib/kubelet/plugins/kubernetes.io/vsphere-volume/mounts/[dfrclupoc01-001] dockvols/11111111-1111-1111-1111-111111111111/MyVolume.vmdk does not exist 

Kubernete版本:1.5.2

感谢您的帮助, 米洛

+0

您能张贴apiserver和kubelet日志吗? –

+0

@JanosLenart:我在问题中添加了一些日志记录。这是你需要的吗?你能否解释哪里可以找到你需要的东西?感谢您的关注! –

+0

您是否遵守过https://kubernetes.io/docs/getting-started-guides/vsphere/#vsphere-cloud-provider? –

回答

0

好像我错过了很多的详细信息:

  • 不仅kubelet需要cloudconfig,还需要api-server和d控制器管理器
  • wwn disks by-id在哪里丢失。我必须在vm的vSphere环境中通过将disk.EnableUUID设置为TRUE来启用它
  • 删除working-dirs条目。似乎崩溃kubelet ...
  • 其他一些细节我忘

详见https://vanderzee.org/linux/article-170620-144221