Kubernetes最初因其作为部署和编排分布式系统上容器化工作负载的首选平台而广受欢迎,但该平台正在证明其提供的功能远不止编排。由于Kubernetes能够将基础设施视为代码,因此它正迅速成为企业的主要控制和管理点。
Kubernetes架构和对象存储
Kubernetes旨在自动化应用程序的部署、扩展和管理,提供一个软件控制的基础设施,从而抽象化底层硬件的复杂性。Kubernetes验证软件是否在硬件上正常运行,并且当硬件发生故障时,软件只需简单地移动到其他位置。硬件只是一组抽象,作为资源提供给应用程序。然后,这些抽象在Kubernetes的统一界面中进行管理。
应用程序被分解成微服务,以可移植且独立部署的容器的形式运行。工作负载的期望状态被声明,Kubernetes确保实际状态与期望状态一致,自动排查故障并修复故障,很多时候只需简单地重新启动无响应的容器即可。容器必须是不可变且无状态的,以防止在重新启动时发生数据丢失或损坏。当需要状态时,不可变容器将数据和配置信息保存在容器外部。
可扩展的对象存储
Kubernetes 通过运行无需依赖底层硬件和软件的可移植容器来实现大规模扩展。可移植容器不能依赖本地存储硬件,因为它是不可移植的。当应用程序可以通过快速的数据中心网络访问数据时,存储无需位于本地。
在企业环境中,这说起来容易做起来难。对于通常在SAN和NAS设备上运行的传统存储格式(如文件和块),Kubernetes存在问题。这些存储类型依赖于POSIX,但POSIX是为本地访问而构建的,随着现代分析应用程序的数据和分析这些数据的要求呈指数级增长,它遇到了瓶颈。即使在本地,如果并行文件操作过多,也会发生POSIX元数据争用和损坏。
分布式对象存储不会遇到POSIX带来的限制。对象存储不提供编辑功能,因此可以获得顺序I/O和更简单的锁定机制带来的好处。在快速网络上,分布式对象存储系统将胜过传统的POSIX兼容文件系统,尤其是在处理并发并行请求时。
对象存储克服了使用外部文件和块存储以及Kubernetes的局限性和复杂性。最好的对象存储非常类似于Kubernetes本身——分布式、解耦、声明式和不可变的。
为了为DevOps提供最大功能并为IT节省时间,Kubernetes原生对象存储通过Kubernetes本身进行管理、保护和自动化,从而支持跨私有云、多云、混合云和公共云环境的工作负载。
使用MinIO的Kubernetes原生对象存储
我们将MinIO迁移到Kubernetes框架中,以简化和自动化存储桶和对象的供应、保护和持续管理。我们还添加了一套功能,以简化Kubernetes原生对象存储的部署,尤其是在多租户环境中。
MinIO Kubernetes Operator将所有关键DevOps任务封装到软件中,该软件用于创建和管理大型对象存储基础设施,而与底层硬件无关。MinIO Kubernetes插件扩展了熟悉的kubectl命令集,以添加一套简单的子命令来创建、配置和管理Kubernetes上的MinIO部署。
Operator控制台是一个图形用户界面,非常简单,组织中的任何人都可以创建、部署和管理对象存储。这真正为企业实现了自助式对象存储。

MinIO控制台在基于浏览器的直观GUI中提供了与我们的mc CLI相同的功能和简易性,该GUI具有一个仪表板,可以通过Prometheus和MinIO指标端点可视化行业标准监控。

IT管理员现在可以通过Kubernetes获得简化的点击式体验来管理对象存储,而无需编写Helm图表或YAML。基于浏览器的界面简化了配置和管理存储桶、用户和组及其策略和设置等流程。新用户和存储桶可以通过OpenID Connect和ActiveDirectory/LDAP手动添加或只需点击几下即可添加。

体验卓越的对象存储
MinIO的高性能、Kubernetes原生对象存储套件为运行Kubernetes的企业IT和DevOps团队提供了始终如一且高效的体验。MinIO可以在任何地方运行,包括Red Hat OpenShift、VMware Tanzu、SUSE、HP Ezmeral、Azure AKS、Google GKE、Amazon EKS以及标准的Upstream Kubernetes。超过58%的财富500强企业以某种形式依赖MinIO来提供公共云、私有云、多云、混合云和边缘环境中的对象存储层。
下载MinIO并亲自试用。从我们的教程开始,使用Kubernetes和MinIO的Operator简化对象存储即服务。