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

相关推荐
lly_csdn12316 分钟前
【Docker】常用命令汇总
linux·运维·docker·容器
努力的Andy40 分钟前
修改Docker 默认存储目录( Docker Root Dir: /var/lib/docker)
linux·docker·容器
hai4058741 分钟前
Docker 启动和停止的精准掌舵:操控指南
docker·容器·eureka
向阳121842 分钟前
Seata使用ZooKeeper作为注册中心
分布式·zookeeper·云原生
成都 - 阿木木1 小时前
云原生自动化测试之命令行工具自动化测试设计思路分享
自动化测试·软件测试·功能测试·测试工具·云原生·云计算·命令行自动化测试
极客先躯2 小时前
k8s 架构详解
容器·架构·kubernetes·etcd·scheduler·api server
云上星空2 小时前
K8s调度器扩展(scheduler)
java·贪心算法·kubernetes
怡雪~2 小时前
K8s的API资源对象NetworkPolicy
linux·容器·kubernetes
Linux运维技术栈2 小时前
自动化运维(k8s)之微服务信息自动抓取:namespaceName、deploymentName等全解析
运维·kubernetes·自动化
小安运维日记2 小时前
CKA认证 | Day4 K8s管理应用生命周期(下)
linux·运维·云原生·容器·kubernetes·云计算