此时会输出S3的Access Key和Secret Key。创建的Bucket名为data。
验证Object Storage是否部署成功,首先执行下面的命令进入Rook Toolbox:
然后执行:
export AWS_HOST=<host> export AWS_ENDPOINT=<endpoint> export AWS_ACCESS_KEY_ID=<accessKey> export AWS_SECRET_ACCESS_KEY=<secretKey>为rgw Service的DNS主机名。如果你的Object Storage名为my-store,那么主机名就是rook-ceph-rgw-my-store.rook-ceph
为rgw Service的端点。执行kubectl -n rook-ceph get svc rook-ceph-rgw-my-store,然后将ClusterIP和端口号拼接起来作为endpoint的值
accessKey:上一步获得的Access Key
secretKey:上一步获得的Secret Key
以下是一个例子:
接下来,安装一个s3cmd的工具:
yum --assumeyes install s3cmd然后随便写一些内容到rookObj文件:
echo "Hello Rook" > /tmp/rookObj然后通过s3cmd,将这个文件保存到S3:
s3cmd put /tmp/rookObj --no-ssl --host=${AWS_HOST} --host-bucket= s3://data注意--host-bucket=后的空格。
然后,使用s3cmd从Bucket将文件下载并另存为另一个文件:
最后,通过cat命令,查看下载下来的文件的内容是否正确:
cat /tmp/rookObj-download如果能够看到Hello Rook的输出字样,表示一切正常。接下来就可以在app中使用Ceph Block Storage和Ceph Object Storage了。
部署对象存储的详细内容可以参考:https://rook.io/docs/rook/v1.5/ceph-object.html。
下一步之后我会使用Microsoft .NET 5,编写一个Web API应用程序并部署到Kubernetes环境,演示如何在app中使用本文所部署的Ceph Block Storage和Ceph Object Storage。