博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Rancher中使用NFS,实现容器跨主机共享数据
阅读量:2488 次
发布时间:2019-05-11

本文共 2785 字,大约阅读时间需要 9 分钟。

在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的安装与使用

 

 

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

 

 

使用Rancher搭建K8S测试环境

 

 

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

 

 

Rancher 中配置NFS卷驱动插件

 

你可能感兴趣的文章
order by 排序原理及性能优化
查看>>
Lock重入锁
查看>>
docker安装 rabbitMq
查看>>
git 常用命令 入门
查看>>
关闭selinx nginx无法使用代理
查看>>
shell 脚本部署项目
查看>>
spring cloud zuul网关上传大文件
查看>>
springboot+mybatis日志显示SQL
查看>>
工作流中文乱码问题解决
查看>>
maven打包本地依赖包
查看>>
spring boot jpa 实现拦截器
查看>>
jenkins + maven+ gitlab 自动化部署
查看>>
Pull Request流程
查看>>
Lambda 表达式
查看>>
函数式数据处理(一)--流
查看>>
java 流使用
查看>>
java 用流收集数据
查看>>
java并行流
查看>>
CompletableFuture 组合式异步编程
查看>>
mysql查询某一个字段是否包含中文字符
查看>>