Rancher2.0中部署Longhorn分布式存储实验

目录

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

原文地址:https://www.cnblogs.com/rancher-maomao/p/9194299.html

时间: 2024-11-06 07:23:51

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

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

目录: 1.环境准备工作 1.1 准备好Rancher2.0集群环境 1.2 准备好外部NFS服务器 2.Rancher2.0中使用NFS存储的方法 2.1 在集群中创建持久卷(PV) 2.2 在项目/命名空间中创建数据卷(PVC) 2.3 部署工作负载(Nginx)时使用PVC 3.验证 3.1 在NFS目录中创建网页文件 3.2 访问网页   简述: Rancher2.0是一款非常棒的.开源免费的.易学易用的.企业级K8S容器云管理平台.有别于之前的Rancher1.6版,Rancher2.

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

准备工作 开发环境  Visual Studio 2017 15.5 运行环境  虚拟机CentOS 7+Docker+Rancher 2.0+Consul+RabbmitMQ 项目下载地址  https://github.com/dotnetcore/surging CentOS 7安装 Docker教程 https://docs.docker.com/install/linux/docker-ce/centos/ docker 安装 rancher2.0 官方文档 https://www.c

在Ubuntu中部署并测试Fabric 1.0 Beta

今天HyperLedger Fabric放出了1.0 Beta版的镜像,按照命名上来说,这应该是一个基本可用的版本了,所以我赶紧第一时间下载下来,把玩把玩.以下是在Ubuntu中安装并测试Fabric 1.0 Beta的步骤: 一.环境准备 1.1 安装VirtualBox并在其中安装好Ubuntu 这一步其实没啥好说的,下载好最新版的VirtualBox,下载Ubuntu Server,我用的是16.10 X64.在安装完Ubuntu后,需要保证apt source是国内的,不然如果是国外的话

Eclipse中部署hadoop2.3.0

1 eclipse中hadoop环境部署概览 eclipse 中部署hadoop包括两大部分:hdfs环境部署和mapreduce任务执行环境部署.一般hdfs环境部署比较简单,部署后就 可以在eclipse中像操作windows目录一样操作hdfs文件.而mapreduce任务执行环境的部署就比较复杂一点,不同版本对环境的要求度 高低不同就导致部署的复杂度大相径庭.例如hadoop1包括以前的版本部署就比较简单,可在windows和Linux执行部署运行,而hadoop2 及以上版本对环境要求

Rancher2.0与DataDog集成部署

目录 一.简要介绍 二.注意事项 三.部署过程 四.运行截图 五.参考链接 一.简要介绍: ??????? 看了Rancher中文官网上的一篇关于DataDog部署的文章,自己尝试了一下,没有成功,主要是自己对Datadog是什么?它是如何工作的?对这些都不了解导致的.后来百度了一下DataDog做了最基础的了解后,部署起来就顺利多了.对于新手来说,还是有必要细化一下整个部署的过程. ??????? DataDog是什么?DataDog是一个SaaS平台,是一个数据面板展示工具.用于展示Data

在Ubuntu中部署并测试HyperLedger Fabric

最近开始研究区块链,对这个新兴的技术有了基本概念上的了解,所以打算基于一个开源项目做做实验.如果是做数字货币,那么比特币的源代码是最好的了,不过这算是区块链1.0吧,已经有很多改进的竞争币和山寨币出来了,所以打算对区块链2.0,也就是智能合约入手. 智能合约比较成功的就是以太坊了.以太坊主要是公有链,其实对企业应用来说并不是特别合适,而且本身并没有权限控制功能,面向企业的,主要还是超级账本HyperLedger的Fabric和刚刚开源出来的R3的Corda.关于这些项目的应用场景和区别,我觉得这

使用Fuel 9.0快速部署Openstack Mitaka

关于什么是Fuel以及Fuel的作用和构架可以参考下面Openstack官方给出的Wiki链接. https://wiki.openstack.org/wiki/Fuel. 在安装部署之前,先看看官方给出的Fuel 9.0版本特性. Mirantis OpenStack is distributed as a single commercially supportedpackage in ISO format. The 9.0 release features: ·       Enhanced

Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN

Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession 创建 DataFrames 无类型的Dataset操作 (aka DataFrame 操作) Running SQL Queries Programmatically 全局临时视图 创建Datasets RDD的互操作性 使用反射推断Schema 以编程的方式指定Schema Aggregatio

Java Web开发: Tomcat中部署项目的三种方法

web开发,在tomcat中部署项目的方法: 注意大小写 1.在conf目录中新建Catalina\localhost目录,在该目录中新建一个xml文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,改xml文件的内容为: <Context path="/qxmobile"  docBase="/usr/local/webroot/qxmobile" reloadable="false"  debug="0" p