几乎两年后,我们遇到了与本SO帖子中描述的相同的问题。
自2018年以来,我们的工作负载一直在工作,没有任何中断,但它们突然停止了,因为我们必须更新证书。然后我们无法再次启动工作负载。。。失败的原因是pod试图通过NFS装载持久磁盘,而nfs-serverpod(基于gcr.io/google_containers/volume-nfs:0.8)无法装载持久磁盘。
我们已经从1.23升到了1.25.5克。
我们用微小的变化多次重现了一切,但没有运气。Pods肯定无法访问任何持久磁盘。
我们已经检查了一些基本问题,例如:持久磁盘和集群与GKE集群位于同一区域,pod使用的服务帐户具有访问磁盘的必要权限等。
在每个pod上都看不到日志,这也很奇怪,因为日志似乎配置正确。
这是nfs-server.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    role: nfs-server
  name: nfs-server
spec:
  replicas: 1
  selector:
    matchLabels:
      role: nfs-server
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      labels:
        role: nfs-server
    spec:
      containers:
      - image: gcr.io/google_containers/volume-nfs:0.8
        imagePullPolicy: IfNotPresent
        name: nfs-server
        ports:
        - containerPort: 2049
          name: nfs
          protocol: TCP
        - containerPort: 20048
          name: mountd
          protocol: TCP
        - containerPort: 111
          name: rpcbind
          protocol: TCP
        resources: {}
        securityContext:
          privileged: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /exports
          name: webapp-disk
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
      volumes:
      - gcePersistentDisk:
          fsType: ext4
          pdName: webapp-data-disk
        name: webapp-disk
status: {}