- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
图形界面创建bucket.
特性:
Versioning 开启版本控制,开启版本控制则允许在同一键下保持同一对象的多个版本.
Object Locking 对象锁定防止对象被删除,需要支持保留和合法持有,只能在创建桶时启用.
Quita 配额限制bucket中的数据量.
Retention 保留会施加规则,在一段时间内防止对象删除。为了设置桶保留策略,必须启用版本控制.
确认创建成功,查看bucket详情.
Anonymous:配置Access Poilcy为custom,可以自己定义那些前缀是只读,那些前缀是读写的等.
Events:事件,设置Bucket绑定那些事件通知.
Lifecycle:生命周期,配置bucket的生命周期。 类型选择Expiry代表是过期直接删除,选择Transition就是过期后转移到目标存储服务器,需要搭配Tiering使用.
Prefix:文件名前缀。 After:代表多少天后过期.
测试上传文件.
图形界面创建AK和SK.
强烈建议对锁创建的key进行记录:
xuq70VZxkfwPvDG5Mfga
t3FgyXTOhfyKowWFbMvFpTPJ9rJQh0RiTLEnJ2F5
也可将所创建的Key下载到本地.
Minio 的存储桶默认是不和任何 Acess Key 关联,同时 Minio 支持标准 S3 协议,可以在创建 bucket 和 ak 后给 Access Key 授予某个 Bucket 存储桶的访问权限,实现 Key 和 Bucket 的绑定.
MinIO使用基于策略的访问控制(PBAC)来定义经过身份验证的用户有权访问的授权操作和资源。 每个策略描述一个或多个操作和条件,这些操作和条件概括了一个用户或一组用户的权限。 MinIO PBAC是为了兼容AWS IAM策略语法、结构和行为而构建的。 每个用户只能访问内置角色显式授予的资源和操作。 默认情况下,MinIO拒绝访问任何其他资源或操作.
即通过策略来管理用户是否有权进行操作和可访问的资源等等.
更多IMA参考: IAM 中的策略和权限 .
User:MinIO用户由唯一的access key (username) 和 对应的 secret key (password)组成.
客户端必须通过指定现有MinlO用户的有效access key (username)和相应的secret key (password)来验证其身份。 Groups提供了一种简化的方法,用于管理具有通用访问模式和工作负载的用户之间的共享权限。 User通过所属组继承对数据和资源的访问权限.
MinlO使用基于策略的访问控制(PBAC)来定义经过身份验证的用户有权访问的授权操作和资源。 每个策略描述一个或多个操作和条件,这些操作和条件概括了一个用户或一组用户的权限。 每个用户只能访问内置角色显式授予的资源和操作.
默认情况下,MinlO拒绝访问任何其他资源或操作.
创建User.
Groups可以有一个附加的IAM策略,该组中具有成员资格的所有用户都继承该策略。 Groups支持更简化的MinIO租户用户权限管理,即可以通过用户组来管理用户组下的用户权限,多对多的关系,一个组下面有可以选择多个组员,一个组员可以属于多个用户组.
创建一个组.
确认创建成功.
设置Groups的Policy.
勾选已创建的Policy.
确认创建完成.
关联策略,关联用户成员,从而实现更方便的批量权限管理.
Metrics指标,MinIO 支持 Prometheus 用于指标和警报。 Prometheus 是一个开源系统和服务监控系统 支持基于收集的指标进行分析和警报。 Prometheus 生态系统包括多个 integrations ,允许广泛的处理和存储范围收集的指标.
MinIO 发布了 Prometheus 兼容的集群获取endpoint和节点级指标。 看 指标 为了 更多信息。 对于警报,请使用 Prometheus Alerting Rules 和 Alert Manager 根据收集的指标触发警报.
MinIO 使用 Prometheus 兼容数据发布收集的指标数据结构。 任何与 Prometheus 兼容的抓取软件都可以获取和处理 MinIO 指标以进行分析、可视化和警报.
如下图所示,可以看到基本信息相关的监控指标.
追踪,选择那些Trace的调用,然后开启Trace,下面就会记录所有的Trace,如时间,名称。状态,等等.
时间通知,MinIO桶通知允许管理员就某些对象或桶事件向受支持的外部服务发送通知。MinIO支持桶级和对象级S3事件,类似于Amazon S3事件通知.
本质是Minio操作完成后通过事件的形式对外进行通知.
Minio支持多种事件的通知,如下图所示:
对象生命周期管理:Tiering由MinIO对象生命周期管理使用,它允许创建基于时间或日期的对象自动转换或到期规则。对于对象迁移,MinIO会自动将对象迁移到已配置的远端存储层.
对于对象到期,MinIO 会自动删除该对象。 即对象生命周期可以用户自定义管理,但是对象过期了处理方式,Minio提供了两种选择,要么直接删除该对象,要么把该对象转换到远端的存储服务上去.
MinIO支持创建对象转移的生命周期管理规则,MinIO可以自动将对象移动到远程存储“Tiering”: MinIO支持以下Tier类型
复制站点:网站复制,此特性允许将使用相同外部IDentity Provider (IDP)的多个独立MinIO站点(或集群)配置为副本。.
即复制一个副本出来,到目标网站,快速搭建集群,以及迁移,无需再繁琐的配置等.
如下图所示,填写对应的站点信息,包括名字、端地址、Access Key,Secret Key。 需要填写本站的,目标站的,目标站可以多个.
MinIO Client mc命令行工具提供了ls、cat、cp、mirror和diff等命令,支持文件系统和Amazon s3兼容的云存储服务.
mc命令行工具是为与AWS S3 API兼容而构建的,并在MinIO和AWS S3上测试了预期的功能和行为.
安装mc:
[root@master01 minio]# curl https://dl.min.io/client/mc/release/linux-amd64/mc \
--create-dirs \
-o /usr/local/bin/mc
[root@master01 minio]# chmod +x /usr/local/bin/mc
[root@master01 minio]# mc --autocompletion #mc自动补全
[root@master01 minio]# mc --help
连接minio: 使用mc alias set命令将Amazon s3兼容的服务添加到mc配置中,将alias替换为要关联到S3服务的名称。 mc命令通常需要alias作为参数来标识要对哪个S3服务执行,如果省略ACCESS_KEY和SECRET_KEY,执行命令时会提示在CLI中输入这些值.
[root@master01 minio]# mc alias set myminio https://api.linuxsb.com minio minio123
Added `myminio` successfully.
[root@master01 minio]# mc admin info myminio
[root@master01 ~]# mc mb myminio/mybucket02 #创建bucket
[root@master01 ~]# mc ls myminio #列出bucket
[2024-09-06 04:14:49 CST] 0B mybucket/
[2024-09-09 07:29:20 CST] 0B mybucket02/
[root@k8s-master ~]# mc rb myminio/mybucket02 #删除没有object的bucket
[root@k8s-master ~]# mc rb myminio/mybucket02 --force #强制删除bucket,即使含有文件
[root@master01 ~]# echo "This is my test file!" > test01.txt
[root@master01 ~]# mc cp test01.txt myminio/mybucket/test01.txt #上传测试文件
[root@master01 ~]# mkdir testdir #创建测试目录
[root@master01 ~]# echo "This is my test02 file!" > testdir/test02.txt
[root@master01 ~]# mc cp testdir myminio/mybucket --recursive #上传测试目录,且递归上传
[root@master01 ~]# mc ls myminio/mybucket #查看minio存储
[2024-09-10 09:32:04 CST] 22B STANDARD test01.txt
[2024-09-10 09:32:45 CST] 0B testdir/
[root@master01 ~]# mkdir download
[root@master01 ~]# mc cp myminio/mybucket/test01.txt download/ #下载文件
[root@master01 ~]# mc cp myminio/mybucket/testdir download/ --recursive #下载目录,且递归下载
[root@master01 ~]# ll download/ #查看文件
total 4.0K
-rw-r--r-- 1 root root 22 Sep 10 09:33 test01.txt
drwxr-xr-x 2 root root 24 Sep 10 09:34 testdir
[root@master01 ~]# ll download/testdir/
total 4.0K
-rw-r--r-- 1 root root 24 Sep 10 09:34 test02.txt
[root@master01 ~]# mc rm myminio/mybucket/test01.txt #删除文件
[root@master01 ~]# mc rm myminio/mybucket/testdir --recursive --force #删除目录,即使包含文件
[root@master01 ~]# mc ls myminio/mybucket #查看minio存储
列出 MinIO 上的所有预设策略.
[root@master01 ~]# mc admin policy list myminio
diagnostics
mypolicy
readonly
readwrite
writeonly
consoleAdmin
[root@master01 ~]# mc admin policy remove myminio listbucketsonly
创建一个新的policy.
[root@master01 ~]# vim listbucketsonly.json #编写新的策略规则
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": [
"arn:aws:s3:::*"
]
}
]
}
[root@master01 ~]# mc admin policy create myminio listbucketsonly ./listbucketsonly.json
[root@master01 ~]# mc admin user add myminio newuser newuser123
Added user `newuser` successfully.
[root@master01 ~]# mc admin user add myminio newuser02 newuser123
Added user `newuser02` successfully.
[root@master01 ~]# mc admin user add myminio newuser03 newuser123
Added user `newuser03` successfully.
[root@master01 ~]# mc admin user disable myminio newuser
Disabled user `newuser` successfully.
[root@master01 ~]# mc admin user enable myminio newuser
Enabled user `newuser` successfully.
[root@master01 ~]# mc admin policy attach myminio listbucketsonly --user newuser
Attached Policies: [listbucketsonly]
To User: newuser
[root@master01 ~]# mc admin group add myminio somegroup newuser
Added members `newuser` to group `somegroup` successfully.
[root@master01 ~]# mc admin group add myminio somegroup newuser02
Added members `newuser02` to group `somegroup` successfully.
[root@master01 ~]# mc admin policy attach myminio listbucketsonly --group somegroup
Attached Policies: [listbucketsonly]
To Group: somegroup
[root@master01 ~]# mc admin user list myminio
enabled newuser listbucketsonly
enabled newuser02
enabled newuser03
[root@master01 ~]# mc admin user list myminio --json
{
"status": "success",
"accessKey": "newuser02",
"userStatus": "enabled"
}
{
"status": "success",
"accessKey": "newuser03",
"userStatus": "enabled"
}
{
"status": "success",
"accessKey": "newuser",
"policyName": "listbucketsonly",
"userStatus": "enabled",
"memberOf": [
{
"name": "somegroup",
"policies": [
"listbucketsonly"
]
}
]
}
[root@master01 ~]# mc admin user info myminio newuser
AccessKey: newuser
Status: enabled
PolicyName: listbucketsonly
MemberOf: [somegroup]
[root@master01 ~]# mc admin user remove myminio newuser03
Removed user `newuser03` successfully.
创建用户组并添加用户 。
[root@master01 ~]# mc admin group remove myminio somegroup newuser02
Removed members {newuser02} from group somegroup successfully.
[root@master01 ~]# mc admin group list myminio
mygroups
somegroup
[root@master01 ~]# mc admin group disable myminio somegroup
Disabled group `somegroup` successfully.
[root@master01 ~]# mc admin group enable myminio somegroup
Enabled group `somegroup` successfully.
[root@master01 ~]# mc admin group info myminio somegroup
Group: somegroup
Status: enabled
Policy: listbucketsonly
Members: newuser
[root@master01 ~]# mc admin group remove myminio somegroup
mc: <ERROR> Could not perform remove operation. The specified group is not empty - cannot remove it. (Specified group is not empty - cannot remove it).
[root@master01 ~]# mc admin group info myminio somegroup #查看用户组信息
Group: somegroup
Status: enabled
Policy: listbucketsonly
Members: newuser
[root@master01 ~]# mc admin group remove myminio somegroup newuser #删除仅存的用户
Removed members {newuser} from group somegroup successfully.
[root@master01 ~]# mc admin group remove myminio somegroup #再次删除用户组
Removed group somegroup successfully.
[root@master01 ~]# mc admin config export myminio #获取集群配置
[root@master01 ~]# mc admin config export myminio > my-serverconfig #获取集群配置并重定向至文件
mc工具 。
[root@master01 ~]# mc admin info --debug myminio
指定显示格式.
[root@master01 ~]# mc admin info myminio --json
service命令提供了一种重新启动和停止所有 MinIO 服务器的方法.
[root@master01 ~]# mc admin policy --help
[root@master01 ~]# mc admin service restart myminio
Service status: ▰▰▱ [DONE]
Summary:
┌───────────────┬─────────────────────────────┐
│ Servers: │ 4 online, 0 offline, 0 hung │
│ Restart Time: │ 1.133381597s │
└───────────────┴─────────────────────────────┘
curl工具参考: curl客户端使用 .
最后此篇关于006.MinIO基础使用的文章就讲到这里了,如果你想了解更多关于006.MinIO基础使用的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
vue3 快速入门系列 - 基础 前面我们已经用 vue2 和 react 做过开发了。 从 vue2 升级到 vue3 成本较大,特别是较大的项目。所以许多公司对旧项目继续使用vue2,新项目则
C# 基础 C#项目创建 这里注意win10虚拟机需要更新下补丁,不然直接下载visual studio 2022会显示版本不支持 HelloWorld C#的类文件都是以.cs结尾,入口方法为sta
关于 iPhone 内存管理的非常基本的问题: 假设我有一个 viewController,其中有几个 subview 也由 viewController 控制。当我删除顶部 viewControll
我仍在努力适应指针。不是概念——我理解内存位置、匹配可变长度的指针增量等——这是语法。这是一个我认为是我感到困惑/无法直观把握的原因之一: int a = 42; 在一个int大小的内存空间中分配并放
1. 简介 Kafka(Apache Kafka) 是一种分布式流数据平台,最初由LinkedIn开发,并于后来捐赠给Apache软件基金会,成为了一个Apache顶级项目。它被设计用于处理大规
1.想要在命令提示符下操作mysql服务器,添加系统变量。(计算机-系统属性——环境变量——path) 2.查询数据表中的数据; select selection_lis
MySQL表的增删改查(基础) 1. CRUD 注释:在SQL中可以使用“–空格+描述”来表示注释说明 CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Dele
我有一个网页,可以在加载时打开显示模式,在这个模式中,我有一个可以打开第二个模式的链接。当第二个模式关闭时(通过单击关闭按钮或单击模式外部),我想重新打开第一个模式。 对于关闭按钮,我可以通过向具有
使用 Core Data Fetched Properties,我如何执行这个简单的请求: 我希望获取的属性 ( myFetchProp ) 存储 StoreA ,它应该这样做: [myFetchPr
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 8年前关闭。 Improve this
最近,我得到了一个现有的Drupal项目,并被要求改进前端(HTML,JavaScript,CSS)。我在Django,PHP,Ruby等方面具有大量的前端和后端开发经验,但是我没有任何Drupal经
我试图让我的用户通过使用扫描仪类来决定要做什么,但我有一个问题,代码一旦运行就不会激活,并且它不会让我跳过任何行。我的代码如下所示: Scanner input = new Scanner(S
对模糊的标题表示歉意,因为我想不出这个名字是什么。 基本上创建一个计算学生财务付款的小程序。当我运行它时,它计算对象限额没有问题。然而,无论我尝试什么,对象“助学金”似乎除了 0 之外什么也没有提出。
这是我的代码 - main() { double x; double y = pow(((1/3 + sin(x/2))(pow(x, 3) + 3)), 1/3); prin
如果我的术语在这个问题上有误,我们深表歉意。 采取以下功能: i = 1; v = i * 2; for (j = 0; j < 4; j++ ) { console.log(v);
我的应用程序中有不同的类文件。我有 5 个类,其中 2 个是 Activity ,1 个是运行的服务。其他 2 个只是类。这两个类中变量的生命周期是多少。我知道一个 Activity 可以被操作系统杀
例如,一个方法返回一个 List 类型的对象。 public List bojangles () ... 一些代码调用方法FooBar.bojangles.iterator(); 我是 Java 的新
我遇到了一个奇怪的问题,网格的大小不适合我的屏幕。当我使用 12 列大时,它只占据屏幕的 1/3 的中间,请参见图像。我不确定是什么导致了这个问题。我没有任何会导致这种情况发生的奇怪 CSS。我不会在
我尝试使用头文件和源文件,但遇到了问题。因此,我对我正在尝试做的事情做了一个简化版本,我在 CodeBlocks 中遇到了同样的错误(undefined reference to add(double
我正在为我的网格系统使用基础,但这在任何网格系统中都可能是一个问题。我基本上用一个容器包裹了 3 个单元格,但其中一个单元格应该长到页面边框(留在我的 Sampe-Image 中)但这也可能在右侧)。
我是一名优秀的程序员,十分优秀!