今天升级Kubernetes到1.24,发现PVC创建时一直处于pending状态,经过检查发现,和之前遇到的问题一样,参考:升级Kubernetes V1.20后,pvc无法创建问题解决
然后检查/etc/kubernetes/manifests/kube-apiserver.yaml文件,之前设置的RemoveSelfLink=false,在升级后的确没有了,按照之前的方法增加,等待API Server重启。
然而,kube-apiserver启动不了了。
检查kube-apiserver,发现RemoveSelfLink=false在新的版本中已经不允许使用了。经过检查和验证,解决办法是更换nfs-client-provisioner。
需要将nfs-client-provisioner更换为nfs-subdir-external-provisioner,我使用的是helm部署,更换方法如下:
先增加
helm库1
2helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner
helm repo update删除原来的部署
1
helm uninstall nfs-prod
修改
value文件,新的文件如下1
2
3
4
5
6
7
8
9
10image:
repository: registry.cn-shanghai.aliyuncs.com/c7n/nfs-subdir-external-provisioner
storageClass:
name: <name>
archiveOnDelete: false
defaultClass: true
nfs:
server: <nfs-ip>
path: <nfs-path>
nodeSelector: {}重新部署
1
helm install <name> nfs-subdir-external-provisioner/nfs-subdir-external-provisioner -f <value file>
测试正常。