文章目录
前言
手里的一台服务器搭建一个单点的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