Kubernetes dynamic pv
Install nfs
NFS 是 Network File System 的缩写,即网络文件系统。
详细信息
1
|
yum -y install nfs-utils
|
Configurtion nfs server
1
2
3
4
5
|
# 创建共享目录
mkdir /data && chmod 755 /data
vim /etc/exports
# 添加配置
/data/ 192.168.0.0/24(rw,sync,no_root_squash,no_all_squash)
|
- /data: 共享目录位置。
- 192.168.0.0/24: 客户端 IP 范围,* 代表所有,即没有限制。
- rw: 权限设置,可读可写。
- sync: 同步共享目录。
- no_root_squash: 可以使用 root 授权。
- no_all_squash: 可以使用普通用户授权。
1
|
systemctl enable rpcbind nfs && systemctl restart rpcbind nfs
|
Install dynamic pv
Helm charts 详细信息
1
2
3
4
5
6
7
8
|
# 添加Helm repo
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
# Install
helm install --name nfs \
--set nfs.server=192.168.124.200 \
--set nfs.path=/data \
nfs-subdir-external-provisioner/nfs-subdir-external-provisioner
|
Configurtion default storage class
详细信息
设置默认Storage Classes,就不需要在pvc里面声明Sc的name,默认就会调用此sc
1
|
kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
|
Cancel default storage class
1
|
kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
|
K8s v1.20.0 nfs
相关Issue
需要在kube-apiserver添加 - --feature-gates=RemoveSelfLink=false