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"的主机名

 

posted @ 2019-07-11 15:34  k-free  阅读(852)  评论(0编辑  收藏  举报