zoukankan      html  css  js  c++  java
  • 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     // 倒数第二个是策略名, 最后是用户名
  • 相关阅读:
    复用$.ajax方式传递参数错误处理
    JS传递函数并且调用
    JQuery $.axaj的基本格式
    AOP的具体实践-简化结果返回的处理
    将Python打包成可执行文件exe的心路历程
    通过Python实现一个文档的半自动录入工具
    我的第一次实习感悟
    docker nginx+php-fpm+mysql
    使用Harbor搭建docker私服
    python 验证码获取后处理降噪、灰度、保存
  • 原文地址:https://www.cnblogs.com/cccy0/p/14330375.html
Copyright © 2011-2022 走看看