几乎两年后,我们遇到了与本SO帖子中描述的相同的问题。
自2018年以来,我们的工作负载一直在工作,没有任何中断,但它们突然停止了,因为我们必须更新证书。然后我们无法再次启动工作负载。。。失败的原因是pod试图通过NFS装载持久磁盘,而nfs-server
pod(基于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: {}