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

相关推荐
藥瓿亭13 分钟前
K8S认证|CKS题库+答案| 4. RBAC - RoleBinding
linux·运维·服务器·云原生·容器·kubernetes·cks
得呢17 分钟前
K8s基础一
云原生·容器·kubernetes
Chanfi20 分钟前
kubeadm安装k8s
云原生·容器·kubernetes
油腻中年李大鹅1 小时前
使用scheduler-plugins实现自定义调度器
kubernetes·go
hsg772 小时前
基于nacos2.5.1的MCP服务端微服务项目开发环境配置简介
微服务·云原生·架构
Apache Flink2 小时前
Flink在B站的大规模云原生实践
大数据·云原生·flink
思绪漂移2 小时前
华为云学堂-云原生开发者认证课程列表
云原生·华为云
木头左2 小时前
Docker容器化技术中的联合文件系统原理探究
docker·容器·eureka
卡布奇诺-海晨4 小时前
RockyLinux9.6搭建k8s集群
容器·kubernetes
LanLance6 小时前
ES101系列09 | 运维、监控与性能优化
java·运维·后端·elasticsearch·云原生·性能优化·golang