第19关 5.2k star 开源分布式存储服务Rancher-Longhorn在k8s上部署

这篇具有很好参考价值的文章主要介绍了第19关 5.2k star 开源分布式存储服务Rancher-Longhorn在k8s上部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

------> 课程视频同步分享在今日头条和B站

大家好,我是博哥爱运维。

什么是Longhorn

Longhorn是一个轻量级、可靠且易于使用的Kubernetes分布式块存储系统。

Longhorn 是免费的开源软件。它最初由 Rancher Labs 开发,现在作为云原生计算基金会的孵化项目进行开发。

官方文档: https://longhorn.io/docs/1.5.3/

使用 Longhorn,您可以:

  • 使用 Longhorn 卷作为 Kubernetes 集群中分布式有状态应用程序的持久存储
  • 将块存储分区为 Longhorn 卷,以便您可以在有或没有云提供商的情况下使用 Kubernetes 卷
  • 跨多个节点和数据中心复制块存储以提高可用性
  • 将备份数据存储在外部存储中,例如 NFS 或 AWS S3
  • 创建跨集群灾难恢复卷,以便主 Kubernetes 集群中的数据可以从第二个 Kubernetes 集群中的备份快速恢复
  • 计划卷的定期快照,并计划定期备份到 NFS 或 S3 兼容的辅助存储
  • 从备份恢复卷
  • 在不中断持久卷的情况下升级 Longhorn

Longhorn 带有独立的 UI,可以使用 Helm、kubectl 或 Rancher 应用程序目录进行安装。

Longhorn的底层存储协议

iSCSI(Internet Small Computer Systems Interface)是一种网络协议,用于在 TCP/IP 网络上传输 SCSI 命令,允许两台计算机进行远程存储和检索操作。iSCSI 是一种流行的存储区域网络(SAN)技术,广泛用于连接存储设备,如磁盘阵列和磁带库,与服务器和数据中心。

在K8S上部署Longhorn
# 在集群所有节点上添加两块硬盘并挂载目录
mkfs.ext4 /dev/sdb
mkfs.ext4 /dev/sdc
# cat /etc/fstab
/dev/sdb /mnt/longhorn-sdb ext4 defaults 0 1
/dev/sdc /mnt/longhorn-sdc ext4 defaults 0 1
#
mount -a
df -Th|grep -E 'longhorn-sdb|longhorn-sdc'


# 配置节点信息
metadata:
labels:
    node.longhorn.io/create-default-disk: "config"
annotations:
    node.longhorn.io/default-disks-config: '[
    {
        "path":"/mnt/longhorn-sdb",
        "allowScheduling":true
    },
    {    
        "path":"/mnt/longhorn-sdc",
        "allowScheduling":true
    }
]'


# 利用helm安装longhorn服务
wget https://github.com/longhorn/longhorn/archive/refs/tags/v1.5.3.zip
unzip longhorn-1.5.3.zip
rm longhorn-1.5.3.zip
cd longhorn-1.5.3/
helm install longhorn ./chart/ --namespace longhorn-system --create-namespace --set defaultSettings.createDefaultDiskLabeledNodes=true --dry-run --debug
helm install longhorn ./chart/ --namespace longhorn-system --create-namespace --set defaultSettings.createDefaultDiskLabeledNodes=true
kubectl -n longhorn-system get pod -o wide -w


# 测试挂载存储
# kubectl get sc
NAME                          PROVISIONER          RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
longhorn (default)            driver.longhorn.io   Delete          Immediate           true                   64m


# cat test.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: test-claim
spec:
  storageClassName: longhorn
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Mi   # 实测最小存储分配为10Mi

---
kind: Pod
apiVersion: v1
metadata:
  name: test
spec:
  containers:
  - name: test
#    image: busybox:1.28.4
    image: registry.cn-shanghai.aliyuncs.com/acs/busybox:v1.29.2
    imagePullPolicy: IfNotPresent
    command:
      - "/bin/sh"
    args:
      - "-c"
      - "echo 'hello k8s' > /mnt/SUCCESS && sleep 36000 || exit 1"
    volumeMounts:
      - name: longhorn-pvc
        mountPath: "/mnt"
  restartPolicy: "Never"
  volumes:
    - name: longhorn-pvc
      persistentVolumeClaim:
        claimName: test-claim


# 写入严格限制大小
# kubectl exec -it test -- sh
/ # cd /mnt/
/mnt # ls -lh
total 13
-rw-r--r--    1 root     root          10 Dec  8 04:11 SUCCESS
drwx------    2 root     root       12.0K Dec  8 04:11 lost+found
/mnt # dd if=/dev/zero of=./test.log bs=1M count=11
dd: ./test.log: No space left on device



# 把ui的svc改成NodePort,查看页面,生产的话可以弄个ingress
# kubectl -n longhorn-system get svc longhorn-frontend
NAME                TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
longhorn-frontend   NodePort   10.68.135.61   <none>        80:31408/TCP   68m

Longhorn监控

https://longhorn.io/docs/1.5.3/monitoring/

Longhorn备份还原

https://longhorn.io/docs/1.5.3/snapshots-and-backups/文章来源地址https://www.toymoban.com/news/detail-759829.html

