跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI

Milvus 安装指南:Docker、Docker Compose 与 Kubernetes 部署方式

Milvus 支持 Docker、Docker Compose 和 Kubernetes 三种部署方式。介绍各模式的先决条件、安装步骤及验证方法。Docker 适合单机快速测试;Docker Compose 模拟分布式架构用于开发;Kubernetes 适用于生产环境高可用场景。涵盖资源规划、配置持久化及常见问题排查。

佛系玩家发布于 2026/3/15更新于 2026/9/375 浏览
Milvus 安装指南:Docker、Docker Compose 与 Kubernetes 部署方式

Milvus 安装指南

Milvus 提供了多种部署方式,包括 Docker(单机部署)、Docker Compose(单机多容器部署)以及 Kubernetes(分布式集群部署)。以下是对这三种安装方式的详细介绍,包括先决条件、步骤、配置文件和注意事项。

1. 先决条件

在安装 Milvus 之前,确保满足以下条件:

通用要求

  • 操作系统:Linux(推荐 Ubuntu 20.04 或 CentOS 7+)、macOS 或 Windows(需要 WSL2 支持)。
  • 硬件要求:
    • 单机模式(Docker 或 Docker Compose):至少 8GB 内存、4 核 CPU、50GB 磁盘空间。
    • 分布式模式(Kubernetes):根据规模调整,建议每个节点至少 16GB 内存、8 核 CPU。
  • 网络:确保安装环境可以访问 Docker Hub 或 Milvus 的镜像源。
  • Milvus 版本:本文基于 Milvus 2.x。具体版本可参考 Milvus 官方文档。

工具要求

  • Docker:版本 19.03 或更高。
  • Docker Compose:版本 1.28 或更高。
  • kubectl 和 Kubernetes 集群:Kubernetes 版本 1.16 或更高。
  • Helm:版本 3.6 或更高。

检查工具版本

# 检查 Docker
docker --version
# 检查 Docker Compose
docker-compose --version
# 检查 kubectl
kubectl version --client
# 检查 Helm
helm version

2. 安装 Milvus - Docker(单机模式)

Docker 部署是安装 Milvus 最简单的方式,适合快速测试或开发环境。

