Docker部署Prometheus
常用Grafana模板
| 名称 | 模板ID | 说明 |
|---|---|---|
| Node Exporter Full | 1860 | Kubernetes 集群监控 |
| K3s Cluster Dashboard | 14205,7249 | K3s专属监控 |
| kube-state-metrics | 12740 | |
| MySQL Overview | 7362 | |
| Nvidia GPU Metrics | 14574 | 英伟达显卡监控 |
| PostgreSQL Database | 9628 | |
| Redis | 12497 | |
| EMQX | 17446 | |
| Docker-cAdvisor | 13946 |
Alloy配置模板
1 | // 基础设施指标收集组件一般都是prometheus.exporter.*的形式, 见官方文档https://grafana.com/docs/alloy/latest/reference/components/prometheus/ |
Ollama完整教程:本地LLM管理、WebUI对话、Python/Java客户端API应用
Ollama 作为轻量级本地大语言模型(LLM)管理工具,能够便捷地实现本地模型的部署、调度与交互。本文将从环境变量配置、CLI 核心命令、安装部署优化等维度,全方位讲解 Ollama 的使用方法,同时涵盖 WebUI 部署、Python/Java 客户端 API 集成等实战场景,帮助开发者高效管理和使用本地大模型。
一、核心环境变量配置
环境变量是定制 Ollama 运行行为的核心,通过合理配置可优化网络访问、模型管理、性能调度等关键环节,以下为高频实用的环境变量分类说明:
1. 网络配置:控制服务访问范围
| 环境变量 | 默认值 | 功能与使用示例 |
|---|---|---|
| OLLAMA_HOST | 127.0.0.1:11434 | 定义服务监听地址/端口,支持 HTTP/HTTPS 协议。示例:0.0.0.0:8080(允许局域网访问)、https://0.0.0.0:443(HTTPS 协议) |
| OLLAMA_ORIGINS | localhost/127.0.0.1等 | 配置跨域请求允许来源,示例:OLLAMA_ORIGINS=*,https://example.com(允许所有来源+指定域名) |
2. 模型管理:优化存储与加载策略
| 环境变量 | 默认值 | 功能与使用示例 |
|---|---|---|
| OLLAMA_MODELS | ~/.ollama/models | 自定义模型存储路径,示例:OLLAMA_MODELS=/data/ollama/models(Linux)、OLLAMA_MODELS=D:\OllamaModels(Windows) |
| OLLAMA_KEEP_ALIVE | 5m | 模型内存存活时间,示例:30m(30分钟)、24h(24小时)、-1(永久存活)、0(立即卸载) |
| OLLAMA_LOAD_TIMEOUT | 5m | 模型加载超时时间,示例:10m(超时10分钟终止加载) |
| OLLAMA_MAX_LOADED_MODELS | 0(无限制) | 限制同时加载模型数,示例:4(最多加载4个模型) |
| OLLAMA_MAX_QUEUE | 512 | 请求队列最大长度,示例:1024(支持1024个并发请求排队) |
| OLLAMA_MAX_VRAM | 0(无限制) | GPU 显存最大使用量(字节),示例:8589934592(限制8GB显存) |
| OLLAMA_GPU_OVERHEAD | 0 | 单GPU显存预留量(字节),示例:1073741824(预留1GB显存) |
3. 性能与调度:提升并发与资源利用率
| 环境变量 | 默认值 | 功能与使用示例 |
|---|---|---|
| OLLAMA_NUM_PARALLEL | 0(无限制) | 并行处理请求数,示例:8(同时处理8个请求) |
| OLLAMA_SCHED_SPREAD | false | 启用模型跨GPU调度,示例:OLLAMA_SCHED_SPREAD=1(开启跨GPU调度) |
4. 调试与日志:辅助问题排查
| 环境变量 | 默认值 | 功能与使用示例 |
|---|---|---|
| OLLAMA_DEBUG | false | 启用调试日志,示例:OLLAMA_DEBUG=1(输出详细调试信息) |
| OLLAMA_NOHISTORY | false | 禁用命令行历史记录,示例:OLLAMA_NOHISTORY=1(不保存run命令历史) |
| OLLAMA_NOPRUNE | false | 启动时不清理模型文件,示例:OLLAMA_NOPRUNE=1(保留所有模型缓存) |
5. 特性开关:尝鲜实验性功能
| 环境变量 | 默认值 | 功能与使用示例 |
|---|---|---|
| OLLAMA_FLASH_ATTENTION | false | 启用Flash Attention注意力机制,示例:OLLAMA_FLASH_ATTENTION=1 |
| OLLAMA_MULTIUSER_CACHE | false | 优化多用户场景提示缓存,示例:OLLAMA_MULTIUSER_CACHE=1 |
6. 代理设置:适配网络访问场景
| 环境变量 | 功能与使用示例 |
|---|---|
| HTTP_PROXY | 设置HTTP代理,示例:HTTP_PROXY=http://proxy.example.com:8080 |
| HTTPS_PROXY | 设置HTTPS代理,示例:HTTPS_PROXY=https://proxy.example.com:8080 |
| NO_PROXY | 排除代理地址,示例:NO_PROXY=localhost,192.168.1.0/24,example.com |
二、CLI 核心命令详解
Ollama 提供简洁的命令行工具(CLI)实现模型全生命周期管理,所有命令均可通过-h/--help查看详细用法,核心命令如下:
1. 基础命令速览
| 命令 | 核心用途 |
|---|---|
| ollama serve/start | 启动 Ollama 服务(两者为别名关系) |
| ollama create |
基于现有模型创建自定义模型(支持定制/微调) |
| ollama show |
查看模型详情(配置、许可证、系统提示等) |
| ollama run |
启动模型交互(终端直连,支持参数定制) |
| ollama pull |
从远程仓库拉取模型(支持私有仓库) |
| ollama list/ls | 列出本地已下载的所有模型(两者为别名关系) |
| ollama ps | 查看当前正在运行的模型进程 |
| ollama stop |
停止指定运行中的模型 |
| ollama rm |
删除本地指定模型(支持批量删除) |
2. 高频命令实战
(1)启动服务:定制化启动参数
1 | # 基础启动(默认配置) |
启动命令支持结合任意环境变量,实现服务的个性化配置。
(2)模型管理:从拉取到删除全流程
1 | # 拉取模型(例如Llama 3 8B) |
(3)模型交互:终端高效验证
ollama run是终端验证模型的核心命令,支持直接传参或交互式对话:
1 | # 基础运行模型 |
核心优势:
轻量化验证:无需依赖WebUI,终端直连模型快速验证响应效果;
可记录输出:通过
>将响应写入文件(如ollama run llama3:8b "提问内容" > response.txt);自动化适配:可嵌入脚本实现定时交互、批量问答等自动化流程。
三、Ollama 安装与系统参数最佳实践
1. 快速安装
Ollama 支持全平台部署,可从官方官网下载对应系统安装包(Windows/MacOS/Linux),安装流程与常规软件一致,无额外依赖。
2. 必配系统环境变量(优化体验)
安装完成后,建议配置以下环境变量提升使用体验:
| 环境变量 | 推荐配置(示例) | 配置原因 |
|---|---|---|
| OLLAMA_MODELS | D:\OllamaModels(Windows) /data/ollama/models(Linux) |
避免系统盘(C盘)空间占用,统一管理模型文件 |
| OLLAMA_HOST | 0.0.0.0 | 允许局域网内其他设备访问Ollama服务(默认仅本机可访问) |
| OLLAMA_PORT | 8080(按需修改) | 规避11434端口冲突,适配现有网络环境 |
| OLLAMA_ORIGINS | * | 本地使用场景下解除跨域限制,简化WebUI/API调用 |
| OLLAMA_KEEP_ALIVE | 24h | 模型常驻内存,避免重复加载耗时(提升访问速度) |
| OLLAMA_NUM_PARALLEL | 4-8(按CPU/GPU调整) | 提升并发处理能力,适配多请求场景 |
| OLLAMA_MAX_QUEUE | 1024 | 扩大请求队列,避免高并发下请求被丢弃 |
| OLLAMA_DEBUG | 1(研发阶段) | 输出详细日志,辅助排查模型加载/交互异常 |
| OLLAMA_MAX_LOADED_MODELS | 2-4 | 限制同时加载模型数,避免内存/GPU显存耗尽 |
总结
Ollama 凭借轻量化、易配置、跨平台的特性,成为本地大模型管理的首选工具。通过合理配置环境变量,可精准控制服务的网络、性能、资源使用;借助 CLI 命令,可高效完成模型的全生命周期管理;结合 WebUI 或多语言 API,还能进一步扩展交互形式与应用场景。无论是本地验证模型效果,还是搭建私有化大模型服务,Ollama 都能通过灵活的配置和简洁的操作满足多样化需求。
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 容器进行验证?