【minio】#5 | MinIO 分布式部署 + HTTPS 部署

一、MinIO 部署模式区分

1. 单机简单模式(入门测试)

  • 架构:单主机 + 单磁盘
  • 特点:部署最简单,但是无冗余、数据不可靠,只适合学习测试,严禁生产使用。

生产环境推荐:多磁盘、多主机分布式集群,支持数据分片、故障容错。

2. 分布式 MinIO 集群(本次案例:2 节点,每节点 2 块盘)

集群节点:

  • 节点 1:192.168.80.187
  • 节点 2:192.168.80.188

架构说明:2 台机器,每台挂载 2 块磁盘,总共 4 块盘组成分布式集群。支持后期动态扩容。

docker-compose.yml 完整配置(节点 1 192.168.80.187)
复制代码
minio:
  image: minio/minio:RELEASE.2025-04-08T15-41-24Z
  container_name: minio
  restart: always
  environment:
    - MINIO_ROOT_USER=admin
    - MINIO_ROOT_PASSWORD=12345678
    - MINIO_SERVER_URL=http://192.168.80.187:9000
  volumes:
    - ./conf:/home/minio/conf
    - ./mnt/disk1:/mnt/disk1
    - ./mnt/disk2:/mnt/disk2
  command: >
    server --config-dir /home/minio/conf
    --address "192.168.80.187:9000"
    --console-address "192.168.80.187:9001"
    http://192.168.80.187/mnt/disk1
    http://192.168.80.187/mnt/disk2
    http://192.168.80.188/mnt/disk1
    http://192.168.80.188/mnt/disk2
  network_mode: host
  privileged: true
  deploy:
    resources:
      limits:
        cpus: '2'
        memory: 4G
      reservations:
        cpus: '1'
        memory: 2G
关键要点说明
  1. command 里面写全所有节点磁盘地址,分布式 MinIO 会自动把数据分片到 4 个磁盘。
  2. network_mode: host:使用宿主机网络,直接占用宿主机 9000(API 端口)、9001(控制台端口),两台机器都要开启 host 网络,防火墙放行端口。
  3. deploy 资源限制:仅 docker swarm 模式生效 ,普通docker-compose up不会读取这部分配置。
  4. 注意:两个节点都要部署 MinIO 服务,上面这份是 187 节点配置;188 节点需要一份结构相同的 compose 文件。
  5. 优势:支持动态扩容,集群容量不足时新增节点 / 磁盘即可扩展。

二、MinIO HTTPS/TLS 加密部署

1. 作用

默认是 HTTP 明文传输,网络抓包可以窃取数据。配置 TLS 证书后升级为 HTTPS,通信数据加密传输。

2. 证书方案

学习环境使用 自签 TLS 证书 ,通过 ca.sh 脚本生成:

  • 私钥:private.key
  • 公钥证书:public.crt

生产环境建议使用正规 CA 机构颁发的可信证书。

3. 客户端连接 HTTPS 要点

  • 使用 HTTPS 地址连接 MinIO 时,客户端参数设置:secure:true
  • 自签证书客户端会报证书不信任错误 ,开发测试阶段可以开启跳过证书校验:InsecureSkipVerify:true

生产环境禁止开启InsecureSkipVerify。

三、复习总结

  1. 单机单盘仅用于学习;生产优先分布式多机多盘,保障数据容错。
  2. 分布式 MinIO:所有节点磁盘地址全部写在 server 启动命令,所有节点都要启动 MinIO。
  3. HTTP 明文不安全;HTTPS 依靠 TLS 证书加密通信。
  4. 自签证书测试:客户端 secure=true,配合 InsecureSkipVerify 跳过证书校验。
相关推荐
jaysee-sjc17 小时前
【苍穹外卖】Day10:定时任务与 WebSocket 实时提醒实战
java·开发语言·javascript·数据库·vue.js·websocket·网络协议
@Ma18 小时前
Fiddler无法从苹果手机上获取app上https数据包解决方案
智能手机·https·fiddler
幻智星科技19 小时前
我砍掉了FPGA里的ARM核项目反而提前交付了
arm开发·网络协议·fpga开发·硬件架构
cyf3119 小时前
半小时玩转RDMA:从零跑通高速网络通信
网络协议·rdma·高速通信·rocev2·wireshark抓包·ai 智算网络·入门实战
XMAIPC_Robot19 小时前
NXP i.MX95 + FPGA 异构计算平台 — 工业多域融合 AI 加速嵌入式控制解决方案
人工智能·分布式·fpga开发·能源·rk3576+fpga
砺星Leetx1 天前
工业总线选型与对接实战:PROFINET、EtherCAT、EtherNet/IP、PROFIBUS、Modbus-TCP 与 CC-Link
网络·网络协议·tcp/ip·控制器·国产拧紧系统
李纲明1 天前
WordPress 后台登录马上被踢回登录页:Cookie 域、HTTPS、盐值和页面缓存怎么查
运维·缓存·https·php·wordpress·cookie
Lsetea1 天前
curl指定--tlsv1.2仍连接TLS1.3:最低版本与tls-max排查
linux·https·ssl证书·curl·tls
方方洛1 天前
ray教程-13-RayTrain与分布式训练
人工智能·分布式·机器学习
Lsetea1 天前
curl访问HTTPS报47 Too many redirects:重定向循环与max-redirs排查
linux·http·https·ssl证书·curl