k8s集群增加nfs-subdir-external-provisioner存储类

文章目录


前言

手里的一台服务器搭建一个单点的k8s集群,然后在本机上使用nfs-subdir-external-provisioner存储类型提供pod的存储。


一、版本信息

操作系统版本: Ubuntu 22.04.5 LTS

nfs-subdir-external-provisioner版本:v4.0.2

二、本机安装nfs组件包

shell 复制代码
 sudo apt-get install -y nfs-kernel-server

 mkdir -p /data/nfs/

 chmod -R 777 /data/nfs/
 否则创建pvc的时候会有permission denied的提示

 echo "/data/nfs/ *(rw,sync,no_subtree_check)" | sudo tee -a /etc/exports

 sudo exportfs -ra
 
 sudo systemctl restart nfs-kernel-server.service

 sudo systemctl status  nfs-kernel-server.service

三、下载nfs-subdir-external-provisioner配置文件并进行配置

1.下载文件

代码如下(示例):

shell 复制代码
# 准备存放文件的路径
mkdir -p /data/k8s/nfs-storageclass
# 下载deployment配置文件
wget https://raw.githubusercontent.com/kubernetes-sigs/nfs-subdir-external-provisioner/refs/tags/v4.0.2/deploy/deployment.yaml -O /data/k8s/nfs-storageclass/deployment.yaml

# 下载storageclass配置文件
wget https://raw.githubusercontent.com/kubernetes-sigs/nfs-subdir-external-provisioner/refs/tags/v4.0.2/deploy/class.yaml -O /data/k8s/nfs-storageclass/class.yaml

# 下载rbac配置文件
wget https://raw.githubusercontent.com/kubernetes-sigs/nfs-subdir-external-provisioner/refs/tags/v4.0.2/deploy/rbac.yaml -O /data/k8s/nfs-storageclass/rbac.yaml

2.修改配置

deployment.yaml

根据本地情况修改相关配置项:(我的本地配置如下)

nfs-server-ip:192.168.XX.5

nfs-path:/data/nfs

yaml 复制代码
          env:
            - name: PROVISIONER_NAME
              value: k8s-sigs.io/nfs-subdir-external-provisioner
            - name: NFS_SERVER
              value: 192.168.XX.5
            - name: NFS_PATH
              value: /data/nfs
      volumes:
        - name: nfs-client-root
          nfs:
            server: 192.168.XX.5
            path: /data/nfs

三、进行部署

shell 复制代码
kubectl apply -f /data/k8s/nfs-storageclass/rbac.yaml

kubectl apply -f /data/k8s/nfs-storageclass/deployment.yaml

kubectl apply -f /data/k8s/nfs-storageclass/class.yaml

查看部署结果


备注:关于镜像无法拉取问题的处理

我的思路是用香港地域的云主机去拉取

https://blog.csdn.net/baidu_35848778/article/details/143504023

相关推荐
知已难寻7 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
xbzb12 小时前
镜像到底存在哪:/var/lib/docker 的四级映射与 daemon.json 配置
docker·容器·json·镜像·daemon.json·四级
阿里云云原生12 小时前
生产更可信,订阅更耐用丨Higress 社区进展报告
云原生
阿里云云原生13 小时前
如何用 STAROps Elasticsearch 智能助手看穿“搜索变慢”
云原生
kuroomi17 小时前
Git入门
git·kubernetes
雾时之林17 小时前
国内Docker 镜像加速器配置
云原生·eureka
方便面不加香菜19 小时前
Docker Volume -- 管理卷Volume详解
运维·docker·容器
江湖有缘20 小时前
Docker实战 | 使用Docker部署lemonitor镜像站点列表程序
运维·docker·容器
莫晓燚20 小时前
mall 电商项目完整部署---实战
linux·运维·docker·容器
我是koten1 天前
【运维杂谈】K8s遇到Terminating的名称空间删除不了怎么办?(解决方案亲测有效)
linux·运维·服务器·云原生·kubernetes·k8s·名称空间