【发布时间】:2019-03-26 15:46:39
【问题描述】:
我们看到卷安装间歇性失败并出现以下错误消息:
错误:找不到要挂载到容器“笔记本”的卷“工作”。
大约 5% 的 pod 启动时会出现此问题(它们都具有相同的配置)。该卷由 PVC 支持,PVC 是在 Pod 创建之前立即创建的。
我们在 GKE 上运行,版本为 v1.11.7-gke.12。
Pod 清单在这里:
{
apiVersion: 'v1',
kind: 'Pod',
metadata: {
name: 'some pod name',
annotations: {},
labels: {},
},
spec: {
restartPolicy: 'OnFailure',
securityContext: {
fsGroup: 100,
},
automountServiceAccountToken: false,
volumes: [
{
name: 'work',
persistentVolumeClaim: {
claimName: pvcName,
},
},
],
containers: [
{
name: 'notebook',
image,
workingDir: undefined, // this is defined in Dockerfile
ports: [
{
name: 'notebook-port',
containerPort: port,
},
],
args: [...command.split(' '), ...args],
imagePullPolicy: 'IfNotPresent',
volumeMounts: [
{
name: 'work',
mountPath: '/home/jovyan/work',
},
],
resources: {
requests: {
memory: '256M',
},
limits: {
memory: '1G',
},
},
},
{
name: 'watcher',
image: 'gcr.io/deepnote-200602/wacher:0.0.3',
imagePullPolicy: 'Always',
volumeMounts: [
{
name: 'work',
mountPath: '/home/jovyan/work',
},
],
},
],
},
}
}
任何帮助或想法将不胜感激!此外,很高兴尝试任何其他日志/步骤可能有助于隔离问题的建议。
【问题讨论】:
-
关于 SO 的一个看似相关的问题是:stackoverflow.com/questions/52114457/… 但除了版本更改之外,没有答案也没有提示如何进行,因为我们在 GKE 上,所以我们不能这样做。
-
文档状态“挂载选项未经验证,因此如果一个选项无效,挂载将失败。”您是使用清单文件还是使用 kubectl create 命令来创建集群?您提供了 pod 规格,但未提及 pv 规格。 kubernetes.io/docs/concepts/storage/persistent-volumes/… 的文档讨论了 PV 可能发生的许多错误可能性。您需要为您的系统找到 PV 配置。
-
你能检查
PV&PVCstatus/describe的输出和他们的清单吗。
标签: kubernetes google-kubernetes-engine