minIO 高性能对象存储 安装部署

MinIO 是一种高性能对象存储解决方案,它提供了与 Amazon Web Services S3 兼容的 API,并支持所有核心 S3 功能。

MinIO 旨在部署在任何地方——公共或私有云、裸机基础设施、编排环境和边缘基础设施。

MinIO 是根据 GNU Affero 通用公共许可证 v3.0 发布的高性能对象存储。它与 Amazon S3 云存储服务 API 兼容。使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。

linux上部署

此过程将独立的MinIO 服务器部署到 Linux 上,用于早期开发和评估 MinIO 对象存储及其与 S3 兼容的 API 层。

有关部署到生产环境的说明,请参阅部署 MinIO:多节点多驱动器

先决条件

  • 对本地用户文件夹的读取、写入和执行权限(例如~/minio)。
  • 将二进制文件安装到系统的权限PATH(例如访问/usr/local/bin)。
  • 熟悉 Linux 终端或 shell(Bash、ZSH 等)。
  • 64 位 Linux 操作系统(例如 RHEL 8、Ubuntu LTS 版本)。
  1. 安装 MinIO 服务器

    以下选项卡提供了使用 RPM、DEB 或二进制将 MinIO 安装到 64 位 Linux 操作系统上的示例。RPM 和 DEB 包会自动将 MinIO 安装到必要的系统路径,并创建 systemd用于自动运行 MinIO 的服务文件。MinIO 强烈建议使用 RPM 或 DEB 安装路径。

    rpm (RHEL)

    使用以下命令下载最新的稳定版 MinIO RPM 并进行安装:

    wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20221207005637.0.0.x86_64.rpm -O minio.rpm
    sudo dnf install minio.rpm #8.0以上版本sudo yum install minio.rpm #8.0以下版本
    

    DEB (Debian/Ubuntu)

    使用以下命令下载最新的稳定版 MinIO DEB 并进行安装:

    wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio_20221207005637.0.0_amd64.deb -O minio.deb
    sudo dpkg -i minio.deb
    

    二进制

    wget https://dl.min.io/server/minio/release/linux-amd64/minio
    chmod +x minio
    sudo mv minio /usr/local/bin/
    
  2. 启动 MinIO 服务器

    从系统终端或 shell 运行以下命令以使用该~/minio文件夹启动本地 MinIO 实例。您可以将此路径替换为本地计算机上的另一个文件夹路径:

    mkdir ~/minio
    minio server ~/minio --console-address :9090
    

    mkdir命令在指定路径中显式创建文件夹。

    该命令启动 MinIO 服务器。路径参数 标识服务器在其中运行的文件夹。

    该进程将其输出打印到系统控制台,类似于以下内容:

    API: http://192.0.2.10:9000  http://127.0.0.1:9000
    RootUser: minioadmin
    RootPass: minioadmin
    
    Console: http://192.0.2.10:9090 http://127.0.0.1:9090
    RootUser: minioadmin
    RootPass: minioadmin
    
    Command-line: https://min.io/docs/minio/linux/reference/minio-mc.html
       $ mc alias set myminio http://192.0.2.10:9000 minioadmin minioadmin
    
    Documentation: https://min.io/docs/minio/linux/index.html
    
    WARNING: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables.
    
  3. 将浏览器连接到 MinIO 服务器

    在网络浏览器中打开http://127.0.0.1:9000以访问MinIO 控制台。您也可以输入作为服务器命令输出的一部分指定的任何网络地址。例如,示例输出中的console: http://192.0.2.10:9090 http://127.0.0.1:9090指示用于连接到 Console 的两个可能地址。

    当该端口9000用于连接到 API 时,MinIO 会自动将浏览器访问重定向到 MinIO 控制台。

    使用输出中显示的RootUser和用户凭据登录到控制台。RootPass这些默认为.minioadmin | minioadmin

    显示登录屏幕的 MinIO 控制台

    您可以使用 MinIO 控制台执行一般管理任务,例如身份和访问管理、指标和日志监控或服务器配置。每个 MinIO 服务器都包含自己的嵌入式 MinIO 控制台。

    显示存储桶启动屏幕的 MinIO 控制台

  4. (可选) 安装 MinIO 客户端

    MinIO 客户端允许您从命令行使用您的 MinIO 服务器。

    下载mc客户端并将其安装到系统上的某个位置,PATH例如 /usr/local/bin. 您也可以从下载位置运行二进制文件。

    wget https://dl.min.io/client/mc/release/linux-amd64/mc
    chmod +x mc
    sudo mv mc /usr/local/bin/mc
    

    用于创建与本地部署关联的新别名。您可以针对此别名运行命令:mc alias setmc

    mc alias set local http://127.0.0.1:9000 minioadmin minioadmin
    mc admin info local
    

    有四个参数:mc alias set

    • 别名的名称
    • MinIO 服务器的主机名或 IP 地址和端口
    • MinIO用户的访问密钥
    • MinIO用户的密钥

