minio笔记3--基于k8s搭建minio集群
Posted 昕光xg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了minio笔记3--基于k8s搭建minio集群相关的知识,希望对你有一定的参考价值。
minio笔记3--基于k8s搭建minio集群
- 介绍
- 安装单个节点
- 安装 minio 集群
- 注意事项
- 说明
介绍
笔者在 minio笔记01–部署与测试minio 和 minio笔记02–基于swarm搭建minio集群 中介绍了minio 的集群搭建步骤和基础使用方法,本文继上述两篇文章介绍k8s下的minio搭建过程。其实很早就准备写一份基于k8s的集群搭建方式,但是由于各种原因耽搁很久了,最近再次发了些时间完成了k8s下的minio部署,将步骤分享在此处以供有需要的小伙伴们学习!
后续也会在此处继续更新 k8s下minio的部署和常见注意事项!
安装单个节点
- 部署服务
1. 添加 helm 源
helm repo add minio https://helm.min.io/
2. 下载chart压缩包
helm fetch minio/minio
3. 解压并按需更改values.yaml
tar zxvf minio-8.0.10.tgz
vim values.yaml
resources:
requests:
memory: 256Mi
4. 部署实例
helm install minio \\
--namespace minio \\
--create-namespace \\
--set accessKey=minio,secretKey=minio123 \\
--set mode=standalone \\
--set service.type=NodePort \\
--set persistence.enabled=false \\
--set persistence.size=10Gi \\
- 测试
集群deployment 和 svc - web 界面:
安装 minio 集群
- 部署服务
1. 添加 helm 源
helm repo add minio https://helm.min.io/
2. 下载chart压缩包
helm fetch minio/minio
3. 解压并按需更改values.yaml
tar zxvf minio-8.0.10.tgz
vim values.yaml
resources:
requests:
memory: 256Mi
4. 部署实例
helm install minio \\
--namespace minio --create-namespace \\
--set accessKey=minio,secretKey=minio123 \\
--set mode=distributed \\
--set replicas=4 \\
--set service.type=NodePort \\
--set persistence.enabled=false \\
--set persistence.size=10Gi \\
- 测试
集群statefulset、svc 和 endpoints
kubectl -n minio get statefulset,svc,endpoints minio - web 界面:
新建bucket test01,test02,并各自上传一个文件 - mc 命令查看集群信息
mc alias set local http://192.168.2.131:32000 minio minio123
mc ls local 查看文件信息 - mc admin info local 查看集群信息
- 由此可见,已经部署了一个4节点的minio集群。
注意事项
- 本文主要是用于测试,由此使用容器的临时存储,如果在生产上使用者需要指定动态存储类,可以使用 nfs、longhorn、ceph 等持久化存储。
更多持久化存储见:k8s storage-classes 笔者新建nfs-client 存储类后,通过nfs动态分配存储空间,从而实现了minio 的持久化存储。
helm install minio \\
--namespace minio --create-namespace \\
--set accessKey=minio,secretKey=minio123 \\
--set mode=distributed \\
--set replicas=4 \\
--set service.type=NodePort \\
--set persistence.enabled=true \\
--set persistence.size=500Mi \\
--set persistence.storageClass=nfs-client \\
minio-8.0.10/minio
存储路径如下:
/data/nfs$ ls
说明
- 软件环境
k8s 版本: 1.19.4
helm chart 版本: minio/minio:minio-8.0.10
minio镜像版本:minio/minio:RELEASE.2021-02-14T04-01-33Z - 参考文档
1 minio 高性能 Kubernetes 原生对象存储2 kubernetes部署minio对象存储3 minio 官方文档4 k8s中创建nfs存储类(公共盘)
以上是关于minio笔记3--基于k8s搭建minio集群的主要内容,如果未能解决你的问题,请参考以下文章