第四步中:安装rancher longhorn,实现容器文件挂载

之前在国企,曾经专门针对容器挂载立专项来调研,当时选择主流的ceph,最终结果是成功搭建了用于k8s集群的共享存储,但要独立找服务器来部署,增加了成本,而且运维相当复杂,rancher longhorn部署简单,直接在rancher管理界面就可以部署,而且存放的介质使用的是K8s集群的机器上面的磁盘,能节约成本,当然前提是服务的的磁盘有足够的空间,虽然网上有说longhorn读写性能一般,但在服务读写要求不是很严格的情况下,还是以简单,减少运维的工作量作为选择的标准。

具体部署环境与第四步上一样

服务器IP用途环境说明
10.10.10.5 部署ranchercentos 8 安装docker
10.10.10.6 k8s-master1 ,etcdcentos 8 安装docker
10.10.10.7k8s-master2 ,etcdcentos 8 安装docker
10.10.10.8k8s-master3,etcdcentos 8 安装docker
10.10.10.9k8s-node1,workercentos 8 安装docker
10.10.10.10k8s-node2,workercentos 8 安装docker

1、部署前准备,建立文件夹

在K8s集群每个节点的服务器,选择一个相同的路径建立一个文件夹,我的路径是:/home/software/longhorn(注意,后续配置longhorn文件存放路径参数时需要用到),另外官方文档有如下红框说明,需要安装一个模块,但我使用的centos stream 8,默认就已经自带,所以不需要安装

2、利用 rancher安装longhorn

在rancher选择一个集群,在“应用”-->“charts”选择longhorn,具体如下图,这里加载有点慢,需要有耐心等待响应

进入到界面后,有一堆参数需要配置,其中个人觉得比较重要的几个如下:

 

 个人觉得就这个有用,其他的可能我水平有限,也不太清楚有什么用,如果有高人看到该文章,欢迎指教

如果安装成功,在rancher集群管理界面,会出现longhorn选项,点击能进入longhorn管理界面,具体如下图:

3、使用Minio作为longhorn的备份,这一步十分坑人,具体说明该如下:

1)、如果你去搜索引擎或者官方文档,查找配置方法,都会要你按照如下步骤来设置:

echo -n https://10.10.10.1:9090 |base64     #将minio接口地址转成base64

echo -n minio用户名|base64                       #将minio用户名转成base64

echo -n 用户密码 |base64                           #将minio用户密码转成base64

然后在k8s longhorn-system命名空间下创建Secret  类型 Opaque,具体录入如下内容:

 AWS_ACCESS_KEY_ID               对应minio用户名转成base64

 AWS_ENDPOINTS                        对应minio接口地址转成base6            

 AWS_SECRET_ACCESS_KEY    对应minio用户密码转成base64

 AWS_CERT                                    直接上传minio public.crt证书

以上步骤并没有问题,但如果是使用rancher的管理界面来录入上面的内容,后面设定longhorn备份存放路径时就会报错,因为rancher会对你录入的内容再自动转换成base64,如果你录入是 echo -n输出的base64,那么rancher再转一次,相当于base64的base64,所以如果是在rancher管理界面建立Secret时,一定要录入的是原始值,就是你安装minio那条docker run命令的配置,千万不要录入 echo -n的结果,之前我就是录入了echo -n的结果,搞了我一天的时间,最终输入原始值才配置成功。

2)、在longhorn 的Setting界面,配置备份目标,具体如下图,

例如:s3://longhorn-test@dummyregion/backup

规则说明:s3://桶名@dummyregion/存放备份的文件夹名

配置完成后,点击Backup,如果没有弹出错误就表示设置成功

3)、在rancher管理界面,建立持久券声明,具体如下图,然后找一个容器挂载一些内容到这个声明对应的volume

 

4)、在longhorn找到对应的volume,进入这个volume的管理界面,点击Create Backup,或者新增Recurring Jobs 设置Task类型为backup,验证备份结果,具体如下图

如果一切正常,在Backup界面能看到备份记录,在Minio具体的桶能看到备份文件,具体如下图:

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