k8s + nfs 静态存储模式
1、先搭建一个nfs服务器#安装nfsyum -y install nfs-utils#创建挂载目录mkdir /nfs#更改exports文件vim /etc/exports#输入以下内容#网段配置成k8s master和node所在网段/nfs/ 192.168.164.0/24(rw,sync,no_root_squash)#启动nfssystemctl start rpcbind;syst
1、先搭建一个nfs服务器
#安装nfs
yum -y install nfs-utils
#创建挂载目录
mkdir /nfs
#更改exports文件
vim /etc/exports
#输入以下内容 #网段配置成k8s master和node所在网段
/nfs/ 192.168.164.0/24(rw,sync,no_root_squash)
#启动nfs
systemctl start rpcbind;systemctl enable rpcbind
systemctl start nfs;systemctl enable nfs
exportfs -r
2、需要在k8s 的所有master和node节点安装nfs客户端
yum -y install nfs-utils
3、创建持久化PV存储 pv.yaml文件
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-pv
namespace: default
spec:
capacity:
storage: 10G
accessModes:
- ReadWriteMany
nfs:
# FIXME: use the right IP
server: 192.168.164.11
path: /nfs/
4、创建持久化PVC存储索取 pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-pvc
namespace: default
spec:
accessModes:
- ReadWriteMany
storageClassName: ""
resources:
requests:
storage: 10G
5、创建nginx POD容器使用PVC存储卷索取
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx-v1
labels:
name: nginx-v1
namespace: default
spec:
replicas: 1
selector:
name: nginx-v1
template:
metadata:
labels:
name: nginx-v1
spec:
containers:
- name: nginx-v1
image: nginx
volumeMounts:
- mountPath: /usr/share/nginx/html
name: nginx-data
ports:
- containerPort: 80
volumes:
- name: nginx-data
persistentVolumeClaim:
claimName: nfs-pvc
最后就是测试了
在nfs服务器的 /nfs 目录下创建一个index.html 文件
[root@node2 nfs]# cat index.html
this is nfs PV 静态存储模式
查看创建的nginx pod信息,可以看到pod的ip为10.244.2.37 ,pod 名为nginx-v1-xnhnv
让后再k8s的任意节点上访问pod,都可以访问到
接着我们把 pod删除再试试
然后k8s的Replication Controllers 又新起了一个pod
新pod的 名字是 nginx-v1-sd5sz ip是10.224.2.38
在访问这个新pod试试
发现我们的网页内用并没有改变
PV配置参数如下:
Capacity 指定 PV 的容量为 100M; accessModes 指定访问模式为 ReadWriteOnce,支持的访问模式有: ReadWriteOnce -------- PV 能以 read-write 模式 mount 到单个节点。 ReadOnlyMany – ------ PV 能以 read-only 模式 mount 到多个节点。 ReadWriteMany –----- PV 能以 read-write 模式 mount 到多个节点。 persistentVolumeReclaimPolicy 指定当 PV 的回收策略为 Recycle,支持的策略有: Retain – -----------------需要管理员手工回收。 Recycle –--------------- 清除 PV 中的数据,效果相当于执行 rm -rf /thevolume/*; Delete –------------------ 删除 Storage Provider 上的对应存储资源, storageClassName 指定 PV 的 class 为 nfs。相当于为 PV 设置了一个分类,PVC 可以指定 class 申请相应 class 的 PV。 指定 PV 在 NFS 服务器上对应的目录。 |
更多推荐
所有评论(0)