【问题标题】:How to check content of a Noobaa bucket如何检查 Noobaa 存储桶的内容
【发布时间】:2020-05-21 01:58:14
【问题描述】:

我可以使用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 或任何其他方式?

【问题讨论】:

    标签: amazon-s3 bucket object-storage noobaa-data-services


    【解决方案1】:

    你的问题让我意识到 noobaa CLI 应该有 noobaa object list 命令,所以我在运营商 github 存储库上打开了一个 new issue for this enhancement。谢谢:)

    在添加之前,我们可以使用多种方式列出对象:

    1. 运行noobaa ui - 请注意它会快速打开浏览器,但在终端上它会打印凭据供您用于登录。您可能可以自己在 UI 中找到存储桶并深入了解对象,还可以查看一些在 UI 中导航的录制视频 - 例如this video

    2. 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
      
    3. 没有多少人注意到,但 NooBaa 系统 CR 在其状态中包含有用的自述文本,其中包含“测试 S3 客户端”的命令 - 准备复制粘贴以设置您的 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
      
      ...
      
    4. 最后一个选项,应该先提一下,可惜我刚刚看到在当前版本v2.1.0(打开new issue)中坏掉了,就是使用通用的noobaa api命令来调用object_api list_objects 方法如下:

      noobaa api object list_objects '{ "bucket": "first.bucket" }'
      

    希望对您有所帮助,请随时通过建议/问题打开 github 问题。

    谢谢!

    (NooBaa 首席技术官)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-27
      • 2023-03-26
      • 2021-03-27
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      相关资源
      最近更新 更多