对象存储是一种用于存储和管理大规模非结构化数据的技术。与传统的文件系统或块存储相比,对象存储提供了更高的可扩展性、灵活性和可靠性,因此在当今数字化时代的数据管理中越来越受欢迎。
一、为什么需要对象存储
对于对象存储的需要,绝非一蹴而就的,对象存储之所以被广泛采用,主要是由于它与传统的文件系统、数据库和分布式数据库等技术相比具有以下几个明显的优势
对象存储的出现也和云原生的发展有着密切相关,以 kubernetes 为核心的架构下,对于分布式且大规模的存储有了更高的要求
二、对象存储的使用
课上以阿里云的对象存储为例讲了对象存储的使用方式,这里将以 minio 为核心在 kubernetes 中运行一个对象存储服务
MinIO 介绍
简单介绍下 MinIO:MinIO是一种高性能、分布式对象存储系统,它兼容Amazon S3接口。
其拥有对象存储的全部优点,但相比这些选用 MinIO 的核心原因是它开源
MinIO 使用
为了在 kubernetes 上使用 minio 首先当然是先拥有 kubernetes 环境,这里推荐使用 minikube 或 sealos 在本地快速启用一个 kubernetes 环境,这部分不做更多介绍
MinIO Object Storage for Kubernetes
get
curl https://raw.githubusercontent.com/minio/docs/master/source/extra/examples/minio-dev.yaml -O
deploy
kubectl apply -f minio-dev.yaml
export
kubectl port-forward pod/minio 9090 9090 -n minio-dev (--address 0.0.0.0)
为了暴露 minio 的服务有多种方式,可以选择配置 service 进行访问,如果拥有公网 IP 也可以通过 ingress 暴露到公网环境,不过我们这里就以端口转发的形式暴露到本机中了
如果你的 kubernetes 运行在只有终端的非本地 linux 环境的话,也可以通过 ssh 进行端口转发的形式在本地进行访问 ssh port-forwarding
visit
通过访问 127.0.0.1:9090 即可访问,且默认用户,密码都为 minioadmin
主要就是通过 buckets 和 access keys 两个面板进行桶和密钥的创建
minio 的部署以及登录使用就介绍到这里了,可以自行探索 kubernetes 以及 minio 的高阶玩法
总结
说了那么多,对象存储就是一种新型存储技术,其通过对象和元数据的管理方式,使得存储和访问大规模非结构化数据变得更加简单和可靠。随着数字化时代数据量的不断增长,对象存储将继续发挥重要作用,为企业和个人提供高效的数据管理解决方案。