41、k8s-数据存储-基本存储-NFS(网路文件存储系统)

HostPath可以解决数据持久化的问题、但是一旦node节点故障了、pod如果转移到别的节点、又会出现问题、此时需要准备单独的网络存储系统、比较常用的 有:
    ·NFS
    ·CIFS

NFS是一个网络问卷存储系统、可以搭建一台NFS服务器、然后将pod中的存储直接连接到NFS系统上、这样的话、无论pod在节点上怎么转移、只要node跟NFS的对接没问题、数据就可以正常的访问

1、准备一台nfs服务器、这里准备192.168.177.180为nfs服务器:
    ·安装nfs:yum install -y nfs-utils    
    ·创建一个共享目录:mkdir /root/data/nfs -pv    #-p递归    -v可视化
    ·将共享目录暴露给192.168.177.0/24网段中的所有主机
        ··vim /etc/exports
        ---------------------------------------------------
        #添加
        /root/data/nfs  192.168.177.0/24(rw,no_root_squash)
        ----------------------------------------------------
    ·启动nfs服务:systemctl start nfs
    
2、在每个node节点主机上都安装nfs服务(但不要启动、只需安装、用来驱动而已):
    ·在node-1节点安装nfs:yum install -y nfs-utils
    
3、在master节点编写pod的yaml文件:
-------------------------------------------------------------------------
apiVersion: v1
kind: Pod
metadata:
  name: volume-nfs
  namespace: dev
spec:
  containers:
  - name: nginx
    image: nginx:1.17.1
    ports:
    - containerPort: 80
    volumeMounts:
    - name: logs-volume
      mountPath: /var/log/nginx        #pod容器的目录  、将nginx目录下的文件挂载到nfs服务器的/root/data/nfs 目录下

  - name: busybox
    image: busybox:1.30
    command: ["/bin/sh","-c","tail -f /logs/access.log"]
    volumeMounts:
    - name: logs-volume
      mountPath: /logs            #pod容器的目录
  volumes:
  - name: logs-volume
    nfs:
      server: 192.168.177.180   #nfs服务器的地址
      path: /root/data/nfs      #共享文件路径
------------------------------------------------------------------------------------------
4、创建pod:kubectl create -f volume-nfs.yaml
5、查看pod:kubectl get pods volume-nfs -ndev -owide
------------------------------------------------------------------------------------------
NAME         READY   STATUS    RESTARTS   AGE   IP            NODE     NOMINATED NODE   READINESS GATES
volume-nfs   2/2     Running   0          52s   10.244.1.97   node-1   <none>           <none>
#pod部署在node-1节点上
-----------------------------------------------------------------------------------------------------
6、查看nfs服务器上是否多了/root/data/nfs目录:
7、在master主机上访问nginx:curl 10.244.1.97
8、查看/root/data/nfs/下的access.log日志的变化:

 

posted @ 2024-07-01 22:15  little小新  阅读(9)  评论(0编辑  收藏  举报