在Rancher中使用NFS,实现容器跨主机共享数据

来源:互联网 发布:bw报表软件 编辑:程序博客网 时间:2024/06/03 19:21

在Rancher使用NFS,实现容器跨主机共享数据

 

摘要:

    本文通过实例介绍怎样在Rancher中配置Rancher-NFS,实现Rancher中“服务”内的“容器”实例共享一台外置NFS-Server服务器上的数据目录。

 

环境说明:

首先使用1Rancher Server虚机和3Rancher Agent虚机搭建集群环境。用一条命令,复制粘贴,创建好Rancher Server以后,使用内置的Swarm模板,创建mySwarm环境,并将3Rancher Node加入到mySwarm环境中。创建一个空的myApp“应用”,以便在这个“应用”中创建测试用的“服务”。

Rancher非常易用,整个搭建过程非常简单,可以参见文末的参考链接,不再赘述。

同时,单独准备一台Ubuntu 16.04机器,安装上NFS服务,共享/data目录,便于测试。

Rancher Server192.168.3.160

Rancher Node4192.168.3.164

Rancher Node5192.168.3.165

Rancher Node6192.168.3.166

NFS Server    192.168.3.167,共享目录/data

 

一、在应用商店中,添加Rancher NFS应用,Rancher NFS配置选项


 

二、myApp“应用”中,添加一个“服务”myalpine1配置选项

 

 

*三、在myapp“应用”中,再添加一个“服务”nginx1配置选项

 

 

四、验证NFS服务器端和Rancher工作主机上的容器内的目录内容是否一致

  

 

五、附图:

 

1.1-Swarm-基础设施-添加mySwarm环境-以默认的Swarm为模板

1.2-基础设施应用-从应用商店添加

1.3-在应用商店中-搜索nfs-找到Rancher-NFS

1.4-选择一个模板版本-进行部署

1.5-选择一个模板版本-进行部署

1.6-Rancher-NFS配置选项页面-NFS服务器地址-共享出来的目录-NFS版本-三项必填

1.7-Rancher会自动创建NFS应用-包含3个容器

1.8-Rancher分别在Node4-5-6三个主机节点上各创建了1nfs-nfs-driver存储驱动

2.1-添加一个myalpine1服务

2.2-添加一个myalpine1服务-填写卷和卷驱动

2.3-存储驱动中已经创建好了一个卷myalpine1

2.4-查看容器myapp-myalpine1可以看到卷及挂载点files

2.5-myapp-myalpine1服务中-执行命令行.jpg

2.6-myapp-myalpine1容器的命令行中,查看目录,已经自动创建了files目录,创建一个文本文件

2.7-扩展服务到3个容器,Rancher自动在node5node6上创建两个容器

2.8-node6主机上的容器中执行命令行

2.9-node6主机上的容器中执行命令行,看到的内容和node4主机上的的容器目录内容是一样的

2.10-NFS服务器上查看data目录,自动生成了myalpine1目录以及该目录下的文本文件

3.1-Nginx镜像创建3个容器实例的nginx1服务-卷的参数设置1

3.2-Nginx镜像创建3个容器实例的nginx1服务-卷的参数设置2

3.3-到新创建的Nginx1服务的容器实例中-执行命令行-创建一个测试文件1

3.4-到新创建的Nginx1服务的容器实例中-执行命令行-创建一个测试文件2

3.5-NFS服务器端,查看data目录,自动创建了nginx1_html卷的目录,并且能看到在容器中创建的文件内容1

3.6-nginx1服务的另一个容器实例中-跨主机-执行命令行-查看该容器的html目录,能够看到刚才在另一个容器实例中创建的文件内容1

3.7-nginx1服务的另一个容器实例中-跨主机-执行命令行-查看该容器的html目录,能够看到刚才在另一个容器实例中创建的文件内容2

 

 

1.1-Swarm-基础设施-添加mySwarm环境-以默认的Swarm为模板

 

1.2-基础设施应用-从应用商店添加

 

1.3-在应用商店中-搜索nfs-找到Rancher-NFS

 

1.4-选择一个模板版本-进行部署

 

1.5-选择一个模板版本-进行部署

 

1.6-Rancher-NFS配置选项页面-NFS服务器地址-共享出来的目录-NFS版本-三项必填

 

1.7-Rancher会自动创建NFS应用-包含3个容器

 

1.8-Rancher分别在Node4-5-6三个主机节点上各创建了1nfs-nfs-driver存储驱动

 

 

2.1-添加一个myalpine1服务

 

2.2-添加一个myalpine1服务-填写卷和卷驱动

 

2.3-存储驱动中已经创建好了一个卷myalpine1

 

2.4-查看容器myapp-myalpine1可以看到卷及挂载点files

 

2.5-myapp-myalpine1服务中-执行命令行.jpg

 

2.6-myapp-myalpine1容器的命令行中,查看目录,已经自动创建了files目录,创建一个文本文件

 

2.7-扩展服务到3个容器,Rancher自动在node5node6上创建两个容器

 

2.8-node6主机上的容器中执行命令行

 

2.9-node6主机上的容器中执行命令行,看到的内容和node4主机上的的容器目录内容是一样的

 

2.10-NFS服务器上查看data目录,自动生成了myalpine1目录以及该目录下的文本文件

 

3.1-Nginx镜像创建3个容器实例的nginx1服务-卷的参数设置1

 

3.2-Nginx镜像创建3个容器实例的nginx1服务-卷的参数设置2

 

3.3-到新创建的Nginx1服务的容器实例中-执行命令行-创建一个测试文件1

 

3.4-到新创建的Nginx1服务的容器实例中-执行命令行-创建一个测试文件2

 

3.5-NFS服务器端,查看data目录,自动创建了nginx1_html卷的目录,并且能看到在容器中创建的文件内容1

 

3.6-nginx1服务的另一个容器实例中-跨主机-执行命令行-查看该容器的html目录,能够看到刚才在另一个容器实例中创建的文件内容1

 

3.7-nginx1服务的另一个容器实例中-跨主机-执行命令行-查看该容器的html目录,能够看到刚才在另一个容器实例中创建的文件内容2

 

 

参考链接:

Ubuntu 16.04系统上NFS的安装与使用

http://blog.csdn.net/csdn_duomaomao/article/details/77822883 

 

Rancher 中应用、服务、容器的概念

http://blog.csdn.net/csdn_duomaomao/article/details/76184437 

 

使用Rancher搭建K8S测试环境

http://blog.csdn.net/csdn_duomaomao/article/details/75316926 

 

Rancher 官方在线培训-教学视频链接及内容目录

http://blog.csdn.net/csdn_duomaomao/article/details/76156334 

 

Rancher 中配置NFS卷驱动插件

https://www.xtplayer.cn/2017/06/2901 

阅读全文
0 0
原创粉丝点击