Docker上部署

mkdir -p ~/minio/data

docker run \
   -p 9000:9000 \
   -p 9090:9090 \
   --name minio \
   -v ~/minio/data:/data \
   -e "MINIO_ROOT_USER=ROOTNAME" \
   -e "MINIO_ROOT_PASSWORD=CHANGEME123" \
   quay.io/minio/minio server /data --console-address ":9090"

上面的例子是这样工作的:

  • mkdir``~/minio/data在您的主目录中创建一个新的本地目录。
  • docker run启动 MinIO 容器。
  • -p将本地端口绑定到容器端口。
  • -name为容器创建一个名称。
  • -v将文件路径设置为容器要使用的持久卷位置。当 MinIO 将数据写入时/data,该数据镜像到本地路径~/minio/data,允许它在容器重新启动之间持续存在。您可以替换~/minio/data为用户具有读取、写入和删除访问权限的另一个本地文件位置。
  • -e分别设置环境变量MINIO_ROOT_USERMINIO_ROOT_PASSWORD。这些设置根用户凭据。更改示例值以用于您的容器。

windows上部署

  1. 安装 MinIO 服务器

    从以下 URL 下载 MinIO 可执行文件:

    https://dl.min.io/server/minio/release/windows-amd64/minio.exe
    

    下一步包括运行可执行文件的说明。您不能从资源管理器或通过双击该文件来运行可执行文件。相反,您调用可执行文件来启动服务器。

  2. 推出minio server
    在 PowerShell 或命令提示符中,导航到可执行文件的位置或将文件的路径添加minio.exe到系统中$PATH

    使用此命令在文件夹中启动本地 MinIO 实例C:\minio。您可以替换C:\minio为本地计算机上的另一个驱动器或文件夹路径。

    .\minio.exe server C:\minio --console-address :9090
    

    该进程将其输出打印到系统控制台,类似于以下内容:

    API: http://192.0.2.10:9000  http://127.0.0.1:9000
    RootUser: minioadmin
    RootPass: minioadmin
    
    Console: http://192.0.2.10:9090 http://127.0.0.1:9090
    RootUser: minioadmin
    RootPass: minioadmin
    
    Command-line: https://min.io/docs/minio/linux/reference/minio-mc.html
       $ mc alias set myminio http://192.0.2.10:9000 minioadmin minioadmin
    
    Documentation: https://min.io/docs/minio/linux/index.html
    
    WARNING: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables.
    

    该进程与当前的 PowerShell 或命令提示符窗口相关联。关闭窗口会停止服务器并结束进程。

  3. 将浏览器连接到 MinIO 服务器

    通过转到浏览器(例如 Microsoft Edge)并转到或命令输出中指定的控制台地址之一来访问MinIO 控制台例如,示例输出中的console: http://192.0.2.10:9090 http://127.0.0.1:9090指示用于连接到 Console 的两个可能地址。http://127.0.0.1:9000minio server

    当端口9000用于连接到 API 时,MinIO 会自动将浏览器访问重定向到 MinIO 控制台。

    使用输出中显示的RootUser和用户凭据登录到控制台。RootPass这些默认为.minioadmin | minioadmin

    显示登录屏幕的 MinIO 控制台

    您可以使用 MinIO 控制台执行一般管理任务,例如身份和访问管理、指标和日志监控或服务器配置。每个 MinIO 服务器都包含自己的嵌入式 MinIO 控制台。

    显示存储桶启动屏幕的 MinIO 控制台

  4. (可选)安装 MinIO 客户端

    MinIO 客户端允许您从命令行使用您的 MinIO 卷。

    从以下链接下载适用于 Windows 的独立 MinIO 服务器:

    https://dl.min.io/client/mc/release/windows-amd64/mc.exe

    双击该文件以运行它。或者,在命令提示符或 PowerShell 中运行以下命令。

    \path\to\mc.exe --help
    

    用于快速验证并连接到 MinIO 部署。mc.exe alias set

    mc.exe alias set local http://127.0.0.1:9000 minioadmin minioadmin
    mc.exe admin info local
    

    有四个参数:mc.exe alias set

    • 别名的名称
    • MinIO 服务器的主机名或 IP 地址和端口
    • MinIO用户的访问密钥
    • MinIO用户的密钥

