Linux : 安装MinIO集群+Nginx高可用/负载均衡+MC工具配置账户权限

摆渡了一圈, 大部分教程有些地方写得不太明白, 我这边记录一下

1. 安装集群

下载MinIO: https://dl.min.io/server/minio/release/linux-amd64/minio

增加可执行权限

配置环境变量:

export MINIO_ROOT_USER=<ACCESS_KEY>
export MINIO_ROOT_PASSWORD=<SECRET_KEY>

启动节点, 如果是本机启动多个节点, 必须要修改端口参数, 日志文件名称, 至于挂载磁盘的目录则指定在集群参数里, 下面这个集群则启动了两个节点, 指定了 /data/minio-node-1 ... 4 这4个目录, 每个节点各有两个目录

具体多硬盘的写法可以参考: https://docs.min.io/cn/distributed-minio-quickstart-guide.html

nohup ./minio server http://192.168.1.48:9001/data/minio-node-1 http://192.168.1.48:9001/data/minio-node-2 http://192.168.1.49:9001/data/minio-node-3 http://192.168.1.49:9001/data/minio-node-4 --address=0.0.0.0:9001 >>node-1.log 2>&1 &
nohup ./minio server http://192.168.1.48:9001/data/minio-node-1 http://192.168.1.48:9001/data/minio-node-2 http://192.168.1.49:9001/data/minio-node-3 http://192.168.1.49:9001/data/minio-node-4 --address=0.0.0.0:9001 >>node-2.log 2>&1 &

这样集群就启动完成了~

2. Nginx配置

话不多说直接上配置文件:

upstream minio {
        server 192.168.1.48:9001;
        server 192.168.1.49:9001;
    }

    server {
        listen       9000;
        #listen  [::]:9000;
        #server_name  localhost;

         # To allow special characters in headers
         ignore_invalid_headers off;
         # Allow any size file to be uploaded.
         # Set to a value such as 1000m; to restrict file size to a specific value
         client_max_body_size 0;
         # To disable buffering
         proxy_buffering off;

        location / {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;

            proxy_connect_timeout 300;
            # Default is HTTP/1, keepalive is only enabled in HTTP/1.1
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            chunked_transfer_encoding off;

            proxy_pass http://minio;
        }
    }

重新加载nginx就ok了~

3. MC工具配置账户(废弃)

参考博客链接: https://blog.csdn.net/u013595395/article/details/107829555

0. 配置MinIO集群连接地址:

mc config host add minio http://127.0.0.1:9000 username password

1. 新建用户

mc admin user add minio/ node-test node-test-123      // 密码至少8个字符

2. 新建策略文件(注意把 //及后面的注释删掉)

{
  "Version": "2012-10-17",         
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [                      //  可以做出的行动(权限)
        "s3:ListAllMyBuckets",          //  查看所有的“桶”列表
        "s3:ListBucket",               //  查看桶内的对象列表
        "s3:GetBucketLocation",         
        "s3:GetObject",               //   下载对象
        "s3:PutObject",               //   上传对象
        "s3:DeleteObject"             //   删除对象
      ],
      "Resource": [
        "arn:aws:s3:::*"              // (应用到的资源,*表示所有,也可以用路径来控制范围。arn:aws:s3是命名空间)
      ]
    }
  ]
}

 

3. 导入策略

mc admin policy add minio/ node-test ./policy/node-test.json   // add后面三个东西,分别是minio服务器别名、策略名、策略所在路径

4. 应用策略

mc admin policy set minio/ node-test user=node-test     // 倒数第二个是策略名, 最后是用户名

 2021-12-21更新: web控制台支持RBAC控制权限了, mc工具可以不用了~ 撒花~

posted @ 2021-01-26 15:00  cccy0  阅读(1809)  评论(0编辑  收藏  举报