0%

NFS访问失败问题解决

今天升级Kubernetes1.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部署,更换方法如下:

  1. 先增加helm

    1
    2
    helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner
    helm repo update
  2. 删除原来的部署

    1
    helm uninstall nfs-prod
  3. 修改value文件,新的文件如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    image:
    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: {}
  4. 重新部署

    1
    helm install <name> nfs-subdir-external-provisioner/nfs-subdir-external-provisioner -f <value file>

测试正常。

坚持原创技术分享,您的支持将鼓励我继续创作!