banner
NEWS LETTER

Helm对接外部NFS存储

Scroll down

本文作者:丁辉

Helm对接外部NFS存储

NFS subdir 外部配置程序是一个自动配置程序,它使用现有且已配置的NFS 服务器来支持通过持久卷声明动态配置 Kubernetes 持久卷。

部署

Github仓库

官网介绍

  1. 添加仓库

    1
    2
    helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
    helm repo update
  2. 安装

    1
    2
    3
    helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
    --set nfs.server=127.0.0.1 \
    --set nfs.path=/data

    国内无法拉取到此镜像 x86 架构的我已经同步到国内了,使用此命令安装

    1
    2
    3
    4
    5
    6
    helm install nfs-subdir-external-provisioner \
    nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
    --set image.repository=registry.cn-hangzhou.aliyuncs.com/offends/nfs-subdir-external-provisioner \
    --set image.tag=v4.0.2 \
    --set nfs.server=127.0.0.1 \
    --set nfs.path=/data
  3. 查看

    1
    kubectl get pod -l app=nfs-subdir-external-provisioner
  4. 检查 storageclass

    1
    kubectl get sc

    存在 nfs-client 则👌

配置 nfs-client 为默认存储类

1
kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

取消 nfs-client 为默认存储类

1
kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'

指定 NFS vers 版本

遇到一个非常难解的问题,在 centos7.9 系统版本中容器挂载使用 NFS 存储当作持久化卷,数据库这一种类型的容器无法启动,修改 vers 版本为3.0解决问题

解决方案

  • 第一种修改 values.yaml 配置文件

    1
    vi nfs-subdir-external-provisioner/values.yaml

    内容如下

    1
    2
    3
    4
    5
    nfs:
    server:
    path: /data
    mountOptions:
    - nfsvers=3.0
  • 第二种添加 install 参数

1
--set nfs.mountOptions[0]=nfsvers=3.0

老版本部署(已废弃)

Github仓库

  1. 拉取代码

    1
    2
    helm repo add stable https://charts.helm.sh/stable
    helm repo update
  2. 部署

    1
    helm install nfs-storageclass stable/nfs-client-provisioner --set nfs.server=127.0.0.1 --set nfs.path=/data
  3. 修改 apiserver 参数

    1
    vi /etc/kubernetes/manifests/kube-apiserver.yaml

    添加如下参数

    1
    - --feature-gates=RemoveSelfLink=false

卸载

1
helm uninstall nfs-subdir-external-provisioner

I'm so cute. Please give me money.

其他文章
cover
Helm对接外部Ceph
  • 70/01/01
  • 00:00
  • Kubernetes-Helm
cover
Helm安装
  • 70/01/01
  • 00:00
  • Kubernetes-Helm
目录导航 置顶
  1. 1. Helm对接外部NFS存储
    1. 1.1. 部署
    2. 1.2. 配置 nfs-client 为默认存储类
    3. 1.3. 指定 NFS vers 版本
    4. 1.4. 老版本部署(已废弃)
    5. 1.5. 卸载
请输入关键词进行搜索