如何解决AWS Kubernetes 持久卷 EFS
在部署我的存储 Pod 并运行后,我已在 AWS EKS 集群中部署了 EFS 文件系统。
kubectl get pod -n storage
NAME READY STATUS RESTARTS AGE
nfs-client-provisioner-968445d79-g8wjr 1/1 Running 0 136m
当我尝试部署应用程序 pod 时,它没有进入其挂起状态 0/1
,同时 PVC 也没有限制其挂起状态。
这是实际应用程序部署后的日志。
I0610 13:26:11.875109 1 controller.go:987] provision "default/logs" class "efs": started
E0610 13:26:11.894816 1 controller.go:1004] provision "default/logs" class "efs": unexpected error getting claim reference: selfLink was empty,can't make reference
我使用的是 k8 1.20 版,请问有人能帮我解决这个问题吗。
解决方法
Kubernetes 1.20 停止传播 selfLink
。
有一个 workaround 可用,但并不总是有效。
行后
spec:
containers:
- command:
- kube-apiserver
添加
- --feature-gates=RemoveSelfLink=false
然后重新应用 API 服务器配置
kubectl apply -f /etc/kubernetes/manifests/kube-apiserver.yaml
此解决方法在 1.20(1.21 及更高版本)之后将不起作用,因为 selfLink
将被完全删除。
另一种解决方案是使用较新的 NFS 配置器映像:gcr.io/k8s-staging-sig-storage/nfs-subdir-external-provisioner:v4.0.0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。