0

Ich versuche derzeit, von der "Container-Optimized Google Compute Engine Images" (https://cloud.google.com/compute/docs/containers/container_vms) auf die "Container-VM" Image (https://cloud.google.com/compute/docs/containers/vm-image/#overview). In meiner containers.yaml definiere ich ein Volume und einen Container mit dem Volume.Container-VM-Image mit GPD-Volumes schlägt mit "Fehler beim Abrufen des GCE-Cloud-Providers. Plugin.host.GetCloudProvider zurückgegeben <nil> statt"

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 

Dieses Setup funktionierte gut mit der "Container-optimierte Google Compute Engine Images", nicht jedoch mit dem "Container-VM". In den Protokollen kann ich den folgenden Fehler sehen:

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 

Vielen Dank im Voraus für jeden Hinweis!

Antwort

2

Dies geschieht nur, wenn kubelet ohne die --cloud-provider=gce Flag ausgeführt wird. Das Problem hängt, wenn es nicht anders ist, davon ab, wie GCP Container-VMs startet.

Bitte kontaktieren Sie mit Google Cloud-Plattform Jungs.

Hinweis, wenn Sie dies passiert, wenn GCE mit: hinzufügen --cloud-provider=gce Flagge zu kubelet in allen Arbeitnehmern. Dies gilt nur für 1.2-Cluster-Versionen, denn wenn ich nicht falsch liege, gibt es ein fortlaufendes Anfügen/Trennen-Design für 1.3 Cluster , die diese Geschäftslogik aus kubelet verschieben wird.

Falls sich jemand für das Redesign des Attach/Delaches interessiert, ist hier das entsprechende GitHub-Problem: https://github.com/kubernetes/kubernetes/issues/20262