在回答这个问题之前,首先应对“云原生”的概念进行界定:
云原生(Cloud Native)是一种构建和运行应用程序的方法,它充分利用了云计算的优势。云原生应用程序通常是由微服务架构构建的,支持容器化部署和自动扩展。这种方法可以提高应用程序的可扩展性、弹性和敏捷性,从而更好地应对不断变化的业务需求。
根据 CNCF 的定义,“云原生”是一种构建和运行应用程序的方法,它利用容器技术实现应用程序的可移植性,基于声明式API进行自动化管理,采用不可变基础设施保证系统稳定性,通过微服务架构提升可扩展性,以及使用服务网格实现服务间的高效通信和治理。
因此,“云原生存储”应该符合以上特点,与传统存储产品相比,在形态上有以下几个主要区别:
a. 高度集成:云原生存储通常与容器编排平台(如Kubernetes)紧密集成,可以自动管理容器中的存储卷。这种集成可以简化运维流程,提高运维效率。
b. 动态扩展:云原生存储支持动态扩展,可以根据应用程序的需求自动调整存储容量。这种动态扩展能力有助于优化资源利用率,降低成本。
c. 软件定义:云原生存储通常以软件定义的形式,可以分布式地部署在私有云、公有云、多云和混合云环境,并提供跨云环境中的数据一致性和持久性,这种灵活性可以帮助企业避免与硬件存储供应商锁定。
d. 应用驱动:通过使用声明式 API 和自定义资源定义(CRD),云原生存储应当可编程,可作为“基础设施即代码(IaC)”进行管理,以便在应用的生命周期中随时调整存储配置。
因此,云原生存储的运维,应当与“云原生平台”(当前主要是基于 Kubernetes 的容器平台)的运维保持一致,采用标准化、自动化、简单化的方法,比如:通过 Kubernetes API 和生态工具链完成存储状态初始化、资源用量统计分析、状态监控、日志、告警、升级、自动伸缩、自动恢复或重置、访问控制、认证和授权等工作。
收起