kubernetes nfs 启动nfs-client-provisioner报错

报错内容如下:

 Warning  FailedMount  21m   kubelet            MountVolume.SetUp failed for volume "nfs-client-root" : mount failed: exit status 32
Mounting command: systemd-run
Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/pods/9f0a9d4e-ad01-4a42-a225-f78360260691/volumes/kubernetes.io~nfs/nfs-client-root --scope -- mount -t nfs 10.9.20.36:/root/nfsfile /var/lib/kubelet/pods/9f0a9d4e-ad01-4a42-a225-f78360260691/volumes/kubernetes.io~nfs/nfs-client-root
Output: Running scope as unit run-28583.scope.
mount.nfs: Connection timed out
 

解决方法:

查看nfs servie所在机器的/etc/hosts

10.20.9.48 master
10.20.9.36 node01
10.20.9.10 node02

例如nfs server是在 10.20.9.36

则修改部署文件中的对应server为node01:

nfs-provisioner.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nfs-client-provisioner
  labels:
    app: nfs-client-provisioner
  namespace: kafka
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nfs-client-provisioner
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: nfs-client-provisioner
  template:
    metadata:
      labels:
        app: nfs-client-provisioner
    spec:
      serviceAccountName: nfs-client-provisioner
      containers:
        - name: nfs-client-provisioner
          image: quay.io/external_storage/nfs-client-provisioner:latest
          volumeMounts:
            - name: nfs-client-root
              mountPath: /persistentvolumes
          env:
            - name: PROVISIONER_NAME
              value: qgg-nfs-storage
            - name: NFS_SERVER
              value: node01
            - name: NFS_PATH
              value: /data/volumes
      volumes:
        - name: nfs-client-root
          nfs:
            server: node01
            path: /data/volumes

 

1. 通过 Helm Chart 安装 nfs-client-provisioner 使用 Helm Chart 安装 nfs-client-provisioner 可以很容易地创建多个实例。首先,需要安装 Helm 工具和 Tiller 服务。然后,可以使用以下命令安装 nfs-client-provisioner: ``` helm install --name nfs-client-provisioner-1 stable/nfs-client-provisioner \ --set nfs.server=<NFS server IP address> \ --set nfs.path=<NFS server path> \ --set storageClass.name=nfs-client-provisioner-1 \ --set storageClass.defaultClass=false \ --set storageClass.archiveOnDelete=false \ --set storageClass.reclaimPolicy=Retain \ --set resources.requests.storage=1Gi ``` 通过更改 `--name` 和 `storageClass.name` 参数的值,可以创建多个 nfs-client-provisioner 实例。 2. 使用 Kubernetes 部署多个 nfs-client-provisionerKubernetes 中,可以创建多个 nfs-client-provisioner 实例,每个实例都有自己的 Deployment、Service 和 StorageClass。可以使用以下 YAML 文件创建一个 nfs-client-provisioner 实例: ``` apiVersion: v1 kind: ServiceAccount metadata: name: nfs-client-provisioner --- kind: Deployment apiVersion: extensions/v1beta1 metadata: name: nfs-client-provisioner-1 spec: replicas: 1 selector: matchLabels: app: nfs-client-provisioner-1 template: metadata: labels: app: nfs-client-provisioner-1 spec: serviceAccountName: nfs-client-provisioner containers: - name: nfs-client-provisioner image: quay.io/external_storage/nfs-client-provisioner:latest volumeMounts: - name: nfs-client-root mountPath: /persistentvolumes env: - name: PROVISIONER_NAME value: nfs-client-provisioner-1 - name: NFS_SERVER value: <NFS server IP address> - name: NFS_PATH value: <NFS server path> volumes: - name: nfs-client-root nfs: server: <NFS server IP address> path: <NFS server path> --- kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: nfs-client-provisioner-1 provisioner: nfs-client-provisioner-1 reclaimPolicy: Retain parameters: archiveOnDelete: "false" mountOptions: "nfsvers=4.1" ``` 然后,可以将文件中的 `nfs-client-provisioner-1` 更改为另一个名称,以创建另一个 nfs-client-provisioner 实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王伯爵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值