到了这里,关于第19关 5.2k star 开源分布式存储服务Rancher-Longhorn在k8s上部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 对象存储分布式代理-go初学者的开源练手项目

    对象存储分布式代理-go初学者的开源练手项目

    最近写了一个go语言练手项目osproxy和osproxy-grpc,代码已完全开源到github。 相信不少接触go语言的读者,都是被它\\\"极简协程\\\",“高并发”,\\\"高性能\\\"的特性所吸引,我也不例外,想着学完之后,能快速上手享受一把。 但当我看完基本语法,想找个练手项目时,才发现github上大

    2024年02月08日
    浏览(10)
  • Hadoop是一个开源的分布式处理系统,主要用于处理和存储大量数据

    Hadoop是一个开源的分布式处理系统,主要用于处理和存储大量数据

    Hadoop是一个开源的分布式处理系统,主要用于处理和存储大量数据。它是由Apache软件基金会开发的,现在已经成为大数据领域中广泛使用的技术之一。 Hadoop架构 Hadoop的架构包括以下几个主要组件: Hadoop Distributed File System (HDFS) : HDFS是Hadoop的核心组件之一,它是一个分布式文

    2024年02月04日
    浏览(15)
  • 开源 IoT 物联网分布式实时数据分析服务

    开源 IoT 物联网分布式实时数据分析服务

    随着物联网设备增长,也产生了大量的数据,这些数据具有高速、多样和实时的特点。如果你的物联网数据 不及时、不准确、不具有可操作性 ,那么你在收集的这些数据就变得毫无价值。为了有效地利用这些数据,我们需要一种能够快速响应、灵活扩展和支持复杂查询的系

    2024年02月12日
    浏览(18)
  • 【开发环境】(阿里云分布式文件系统)对象存储OSS 服务配置

    【开发环境】(阿里云分布式文件系统)对象存储OSS 服务配置

    目录 一、开通 “对象存储 OSS” 服务: 二、创建 Bucket 容器: 1.创建一个Bucket: 三、使用 OSS 对象存储: 四、使用 SDK 访问 OSS: 1.安装使用 OSS SDK: 2.SDK 配置和测试:         进入阿里云官网: https://www.aliyun.com/ https://www.aliyun.com/         进入到 OSS 对象存储的管理平台

    2024年02月02日
    浏览(73)
  • 结合云计算的最新技术和现状,介绍云计算基础知识、开源分布式数据库Clickhouse、可视化数据分析工具、分布式链路跟踪系统Pinpoint、数据湖存储系统Pulsar等

    作者:禅与计算机程序设计艺术 2019年,“云计算”将成为“经济全球化”的热门词汇之一,2020年全球云计算市场规模预计达到1万亿美元。中国是继美国、英国之后,成为全球第四大云服务提供商。华为、腾讯、阿里巴巴等互联网巨头纷纷布局云计算领域,各家公司纷纷推出

    2024年02月08日
    浏览(16)
  • 开源轻量级分布式文件系统FastDFS本地部署并实现远程访问服务器

    开源轻量级分布式文件系统FastDFS本地部署并实现远程访问服务器

    FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 FastDFS为互联网量身定制,充分考

    2024年02月04日
    浏览(60)
  • 1.19 什么是分布式

    分布式(Distributed)是指系统或应用程序在多个计算机或服务器上进行协作和共享资源的方式。在分布式系统中,多个计算节点通过网络进行通信和协调,共同完成任务或提供服务。 分布式系统具有以下几个特点: 并行处理: 分布式系统中的计算节点可以并行处理任务,从

    2024年02月16日
    浏览(11)
  • 开源:Taurus.DTC 微服务分布式事务框架,支持 .Net 和 .Net Core 双系列版本

    开源:Taurus.DTC 微服务分布式事务框架,支持 .Net 和 .Net Core 双系列版本

    在经过1年多的深思,十几年的框架编写技术沉淀下,花了近一个月的时间,终于又为 .Net 及 .Net Core 的微服务系列框架贡献当中的一个重要组件。 https://github.com/cyq1162/Taurus.DTC   由于 CYQ.Data Orm 组件本身支持10多种数据库,因此提供的包,只根据消息队列的需要分拆提供。 默

    2024年02月02日
    浏览(11)
  • Taurus.mvc .Net Core 微服务开源框架发布V3.1.7:让分布式应用更高效。

    Taurus.mvc .Net Core 微服务开源框架发布V3.1.7:让分布式应用更高效。

    自首个带微服务版本的框架发布:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 已经过去快1年了,在这近一年的时间里,版本经历了N个版本的迭代。 如今,是时候写文章介绍一下了: 以下介绍中,仅以.Net Core 6 为示例代码。 框架支持在.Net Fr

    2024年02月08日
    浏览(12)
  • Mysql分布式集群部署---MySQL集群Cluster将数据分成多个片段,每个片段存储在不同的服务器上

    Mysql分布式集群部署---MySQL集群Cluster将数据分成多个片段,每个片段存储在不同的服务器上

    部署MysqlCluster集群环境 MySQL集群Cluster将数据分成多个片段,每个片段存储在不同的服务器上。这样可以将数据负载分散到多个服务器上,提高系统的性能和可扩展性。 MySQL集群Cluster使用多个服务器来存储数据,因此需要确保数据在不同的服务器之间同步。MySQL集群Cluster使用

    2024年02月02日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包