首页 > 其他分享 >Longhorn 的部署与使用

Longhorn 的部署与使用

时间:2023-12-25 14:00:54浏览次数:37  
标签:INFO csi 部署 iscsi 使用 Running longhorn Longhorn 90m

官网:https://www.rancher.cn/longhorn

架构图:

1.安装要求

官网提供:https://longhorn.io/docs/1.5.3/deploy/install

注:这里关于安装要求我们就不多做赘述,请看官方文档内的要求,这里只是将需要的进行安装,目前系统为:ubuntu 22.04,集群版本:v1.26.5

apt-get install open-iscsi nfs-common jq -y
​
# iscsi启动
modprobe iscsi_tcp
bash -c 'echo iscsi_tcp > /etc/modprobe.d/iscsi-tcp.conf'
systemctl enable  iscsid.service
systemctl restart   iscsid.service
systemctl status  iscsid.service
​
# 检查项
##请确保在 iscsid 服务启动之前iscsi_tcp模块已加载。通常,它应该与软件包安装一起自动加载。
sudo lsmod | grep iscsi -i
​
##启用了支持NFSv4.1、NFSv4.2
cat /boot/config-`uname -r`| grep CONFIG_NFS_V4_1
cat /boot/config-`uname -r`| grep CONFIG_NFS_V4_2

1.1.使用容器安装open-iscsi、nfs

前言:这里二选一要么直接安装命令,要么使用容器去进行安装,这里选择之间安装的命令。

# open-iscsi
kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.5.3/deploy/prerequisite/longhorn-iscsi-installation.yaml
​
# nfs
kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.5.3/deploy/prerequisite/longhorn-nfs-installation.yaml

环境检查脚本:

curl -sSfL https://raw.githubusercontent.com/longhorn/longhorn/v1.5.3/scripts/environment_check.sh | bash
[INFO]  Required dependencies 'kubectl jq mktemp sort printf' are installed.
[INFO]  All nodes have unique hostnames.
[INFO]  Waiting for longhorn-environment-check pods to become ready (0/2)...
[INFO]  All longhorn-environment-check pods are ready (2/2).
[INFO]  MountPropagation is enabled
[INFO]  Checking kernel release...
[INFO]  Checking iscsid...
[INFO]  Checking multipathd...
[INFO]  Checking packages...
[INFO]  Checking nfs client...
[INFO]  Cleaning up longhorn-environment-check pods...
[INFO]  Cleanup completed.

2.Longhorn部署

官网提供:https://longhorn.io/docs/1.5.3/deploy/install/install-with-kubectl kubectl方式部署。

kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.5.3/deploy/longhorn.yaml
# 查看pod情况
kubectl get pods --namespace longhorn-system
NAME                                                READY   STATUS    RESTARTS   AGE
csi-attacher-785fd6545b-29hb6                       1/1     Running   0          90m
csi-attacher-785fd6545b-bw8f5                       1/1     Running   0          90m
csi-attacher-785fd6545b-wb6rd                       1/1     Running   0          90m
csi-provisioner-8658f9bd9c-5rj72                    1/1     Running   0          90m
csi-provisioner-8658f9bd9c-8l2mm                    1/1     Running   0          90m
csi-provisioner-8658f9bd9c-dc6z8                    1/1     Running   0          90m
csi-resizer-68c4c75bf5-9jqqq                        1/1     Running   0          90m
csi-resizer-68c4c75bf5-zljnc                        1/1     Running   0          90m
csi-resizer-68c4c75bf5-zsxnc                        1/1     Running   0          90m
csi-snapshotter-7c466dd68f-52c9c                    1/1     Running   0          90m
csi-snapshotter-7c466dd68f-fsrrx                    1/1     Running   0          90m
csi-snapshotter-7c466dd68f-rr6lm                    1/1     Running   0          90m
engine-image-ei-68f17757-bq55k                      1/1     Running   0          90m
engine-image-ei-68f17757-prcx6                      1/1     Running   0          90m
instance-manager-544a56b5046e48a6d0f28f76191f9c69   1/1     Running   0          90m
instance-manager-66c416b8fb1e0289ae85f2edca30bccc   1/1     Running   0          90m
longhorn-csi-plugin-hzt6t                           3/3     Running   0          90m
longhorn-csi-plugin-x56sr                           3/3     Running   0          90m
longhorn-driver-deployer-7d5dc67667-wgbm4           1/1     Running   0          90m
longhorn-manager-dw65w                              1/1     Running   0          90m
longhorn-manager-x487m                              1/1     Running   0          90m
longhorn-ui-85cc67494f-7fcfk                        1/1     Running   0          90m
longhorn-ui-85cc67494f-l5kw2                        1/1     Running   0          90m

2.1.Longhorn使用

注:这里如果部署完成

创建pod:

# https://raw.githubusercontent.com/longhorn/longhorn/v1.5.3/examples/pod_with_pvc.yaml
cat > pod_with_pvc.yaml <<EOF
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: longhorn-volv-pvc
  namespace: default
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: longhorn
  resources:
    requests:
      storage: 2Gi
---
apiVersion: v1
kind: Pod
metadata:
  name: volume-test
  namespace: default
