Linux:K8S volume之nfs挂载

12 篇文章 3 订阅
10 篇文章 0 订阅

K8S volume之nfs挂载

volume的挂载有非常多种方式,比较常用的有emptyDir hostPath,但是这两种方法有一个共同的缺点:数据不能跨主机调用和存储,只能由于pod的宿主机。实验nfs挂载方式就能很好地解决这个问题。

实验环境:
master 192.168.186.10
node-1 192.168.186.11
node-2 192.168.186.12
node-3 192.168.186.13
nfs 192.168.186.161

环境准备:关闭所有机器的防火墙,selinux,配置好yum源

配置NFS服务器

[root@nfs ~]#yum -y install nfs-utils
[root@nfs ~]#mkdir /nfs_share
[root@nfs ~]#vim /etc/exports    (写入如下内容)

/nfs_share 192.168.186.0/24(rw,sync,no_root_squash)

[root@nfs ~]#systemctl start nfs
[root@nfs ~]#exportfs -v                       (出现以下内容说明共享成功)
/nfs_share      192.168.186.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
[root@nfs ~]#echo "nfs works." > /nfs_share/index.html    (准备测试网页)

配置nfs客户端(所有node都要操作)

 [root@node-1 ~]#yum -y install nfs-utils
 [root@node-1 ~]#systemctl start nfs
 [root@node-1 ~]#showmount -e 192.168.186.161   (在所有节点执行此命令,出现以下内容则说明成功)
Export list for 192.168.186.161:
/nfs_share 192.168.186.0/24

创建Pod(在master创建)

[root@master yaml]vim nfs_nginx.yaml
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-nfs
  labels:
    web: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
       appname: nginx
  template:
    metadata:
      labels:
        appname: nginx
    spec:
      containers:
      - name: nginx-nfs
        image: nginx
        volumeMounts:
        - name: nfs-test
          mountPath: /usr/share/nginx/html/
      volumes:
      - name: nfs-test
        nfs:
          server: 192.168.186.161
          path: /nfs_share

[root@master yaml]# kubectl apply -f nfs_nginx.yaml
deployment.apps/nginx-nfs created
[root@master yaml]# kubectl get po -o wide
NAME                         READY   STATUS    RESTARTS   AGE     IP            NODE     NOMINATED NODE   READINESS GATES
nginx-nfs-6c45d9df5f-dplst   1/1     Running   0          2m13s   10.244.2.92   node-2   <none>           <none>
nginx-nfs-6c45d9df5f-qddhz   1/1     Running   0          2m13s   10.244.3.80   node-3   <none>           <none>
nginx-nfs-6c45d9df5f-zxfkt   1/1     Running   0          2m13s   10.244.1.58   node-1   <none>           <none>
[root@master yaml]# curl 10.244.2.92
nfs works.

重复删除、创建Pod,都能正常访问,说明实验成功!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值