步骤

  1. 安装 Docker:

    • macOS:下载 Docker Desktop 并安装。
    • Windows:启用 WSL2 并安装 Docker Desktop。
    • Linux (Ubuntu):
      sudo apt update
      sudo apt install -y docker.io
      sudo systemctl start docker
      sudo systemctl enable docker
      
  2. 创建数据持久化目录:

    mkdir -p ~/milvus/data ~/milvus/logs ~/milvus/configs
    
  • 拉取 Milvus 镜像:

    docker pull milvusdb/milvus:latest
    
  • 运行 Milvus 容器:

    docker run -d --name milvus_standalone \
      -p 19530:19530 \
      -p 9091:9091 \
      -v ~/milvus/data:/var/lib/milvus \
      -v ~/milvus/logs:/var/lib/milvus/logs \
      -v ~/milvus/configs:/var/lib/milvus/configs \
      milvusdb/milvus:latest
    
  • 验证安装:

    • 检查容器状态:
      docker ps
      
      确保 milvus_standalone 容器处于 Up 状态。
    • 使用 Python SDK 测试连接:
      pip install pymilvus
      from pymilvus import MilvusClient
      client = MilvusClient(uri="http://192.168.1.110:19530")
      print(client.get_server_version())
      
      如果返回版本号(如 2.5.x),说明安装成功。
  • 访问 Web 界面(可选):

    • 打开浏览器,访问 http://localhost:9091。
  • 注意事项

    • 资源分配:确保 Docker 有足够的内存(至少 8GB)和 CPU 资源。
    • 防火墙:确保端口 19530 和 9091 未被防火墙阻止。
    • 持久化:不使用挂载目录会导致容器删除后数据丢失。
    • 版本选择:使用 milvusdb/milvus:<tag> 指定版本。

    3. 安装 Milvus - Docker Compose(单机多容器)

    Docker Compose 部署将 Milvus 的组件拆分为多个容器,模拟分布式架构,适合需要更高性能的单机环境。

    步骤

    1. 安装 Docker Compose:

      • macOS/Windows:Docker Desktop 已包含。
      • Linux (Ubuntu):
        sudo apt install -y docker-compose
        
    2. 下载配置文件:

      wget https://github.com/milvus-io/milvus/releases/download/v2.4.0/milvus-standalone-docker-compose.yml -O docker-compose.yml
      
    3. 创建持久化目录:

      mkdir -p volumes/etcd volumes/minio volumes/milvus
      
    4. 启动 Milvus:

      docker-compose up -d
      
    5. 验证安装:

      • 检查容器状态:
        docker-compose ps
        
        确保 milvus_standalone、milvus_etcd 和 milvus_minio 容器均运行正常。
      • 使用 Python SDK 测试连接:
        from pymilvus import MilvusClient
        client = MilvusClient(uri="http://localhost:19530")
        print(client.get_version())
        
    6. 访问 MinIO(可选):

      • 访问 http://localhost:9001,使用默认凭据(minioadmin:minioadmin)登录。

    注意事项

    • 依赖服务:需要 etcd(元数据存储)和 MinIO(对象存储)。
    • 存储配置:确保 volumes 目录有足够磁盘空间。
    • 版本一致性:确保各组件镜像版本兼容。

    4. 安装 Milvus - Kubernetes(分布式集群)

    Kubernetes 部署适合生产环境或需要高可用性和可扩展性的场景。

    步骤

    1. 准备 Kubernetes 集群:

      • 生产环境:使用云服务(AWS EKS、Google GKE、Azure AKS)或自建集群。
      • 本地测试:使用 Minikube 或 Kind。
        minikube start --cpus 4 --memory 8192
        
    2. 安装 kubectl 和 Helm:

      # 安装 kubectl
      curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
      chmod +x kubectl
      sudo mv kubectl /usr/local/bin/
      
      # 安装 Helm
      curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
      
    3. 添加 Milvus Helm 仓库:

      helm repo add milvus https://milvus-io.github.io/milvus-helm-charts/
      helm repo update
      
    4. 创建自定义值文件: 创建 values.yaml 文件,调整 Milvus 配置。

      cluster:
        enabled: true
      etcd:
        replicaCount: 3
      minio:
        mode: distributed
        replicas: 4
      milvus:
        standalone:
          enabled: false
      proxy:
        replicas: 2
      querynode:
        replicas: 4
      datanode:
        replicas: 2
      resources:
        limits:
          cpu: "4"
          memory: "16Gi"
        requests:
          cpu: "2"
          memory: "8Gi"
      persistence:
        enabled: true
        storageClass: "standard"
        size: 50Gi
      
    5. 部署 Milvus:

      helm install my-milvus milvus/milvus -f values.yaml
      
    6. 验证安装:

      • 获取服务地址:
        kubectl get svc
        
      • 检查 Pod 状态:
        kubectl get pods
        
        确保所有 Milvus 相关 Pod 处于 Running 状态。
      • 本地测试(端口转发):
        kubectl port-forward svc/my-milvus 19530:19530
        
        然后使用 Python SDK 连接 http://<service-ip>:19530。

    注意事项

    • 存储类:确保 Kubernetes 集群有可用的 StorageClass。
    • 资源规划:根据数据规模调整副本数和资源分配。
    • 高可用性:生产环境建议部署多个 etcd 和 MinIO 副本。
    • 网络策略:配置 Kubernetes 网络策略以确保组件间通信。

    5. 常见问题与故障排查

    • 容器启动失败:检查日志 docker logs <container_name> 或 kubectl logs <pod_name>,确认端口未被占用、磁盘空间充足。
    • 连接失败:确保客户端连接的 IP 和端口正确,检查防火墙或 Kubernetes 网络策略。
    • 性能问题:调整索引参数或增加查询节点副本,确保硬件资源足够。
    • 数据丢失:确保持久化存储正确配置(如挂载目录或 PVC)。

    6. 总结

    • Docker:适合快速测试,单容器部署最简单。
    • Docker Compose:适合开发环境,模拟分布式架构。
    • Kubernetes:适合生产环境,支持高可用和分布式部署。

    目录

    1. Milvus 安装指南
    2. 1. 先决条件
    3. 通用要求
    4. 工具要求
    5. 检查工具版本
    6. 检查 Docker
    7. 检查 Docker Compose
    8. 检查 kubectl
    9. 检查 Helm
    10. 2. 安装 Milvus - Docker(单机模式)
    11. 步骤
    12. 注意事项
    13. 3. 安装 Milvus - Docker Compose(单机多容器)
    14. 步骤
    15. 注意事项
    16. 4. 安装 Milvus - Kubernetes(分布式集群)
    17. 步骤
    18. 安装 kubectl
    19. 安装 Helm
    20. 注意事项
    21. 5. 常见问题与故障排查
    22. 6. 总结

    更多推荐文章

    查看全部
    • 深入理解 AIGC 背后的核心算法:GAN、Transformer 与 Diffusion Models
    • Qwen3-32B 本地部署实践:Clawdbot CLI 与 Web UI 双入口
    • 前端代码生成测评:GLM 4.7、MiniMax 与 Claude Opus 对比分析
    • 预训练语言模型与 BERT 实战应用
    • LLaMA-Factory 本地部署与微调环境搭建指南
    • DCU BW1000 环境下 llama.cpp 推理 Qwen3-Coder 模型问题排查
    • Linux GCC/G++编译器:从源码到可执行文件全流程解析
    • 青龙面板 Docker 部署与内网穿透远程管理方案
    • 利用 DeepSeek API 构建贪吃蛇游戏的技术实践
    • 滑动窗口四题的共通解法
    • Linux 命令实战:ar 归档工具使用详解
    • Linux 基础开发工具
    • Linux 进程替换原理与 exec 函数族详解
    • Transformer 入门到精通:核心架构与算法详解
    • 数据结构——排序算法:冒泡、快速排序与归并排序详解
    • 12 个高含金量程序员证书推荐
    • 如何有效解决 Trae 上下文丢失问题
    • Linux 多线程控制:创建、等待与终止
    • Spring AI MCP Server 集成与源码解析
    • MCP 插件实战:Browser Tools 集成指南

    相关免费在线工具

    • RSA密钥对生成器

      生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

    • Mermaid 预览与可视化编辑

      基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

    • 随机西班牙地址生成器

      随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

    • Base64 字符串编码/解码

      将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

    • Base64 文件转换器

      将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

    • Markdown转HTML

      将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online