K3s部署Longhorn
Longhorn 单机部署指南
Longhorn 支持单机部署,它是一款基于 Kubernetes 的分布式块存储系统,同时也可以在单节点 Kubernetes 集群中完成部署和使用,适合开发测试、边缘计算等轻量场景。
一、单机部署的核心前提
环境要求
单节点 Kubernetes 集群(如 Minikube、k3s、MicroK8s 或手动搭建的单节点集群)
节点满足 Longhorn 基础条件:
操作系统:Linux(内核 4.14+)
容器运行时:Docker、containerd 等
磁盘:至少 1 块空闲磁盘或目录(用于存储数据)
依赖工具:
open-iscsi(必须安装并启动)
网络要求
节点能访问互联网(用于拉取 Longhorn 镜像)
Kubernetes 集群网络插件正常运行(如 Calico、Flannel)
二、单机部署的具体步骤(以 k3s 为例)
1. 部署单节点 k3s 集群
1 | # 安装 k3s(禁用默认存储,避免冲突) |
2. 安装依赖组件 open-iscsi
1 | # Ubuntu/Debian |
3. 部署 Longhorn
推荐使用 Helm 部署(更易管理):
1 | # 安装 Helm 3 |
4. 验证部署状态
1 | # 检查 Pod 是否全部 Running |
三、单机部署的注意事项
高可用限制
单机部署下,Longhorn 无法提供数据冗余(默认副本数为 3,需手动调整为 1),节点故障会导致数据丢失,仅适合非生产环境。
修改副本数:在 Longhorn UI 中设置默认副本数为 1,或在 PVC 注解中指定
numberOfReplicas: 1。
存储路径配置
如果节点没有空闲磁盘,可以指定目录作为存储后端:
1
2
3
4
5
6# 创建本地目录
sudo mkdir -p /data/longhorn
sudo chmod 777 /data/longhorn
# 部署时通过 Helm 参数指定
helm install longhorn longhorn/longhorn --namespace longhorn-system --create-namespace \
--set defaultSettings.defaultDataPath=/data/longhorn
访问 Longhorn UI
单机环境下可通过 NodePort 访问 UI:
1
2kubectl -n longhorn-system get svc longhorn-frontend
# 访问 http://<节点IP>:<NodePort>
四、单机部署的适用场景
开发/测试环境:快速验证 Longhorn 功能、测试存储与应用的兼容性。
边缘节点:资源受限的边缘设备,仅需单节点提供块存储。
个人学习:熟悉 Kubernetes 存储编排和 Longhorn 运维操作。
是否需要我为你整理单机部署 Longhorn 后的测试用例,比如创建 PVC 并挂载到 Nginx 容器进行验证?