如何检查 Noobaa 存储桶的内容
How to check content of a Noobaa bucket
我可以使用 noobaa bucket status <bucket>
命令检查 Nooba 存储桶的状态。
$ noobaa bucket status XYZ
INFO[0005] ✅ Exists: NooBaa "noobaa"
INFO[0005] ✅ Exists: Service "noobaa-mgmt"
INFO[0006] ✅ Exists: Secret "noobaa-operator"
INFO[0006] ✅ Exists: Secret "noobaa-admin"
INFO[0008] ✈️ RPC: bucket.read_bucket() Request: {Name:XYZ}
INFO[0010] ✅ RPC: bucket.read_bucket() Response OK: took 14.3ms
Bucket status:
Bucket : XYZ
OBC Namespace : xyz-namespace
OBC BucketClass : default-bucket-class
Type : REGULAR
Mode : OPTIMAL
ResiliencyStatus : OPTIMAL
QuotaStatus : QUOTA_NOT_SET
Num Objects : 1
Data Size : 3.000 B
Data Size Reduced : 5.000 B
Data Space Avail : 1.000 PB
但我无法检查 Noobaa 存储桶中的内容。
我们如何查看 Noobaa 存储桶的内容?使用 Noobaa CLI 或任何其他方式?
你的问题让我意识到 noobaa CLI 应该有 noobaa object list
命令所以我在 operator github 仓库上打开了一个 new issue for this enhancement。谢谢:)
在此添加之前,我们可以使用多种方式列出对象:
运行 noobaa ui
- 请注意它会快速打开浏览器,但在终端上它会打印用于登录的凭据。您可能可以自己找到存储桶并深入了解 UI 中的对象,您还可以查看一些导航 UI 的录制视频 - 例如 this video。
从 noobaa status
获取管理员 S3 凭据和端点,然后使用您最喜欢的 s3 客户端 - 我目前使用 aws-cli 或 rclone:
alias s3='AWS_ACCESS_KEY_ID=$NOOBAA_ACCESS_KEY AWS_SECRET_ACCESS_KEY=$NOOBAA_SECRET_KEY aws --endpoint $NOOBAA_S3_ENDPOINT --no-verify-ssl s3'
然后:
s3 ls XYZ
没有多少人注意到,但 NooBaa 系统 CR 在其状态中包含一个有用的自述文本,其中包含 "Test S3 client" 命令 - 准备好复制粘贴以设置您的 aws-cli,包括kubectl port-forward 以支持安全网络和从秘密中读取凭证。用 kubectl describe noobaa
检查一下。 This 40 seconds youtube video 简要说明了这一点。顺便说一句,自述文本是为系统生成的,但它的文本不包含实际的秘密,只有 kubectl 命令在允许的情况下读取这些秘密。
$ kubectl describe noobaa
...
Phase: Ready
Readme:
Welcome to NooBaa!
-----------------
NooBaa Core Version: 5.3.0-9f579d9
NooBaa Operator Version: 2.1.0
Lets get started:
1. Connect to Management console:
Read your mgmt console login information (email & password) from secret: "noobaa-admin".
kubectl get secret noobaa-admin -n backup-service -o json | jq '.data|map_values(@base64d)'
Open the management console service - take External IP/DNS or Node Port or use port forwarding:
kubectl port-forward -n backup-service service/noobaa-mgmt 11443:443 &
open https://localhost:11443
2. Test S3 client:
kubectl port-forward -n backup-service service/s3 10443:443 &
NOOBAA_ACCESS_KEY=$(kubectl get secret noobaa-admin -n backup-service -o json | jq -r '.data.AWS_ACCESS_KEY_ID|@base64d')
NOOBAA_SECRET_KEY=$(kubectl get secret noobaa-admin -n backup-service -o json | jq -r '.data.AWS_SECRET_ACCESS_KEY|@base64d')
alias s3='AWS_ACCESS_KEY_ID=$NOOBAA_ACCESS_KEY AWS_SECRET_ACCESS_KEY=$NOOBAA_SECRET_KEY aws --endpoint https://localhost:10443 --no-verify-ssl s3'
s3 ls
...
最后一个选项,本来应该先提的,可惜我刚刚看到它在当前版本v2.1.0(打开new issue)中被破坏了,就是使用通用noobaa api
命令以便像这样调用 object_api list_objects 方法:
noobaa api object list_objects '{ "bucket": "first.bucket" }'
希望对您有所帮助,随时打开 github issues with suggestions/issues。
谢谢!
(NooBaa 首席技术官)
我可以使用 noobaa bucket status <bucket>
命令检查 Nooba 存储桶的状态。
$ noobaa bucket status XYZ
INFO[0005] ✅ Exists: NooBaa "noobaa"
INFO[0005] ✅ Exists: Service "noobaa-mgmt"
INFO[0006] ✅ Exists: Secret "noobaa-operator"
INFO[0006] ✅ Exists: Secret "noobaa-admin"
INFO[0008] ✈️ RPC: bucket.read_bucket() Request: {Name:XYZ}
INFO[0010] ✅ RPC: bucket.read_bucket() Response OK: took 14.3ms
Bucket status:
Bucket : XYZ
OBC Namespace : xyz-namespace
OBC BucketClass : default-bucket-class
Type : REGULAR
Mode : OPTIMAL
ResiliencyStatus : OPTIMAL
QuotaStatus : QUOTA_NOT_SET
Num Objects : 1
Data Size : 3.000 B
Data Size Reduced : 5.000 B
Data Space Avail : 1.000 PB
但我无法检查 Noobaa 存储桶中的内容。
我们如何查看 Noobaa 存储桶的内容?使用 Noobaa CLI 或任何其他方式?
你的问题让我意识到 noobaa CLI 应该有 noobaa object list
命令所以我在 operator github 仓库上打开了一个 new issue for this enhancement。谢谢:)
在此添加之前,我们可以使用多种方式列出对象:
运行
noobaa ui
- 请注意它会快速打开浏览器,但在终端上它会打印用于登录的凭据。您可能可以自己找到存储桶并深入了解 UI 中的对象,您还可以查看一些导航 UI 的录制视频 - 例如 this video。从
noobaa status
获取管理员 S3 凭据和端点,然后使用您最喜欢的 s3 客户端 - 我目前使用 aws-cli 或 rclone:alias s3='AWS_ACCESS_KEY_ID=$NOOBAA_ACCESS_KEY AWS_SECRET_ACCESS_KEY=$NOOBAA_SECRET_KEY aws --endpoint $NOOBAA_S3_ENDPOINT --no-verify-ssl s3'
然后:
s3 ls XYZ
没有多少人注意到,但 NooBaa 系统 CR 在其状态中包含一个有用的自述文本,其中包含 "Test S3 client" 命令 - 准备好复制粘贴以设置您的 aws-cli,包括kubectl port-forward 以支持安全网络和从秘密中读取凭证。用
kubectl describe noobaa
检查一下。 This 40 seconds youtube video 简要说明了这一点。顺便说一句,自述文本是为系统生成的,但它的文本不包含实际的秘密,只有 kubectl 命令在允许的情况下读取这些秘密。$ kubectl describe noobaa ... Phase: Ready Readme: Welcome to NooBaa! ----------------- NooBaa Core Version: 5.3.0-9f579d9 NooBaa Operator Version: 2.1.0 Lets get started: 1. Connect to Management console: Read your mgmt console login information (email & password) from secret: "noobaa-admin". kubectl get secret noobaa-admin -n backup-service -o json | jq '.data|map_values(@base64d)' Open the management console service - take External IP/DNS or Node Port or use port forwarding: kubectl port-forward -n backup-service service/noobaa-mgmt 11443:443 & open https://localhost:11443 2. Test S3 client: kubectl port-forward -n backup-service service/s3 10443:443 & NOOBAA_ACCESS_KEY=$(kubectl get secret noobaa-admin -n backup-service -o json | jq -r '.data.AWS_ACCESS_KEY_ID|@base64d') NOOBAA_SECRET_KEY=$(kubectl get secret noobaa-admin -n backup-service -o json | jq -r '.data.AWS_SECRET_ACCESS_KEY|@base64d') alias s3='AWS_ACCESS_KEY_ID=$NOOBAA_ACCESS_KEY AWS_SECRET_ACCESS_KEY=$NOOBAA_SECRET_KEY aws --endpoint https://localhost:10443 --no-verify-ssl s3' s3 ls ...
最后一个选项,本来应该先提的,可惜我刚刚看到它在当前版本v2.1.0(打开new issue)中被破坏了,就是使用通用
noobaa api
命令以便像这样调用 object_api list_objects 方法:noobaa api object list_objects '{ "bucket": "first.bucket" }'
希望对您有所帮助,随时打开 github issues with suggestions/issues。
谢谢!
(NooBaa 首席技术官)