几乎两年后,我们遇到了与本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: {}