0/3 nodes are available: 3 pod has unbound immediate PersistentVolumeClaims.
1.在k8s中创建sc时,发现pod一直在pending状态
2.原因,在k8s 1.20版本后,由于性能影响,自动关闭了 selflink
3.解决办法
4. 在配置文件中开启selflink
vim /etc/kubernetes/manifests/kube-apiserver.yaml
spec:
containers:
- command:
- kube-apiserver
- --feature-gates=RemoveSelfLink=false #增加此行
5. helm安装nfs驱动修改成自己的nfs服务器ip和path(属于使用不需要self-link的制备器)
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
--set nfs.server=192.168.118.190 \
--set nfs.path=/opt/jenkins
2.修改自己的 StorageClass文件,将驱动修改成 helm安装的驱动接口
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: managed-nfs-storage
namespace: kube-system
provisioner: cluster.local/nfs-subdir-external-provisioner # 外部制备器提供者,编写为提供者的名称
parameters:
archiveOnDelete: "false"
reclaimPolicy: Retain
volumeBindingMode: Immediate
先删除所有的yaml文件,然后在重新启动yaml文件
本文讲述了在升级至Kubernetes1.20后,由于性能调整导致Pod处于pending状态。解决方法包括在kube-apiserver配置中开启selflink,以及使用NFS外部存储并配置StorageClass。需删除旧配置文件并重启服务。
1580

被折叠的 条评论
为什么被折叠?



