Kubernetes部署Minio集群

Kubernetes部署Minio集群

默认已安装kubernetes机群
kubernetes1.25 krew0.4.3 minio operator4.5.4

1、krew

# 安装git
yum install -y git
# 下载
wget https://github.com/kubernetes-sigs/krew/releases/download/v0.4.3/krew-linux_amd64.tar.gz
tar -zxvf krew-linux_amd64.tar.gz
echo 'export PATH="${PATH}:${HOME}/.krew/bin"' >> ~/.bashrc
source ~/.bashrc
# 安装
./krew-linux_amd64 install krew
# 验证
kubectl krew list

2、directpv

# 安装directpv插件
kubectl krew install directpv
# 安装directpv的组件
kubectl directpv install
# 查看directpv信息
kubectl directpv info
# 发现并添加用于卷调度的驱动器
kubectl directpv discover
kubectl directpv init drives.yaml --dangerous
# 获取添加的驱动器列表
kubectl directpv list drives
# 查看存储类
kubectl get sc

3、Minio集群

3.1、minio operator

# 下载
wget https://github.com/minio/operator/releases/download/v4.5.4/kubectl-minio_4.5.4_linux_amd64 -o kubectl-minio
# 添加执行权限
chmod +x kubectl-minio
# 移动到 /usr/local/bin/
cp kubectl-minio /usr/local/bin/
# 验证
kubectl minio version
# 初始化minio operator
kubectl minio init
# 访问图形界面(本文不涉及)
kubectl minio proxy -n minio-operator

3.2、minio tenant(命令行方式)

参数含义
–disable-tls关闭tls
enable-audit-logs是否启用审计,默认开启
servers服务器总数
volumes硬盘总数
capacity容量总数
storage-class存储类,directpv-min-io
namespace租户命名空间
# 给租户创建单独的namespace
kubectl create namespace xumeng03

# 创建租户(会打印出用户名密码,指挥显示一次,注意保存)
kubectl minio tenant create xumeng03 \
    --servers 4 \
    --volumes 4 \
    --capacity 32Gi \
    --storage-class directpv-min-io \
    --namespace xumeng03
admin
fa405ac1-xxxx-xxxx-ad91-239095dda9a7

3.4、配置外部访问

ingress配置外部访问控制台

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-minio-console
  namespace: xumeng03
  annotations:
    kubernetes.io/ingress.class: "nginx"
    # 一定要指定
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
  # 转发规则
  rules:
    - host: console.ialso.cn
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: xumeng03-console
                port:
                  number: 9443

ingress配置外部访问minio服务

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-minio
  namespace: xumeng03
  annotations:
    kubernetes.io/ingress.class: "nginx"
    # 一定要指定
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    # 此处的值应当指定为:minio.nameSpace.svc.cluster.local,否则访问图片会遇到签名错误,但是指定后mc会访问不了,暂时没有什么合适的解决方案
    nginx.ingress.kubernetes.io/upstream-vhost: minio.xumeng03.svc.cluster.local
spec:
  # 转发规则
  rules:
    - host: minio.ialso.cn
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: xumeng03-hl
                port:
                  number: 9000

3.5、客户端mc

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
mv mc /usr/local/bin
# 添加 minio 服务端配置
mc config host add minio https://minio.ialso.cn admin fa405ac1-64e2-4209-ad91-239095dda9a7 --api s3v4
# 查看 minio bucket
mc ls minio
# 创建 bucket
mc mb minio/test1
# 上传本地目录(文件不加r)
mc cp -r mysql_data minio/test/
# 下载远程目录(文件不加r)
mc cp -r minio/test .
# 删除目录
mc rm minio/test/mysql_data --recursive --force
# 删除文件
mc rm minio/test/xxx.yaml
# 删除 7 天前的对象
mc rm --force --older-than=7 minio/backup
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

眼眸流转

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

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

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

打赏作者

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

抵扣说明:

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

余额充值