Pods应用NFS存储
Volumes选择NFS服务器:
条件:
1. k8s集群,目前为(hadoop1,hadoop2,hadoop3)
2. 另起一台服务器做专门的NFS服务器
3. NFS需要在K8S的各个节点安装
部属:
1.NFS-Node
说明:在NFS这台服务器上安装NFS服务并配置规则
~]# yum -y install nfs-utils ~]# mkdir /k8s/volumes/web ~]# vim /etc/exporter /k8s/volumes/web 192.168.23.0/24(rw,no_root_squash) ~]# systemctl start nfs
2.k8s-slave2
说明:在k8s的第二个节点上,手动测试nfs是否可用
kubnet@hadoop3 ~]$ mount -t nfs 192.168.23.103:/k8s/volumes/web /mnt // 手动尝试是否能够挂载
3.k8s-master
说明:在k8s的主节点上创建单独的volumes目录用来存储yml文件,且创建独立式Pod.yml文件
kubnet@hadoop2 ~]$ mkdir volumes kubnet@hadoop2 volumes]$ vim pod-nfs-vol.yml
apiVersion: v1
kind: Pod
metadata:
name: pod-nfs-vol
namespace: default
spec:
containers:
- name: myapp
image: fangwenkai/kubernetes:v1.16
imagePullPolicy: IfNotPresent
volumeMounts:
- name: web-storage
mountPath: /usr/share/nginx/html/
readOnly: false
volumes:
- name: web-storage
nfs:
path: /k8s/volumes/web
server: 192.168.23.103
readOnly: false
kubnet@hadoop2 volumes]$ kubectl apply -f pod-nfs-vol.yml
kubnet@hadoop2 volumes]$ kubectl get pods -o wide
4.NFS-Node
说明:在NFS-Node上创建Nginx的主页文件
kubnet@hadoop3 ~]$ echo $(hostname) > /k8s/volumes/web/index.html
5.k8s-master
说明:直接访问Pod的IP地址查看结果是否与在NFS-Node上创建的主页内容一致
kubnet@hadoop2 volumes]$ curl 10.244.2.129 // 直接访问Pod的IP地址,查看结果是否为"NFS-Node"的主机名