使NFS共享在Openstack上运行的Kubernetes容器内可见

时间:2019-01-24 12:15:39

标签: docker kubernetes openstack

因此,我正在使用在Openstack VM之上部署的Kubernetes集群。 VM可以访问位于单独网络上的NFS共享。通过dnsmasq代理路由到网络,然后通过/ etc / fstab记录照常安装共享。这是典型VM上的外观:

[root@myhost ~]# cat /etc/dnsmasq.d/10-nfs 
server=/mynfsserver/10.35.105.240

[root@myhost ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Mon Jun 12 11:54:36 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
mynfsserver:/nfs_share      /nfs_share       nfs     defaults      0 0
[root@myhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:9a:84:ea brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.15/24 brd 192.168.0.255 scope global dynamic eth0
       valid_lft 78341sec preferred_lft 78341sec
    inet6 fe80::f816:3eff:fe9a:84ea/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:2c:bd:88 brd ff:ff:ff:ff:ff:ff
    inet 10.35.105.10/24 brd 10.35.105.255 scope global dynamic eth2
       valid_lft 69621sec preferred_lft 69621sec
    inet6 fe80::f816:3eff:fe2c:bd88/64 scope link 
       valid_lft forever preferred_lft forever
6: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:f8:50:0c:69 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:f8ff:fe50:c69/64 scope link 
       valid_lft forever preferred_lft forever

所以我现在想做的是启动一些可以访问底层NFS共享的pod,但我不确定如何执行此操作。我正在启动的Pod只能看到内部Pod网络(我正在使用Calico),而不能看到主机的网络。为了能够在吊舱内正确安装NFS共享,我需要什么配置?预先感谢。

1 个答案:

答案 0 :(得分:0)

我没有OpenShift的经验,所以我不确定具体的环境。但是要能够从Pod访问NFS,您需要确保Pod可见,并且由于Pod仅访问NFS而已存在NFS-如果传统方式失败,您也可以尝试使用路由。

除非您通过service公开,否则Pod只会始终看到自己的网络。

首先,您必须创建一个服务以将NFS服务器公开到Pod / Pods。然后在所需的容器中运行NFS服务器映像。

您可以找到详细的操作方法here。 我也可以从官方OpenShift documentation中找到它,因为它看起来很经典。该要求类似于其他平台:

  

每个NFS卷必须可被安装在服务器中的所有可调度节点装载   集群。