spec:
  restartPolicy: Always
  containers:
  - name: volume-test
    image: nginx:stable-alpine
    imagePullPolicy: IfNotPresent
    livenessProbe:
      exec:
        command:
          - ls
          - /data/lost+found
      initialDelaySeconds: 5
      periodSeconds: 5
    volumeMounts:
    - name: volv
      mountPath: /data
    ports:
    - containerPort: 80
  volumes:
  - name: volv
    persistentVolumeClaim:
      claimName: longhorn-volv-pvc
EOF
cat pod_with_pvc.yaml | kubectl apply -f -

查看资源创建情况:

kubectl get pvc
longhorn-volv-pvc                Bound    pvc-4ad1865e-6d68-4f24-af7d-6020c2ed1978   2Gi        RWO            longhorn       4m17s
​
kubectl get  pod  | grep  volume-test
volume-test                              1/1     Running   0              4m42s

 

文章:

标签:INFO,csi,部署,iscsi,使用,Running,longhorn,Longhorn,90m
From: https://www.cnblogs.com/-k8s/p/17925958.html

相关文章

  • .NET开发中合理使用对象映射库,简化和提高工作效率
    前言在日常开发中,我们常常需要将一个对象映射到另一个对象,这个过程中可能需要编写大量的重复性代码,如果每次都手动编写,不仅会影响开发效率,而且当项目越来越复杂,庞大的时候还容易出现错误。为了解决这个问题,对象映射库就随之而出了,这些库可以自动完成对象之间的映射,从而减少了开发......
  • 1851_emacs_org-mode-babel的使用过百万为什么还会没钱
    Grey全部学习内容汇总:GitHub-GreyZhang/g_GNU:AftersomeyearsIfoundthatIdoneedsomefreeair,sodiveintoGNUagain!1851_emacs_org-mode-babel的使用过百万为什么还会没钱最近看了关于babel中资金问题的文章,觉得引起了我的一些思考,把这一份文章内容整理扩展一些自......
  • 使用idea连接github
    一、git概述1、版本控制2、git工作机制和代码托管中心二、git常用命令三、分支1、分支的操作2、代码冲突解决冲突:四、远程仓库1、远程仓库操作2、跨团队协作3、SSH免密登录五、在Idea中使用git1、设置git忽略文件2、设置.gitconfig(和git.ignore在同一个目录下)3、使用idea进行git......
  • 使用 OpenTelemetry 和 Loki 实现高效的应用日志采集和分析
    在之前的文章陆续介绍了如何在Kubernetes中使用Otel的自动插桩以及Otel与服务网格协同实现分布式跟踪,这两篇的文章都将目标聚焦在分布式跟踪中,而作为可观测性三大支柱之一的日志也是我们经常使用的系统观测手段,今天这篇文章就来体验下应用日志的操作闭环。背景OpenTele......
  • 使用 OpenTelemetry 和 Loki 实现高效的应用日志采集和分析
    在之前的文章陆续介绍了如何在Kubernetes中使用Otel的自动插桩以及Otel与服务网格协同实现分布式跟踪,这两篇的文章都将目标聚焦在分布式跟踪中,而作为可观测性三大支柱之一的日志也是我们经常使用的系统观测手段,今天这篇文章就来体验下应用日志的操作闭环。背景OpenTel......
  • 工作上使用mybatisplus时遇到的问题
    报错:org.apache.ibatis.session.Configuration.getLanguageDriver(Ljava/lang/Class;)原因:依赖低版本导致了了冲突,我们改为高版本即可思路1.根据引起问题的提示中的“org.apache.ibatis.session.Configuration.getLanguageDriver”,看看能否找到对应的类,如下所示:(shitf双击然后查......
  • PlayWright安装及使用
    PlayWright是由业界大佬微软(Microsoft)开源的端到端Web测试和自动化库,可谓是大厂背书,功能满格,虽然作为无头浏览器,该框架的主要作用是测试Web应用,但事实上,无头浏览器更多的是用于Web抓取目的,也就是爬虫。PlayWright的安装和使用pip3installplaywright安装驱动playwri......
  • SimpleMemory博客园主题使用记录
    SimpleMemory博客园主题使用记录前言这篇随笔是我第一次美化SimpleMemory博客园主题时写的相关配置记录。以便日后遗忘查阅!本主题选择的是SimpleMemoryThemeExtension,一款基于博客园SimpleMemory主题的扩展美化插件。优点很多,自行体会,反正我是很中意的,为作者点赞!作者示例博......
  • SyncNavigator(数据库同步软件)介绍以及使用说明
     SyncNavigator是一款功能强大的数据库同步软件,适用于SQL SERVER,MySQL,具有自动/定时同步数据、无人值守、故障自动恢复、同构/异构数据库同步、断点续传和增量同步等功能,支持Windowsxp以上所有操作系统,适用于大容量数据库快速同步。安装包下载地址:https://www.syncnavigat......
  • 使用prisma studio链接任何server
    使用prismastudio链接任何server‍当我在serverless中使用prisma成功后理所当然的我想让prismastudio连接到我位于serverless中的服务当我在互联网搜索prismastudioremotesqlite时,我没有找到合适的方案和我同样想法的问题:https://community.fly.io/t/expose-sqli......