Kubernetes上部署

先决条件

  • 现有的 Kubernetes 部署,其中至少一个工作节点具有本地连接的驱动器。
  • kubectl配置为在目标 Kubernetes 部署上创建和访问资源的本地安装。
  • 熟悉 Kubernetes 环境
  • 熟悉使用终端或 Shell 环境

程序

  1. 下载 MinIO 对象

    下载 MinIO Kubernetes 对象定义

    下载minio-dev.yaml到你的主机:

    curl https://raw.githubusercontent.com/minio/docs/master/source/extra/examples/minio-dev.yaml -O
    

    该文件描述了两个 Kubernetes 资源:

    • 一个新的命名空间minio-dev,以及
    • 使用工作节点上的驱动器或卷来提供数据的 MinIO pod

    选择minio 对象 yaml 概述以获得对象的更详细描述。

    MinIO 对象 YAML 概述

  2. 应用 MinIO 对象定义

    以下命令应用minio-dev.yaml配置并将对象部署到 Kubernetes:

    kubectl apply -f minio-dev.yaml
    

    命令输出应类似于以下内容:

    namespace/minio-dev created
    pod/minio created
    

    您可以通过运行以下命令来验证 pod 的状态:kubectl get pods

    kubectl get pods -n minio-dev
    

    输出应类似于以下内容:

    NAME    READY   STATUS    RESTARTS   AGE
    minio   1/1     Running   0          77s
    

    您还可以使用以下命令来检索有关 pod 状态的详细信息:

    kubectl describe pod/minio -n minio-dev
    
    kubectl logs pod/minio -n minio-dev
    
  3. 临时访问 MinIO S3 API 和控制台

    使用命令临时将流量从 MinIO pod 转发到本地机器:kubectl port-forward

    kubectl port-forward pod/minio 9000 9090
    

    该命令在 shell 中处于活动状态时将 pod 端口9000和转发到本地计算机上的匹配端口。9090该命令仅在 shell 会话中处于活动状态时才起作用。终止会话会关闭本地计算机上的端口。kubectl port-forward

    笔记

    此过程的以下步骤假设有一个活动命令。kubectl port-forward

    要配置对 pod 的长期访问,请在 Kubernetes 中配置Ingress或类似的网络控制组件,以路由进出 pod 的流量。配置 Ingress 超出了本文档的范围。

  4. 将浏览器连接到 MinIO 服务器

    通过在本地机器上打开浏览器并导航到 来访问MinIO 控制台http://127.0.0.1:9090

    使用凭据登录到控制台。这些是默认的root用户凭据。minioadmin | minioadmin

    显示登录屏幕的 MinIO 控制台

    您可以使用 MinIO 控制台执行一般管理任务,例如身份和访问管理、指标和日志监控或服务器配置。每个 MinIO 服务器都包含自己的嵌入式 MinIO 控制台。

    显示存储桶启动屏幕的 MinIO 控制台

  5. (可选)连接 MinIO 客户端

    如果您的本地计算机已安装,请使用命令进行身份验证并连接到 MinIO 部署:mc mc alias set

    mc alias set k8s-minio-dev http://127.0.0.1:9000 minioadmin minioadmin
    mc admin info k8s-minio-dev
    
    • 别名的名称
    • MinIO 服务器的主机名或 IP 地址和端口
    • MinIO用户的访问密钥
    • MinIO用户的密钥
    mc alias set k8s-minio-dev http://127.0.0.1:9000 minioadmin minioadmin
    mc admin info k8s-minio-dev
    
    • 别名的名称
    • MinIO 服务器的主机名或 IP 地址和端口
    • MinIO用户的访问密钥
    • MinIO用户的密钥
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

(~ ̄▽ ̄)~凤凰涅槃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值