目录

1、简介

2、实验环境

3、应用商店中部署longhorn

4、创建工作负载,使用longhorn存储

5、查看longhorn UI

6、注意事项

1、简介:

Longhorn是RancherLab为K8S环境研发的一种分布式块存储系统。Longhorn轻便易用,你可以用Kubectl命令,在一个现有的K8S集群上快速部署。结合Rancher2.0环境中的应用商店,还可以实现一键部署,为K8S集群环境提供动态的StorageClass持久卷支持。

Longhorn使用容器和微服务方式来实现分布式块存储。它为每个块设备创建了专用存储控制器,并在多个节点上跨多个副本同步复制卷,存储控制器和副本本身也是使用K8S编排的,还支持快照和备份功能。

2、实验环境:

4台主机使用Rancher2.0搭建K8S环境,角色及基本信息如下:

机器名      IP地址      主机角色      

Rancher2  192.168.3.220  Rancher Server

Node221  192.168.3.221  etcd、control、worker

Node222  192.168.3.222  etcd、control、worker

Node223  192.168.3.223  etcd、control、worker

图1-使用rancher2.0部署的K8S集群环境

3、应用商店中部署longhorn:

图02-在全局环境下启用官方认证应用商店

图03-在项目default中的应用商店中,启动longhorn应用

图04-在项目default中的应用商店中,启动longhorn应用

图05-点击启动按钮,即可完成Longhorn部署,可通过端口访问UI管理面板

图06-部署Longhorn应用以后,各主机上的Pod状态

图07-此时集群Cluster中已经自动创建好了存储类StorageClass

4、创建工作负载

图08-在项目的工作负载中,部署一个服务

图09-部署工作负载-工作负载数量只能是1个Pod

图10-部署工作负载-卷-添加新的持久化卷声明

图11-部署工作负载时,添加卷声明的设置

图12-部署工作负载时,设置挂载点后,启动工作负载2

图13-工作负载nginx部署完毕

图14-工作负载nginx容器中的目录sss

5、查看Longhorn UI

图15-在负载均衡中访问Longhorn UI

图16-LonghornUI中能看到有3台主机和刚刚创建的1个卷

图17-LonghornUI中能看到有3台主机和刚刚创建的1个卷的副本

图18-LonghornUI中卷的信息

图19-LonghornUI中卷的信息

图20-K8S集群中持久卷的信息,已包含刚刚创建的持久卷

6、注意事项:

1、因为是块设备,工作负载中的Pod数量只能是1个;

2、因为是块设备,创建持久卷声明时,只能选择单主机读写,不能像NFS那样可以多主机读写,块设备选择多主机读写会出错。

3、Longhorn是一个正在进行中的项目,目前只发布0.1/0.2/0.3这3个版本。


参考链接:

Longhorn在Github上的链接:

https://github.com/rancher/longhorn

https://github.com/rancher/longhorn-manager

https://github.com/rancher/longhorn-ui

Rancher2.0中部署Longhorn分布式存储实验的更多相关文章

  1. Rancher2.0中使用外置NFS存储部署Nginx实验

    目录: 1.环境准备工作 1.1 准备好Rancher2.0集群环境 1.2 准备好外部NFS服务器 2.Rancher2.0中使用NFS存储的方法 2.1 在集群中创建持久卷(PV) 2.2 在项目 ...

  2. surging+CentOS7+docker+rancher2.0 入门部署教程

    准备工作 开发环境  Visual Studio 2017 15.5 运行环境  虚拟机CentOS 7+Docker+Rancher 2.0+Consul+RabbmitMQ 项目下载地址  htt ...

  3. surging+CentOS7+docker+rancher2.0 菜鸟部署运行笔记

    https://blog.csdn.net/q5934/article/details/82661250 目录 准备工作 开始干活 1.从github 获取surging源码 2.发布Surging. ...

  4. Rancher2.0中邮件通知的设置

    1-邮件通知的设置-中国电信189邮箱 2-2-邮件通知的设置-腾讯免费企业邮箱 **说明:网易163邮箱.QQ邮箱没有设置成功,可能是因为邮箱设置得太安全的缘故.   参考链接: 中国电信189邮箱 ...

  5. [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  6. [原]CentOS7安装Rancher2.1并部署kubernetes (一)---部署Rancher

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  7. [原]CentOS7安装Rancher2.1并部署kubernetes (三)---解决登录kubernets超时和部署测试Pod和Containter[nginx为例]

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  8. 在Ubuntu中部署并测试HyperLedger Fabric 0.6

    最近开始研究区块链,对这个新兴的技术有了基本概念上的了解,所以打算基于一个开源项目做做实验.如果是做数字货币,那么比特币的源代码是最好的了,不过这算是区块链1.0吧,已经有很多改进的竞争币和山寨币出来 ...

  9. Eclipse中部署hadoop2.3.0

    1 eclipse中hadoop环境部署概览 eclipse 中部署hadoop包括两大部分:hdfs环境部署和mapreduce任务执行环境部署.一般hdfs环境部署比较简单,部署后就 可以在ecl ...

随机推荐

  1. SQL Server 2008作业失败:无法确定所有者是否有服务器访问权限

    转自:http://www.mzwu.com/article.asp?id=3592 下午准备将服务器数据导一份到本地,连上服务器找数据库备份文件发现最后一次备份是7月1日,竟然十几天没生成新备份,查 ...

  2. AVL树C++实现(插入,删除,查找,清空,遍历操作)

    AVL.h文件代码 #pragma once #include<iostream> #include<stack> #include <assert.h> usin ...

  3. 审核被拒:1. 1 Safety: Objectionable Content ;3. 1.1 Business: Payments - In-App Purchase ;4. 3 Design: Spam ;5. 1.1 Legal: Privacy - Data Collection and Storage

    1. 1 Safety: Objectionable Content                          有人民币符号—隐藏收费课程 3. 1.1 Business: Payments ...

  4. npm笔记

    #执行npm start时是运行的哪个js文件? 打开package.json看看scripts属性中start配置的是什么运行脚本,这里配置的就是你执行npm start时跑的脚本 #设置npm的源 ...

  5. 如何使用Windows防火墙禁止软件联网

    很多软件需要联网,当我们为了“某些目的”,不想让软件联网的时候,我们有没有办法做到呢?答案是肯定的,那就是使用Windows系统自带的防火墙来屏蔽软件的联网,禁止软件出站请求,这样就可以了,下面介绍具 ...

  6. Redis入门到高可用(十七)—— 持久化开发运维常见问题

    1.fork操作 2.子进程开销和优化 3.AOF阻塞

  7. 后台管理界面admin

    admin组件:展示数据表,快速的录入数据. 为了安全,可以在路由分发时修改下admin的名字.(一定要改) 1.不想使用英文,则在app里的settings修改一下(在最下面的位置) LANGUAG ...

  8. python发送html格式的邮件

    python发邮件 #!/usr/bin/python # -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMET ...

  9. [js]函数的上级作用域,他的上级作用域就是谁,跟函数在哪执行的没什么关系.

    函数的上级作用域,他的上级作用域就是谁,跟函数在哪执行的没什么关系. <script> //如何查找上级作用域? //看函数在哪个作用域下定义的,他的上级作用域就是谁. 跟函数在哪执行的没 ...

  10. Web_Toy

    1 2 3 4 1.App录音 var r = plus.audio.getRecorder() # 创建录音对象 r.record({filename:"_doc/audio/" ...