如今,越来越多的Kubernetes工作负载投入生产,企业在获得灵活性和可扩展性的同时,也面临着前所未有、与众不同的数据保护挑战。
这其中涉及几个关键问题:
▶ 企业需要确保合规
▶ 数据保护的可移植性
▶ 可能对集群产生的潜在负面影响
究其本质,使用Kubernetes,企业IT必须以应用程序为中心。一个应用程序工作负载可以由数百个组件组成并横跨多个容器。容器是短暂的,只是一个存放的地方。Kubernetes数据保护侧重于应用程序,而不是容器。
Veritas围绕运营简便性、企业级弹性、选择和灵活性三大核心价值主张,针对Kubernetes工作负载保护进行了全新的设计。
操作简单
备份管理员无需成为Kubernetes专家,即可保护K8s环境。Veritas的备份和恢复解决方案使用Kubernetes原生结构,已经简单的WebUI。
Kubernetes-native和API集成
NetBackup使用Helm图表,这也是客户部署所有其他Kubernetes资源的方式。
同时提供一整套带有RBAC(基于角色访问控制)的Restful API,为最终用户提供自助服务。这样可与他们的CI/CD管道和原生工具保持一致。
在NetBackup 8.2版本中,用户可使用Swagger界面在自己的环境中测试NetBackup API,https://<master-server-name>/api-docs/index.html
高效执行
具有RBAC控制和API驱动工作流的自助式无代理管理支持任务委派,这样,用户可以显著减少在管理活动上花费的时间,并为影响更大的功能释放资源。
简化管理
NetBackup提供一个简单易用的WebUI以支持备份和恢复Kubernetes工作负载。用户只需单击几下,就可以轻松管理Kubernetes保护作业。同时,还可以使用标签自动执行保护作业。
企业级弹性
在不影响或中断关键任务应用程序的情况下保护用户的环境。方案使用弹性的Kubernetes结构构建,可与用户环境无缝结合,部署和工作。
以应用为中心
Kubernetes由许多抽象层组成,这些抽象层包装了应用程序及其数据,并为容器编排服务提供了接口。例如,底层存储通过Kubernetes Persistent Volumes(PV)提供给Pod。它们允许为应用程序分配特定数量的存储并配置写入/读取访问权限、I/O限制、存储安全等。类似地,还有许多其他对象,例如Secrets、Service Accounts和Jobs,控制Pod中的容器如何通信以及各种微服务如何访问数据等。
传统的数据保护工具不知道如何与这些抽象进行交互,以进行真正的应用程序备份,这其中包括Kubernetes对象、应用程序配置和数据等。Veritas NetBackup可识别Kubernetes并无缝保护用户的应用程序。NetBackup支持发现并协调构成应用程序的所有组件的快照和恢复,包括所有持久卷、配置文件和自定义资源。
△ 一个NetBackup客户端支持多个应用Pod
△ 在应用程序Pod中部署NetBackup客户端容器
快照
容器存储接口(CSI)是一种标准,用于将任意块和文件存储系统暴露给Kubernetes等容器编排系统(CO)上的容器化工作负载。Kubernetes有一个通用的CSI插件,可以与任何处于测试阶段的存储一起使用。许多存储供应商也在编写自己的CSI插件来专门用于其存储阵列。
NetBackup通过CSI插件利用Kubernetes原生快照。原生快照不会影响性能并提供永远在线的云操作的可用性。
大规模恢复
用户只需单击一下,即可恢复一至数千个命名空间,灵活、大规模地恢复任意工作负载。
灵活恢复
NetBackup为用户提供恢复灵活性。备份一次,可从任何级别的灾难中恢复。用户可将命名空间、单个资源或仅关联的持久卷中的整个工作负载恢复到同一个或备用Kubernetes集群。
安全
用户并不想在他们的环境中部署需要超级访问权限的组件。Kubernetes操作员只需最低访问权限,这意味着无需拥有完整的Kubernetes管理员权限,即可部署和运行Kubernetes备份操作。
选择和灵活性
支持任意存储
利用CSI插件支持任何具有生产就绪CSI插件的存储。已完成VMware vSphere存储和Google Persistent Disk的存储验证。
采用任何云
使用Kubernetes原生API,可支持任何本地和云分发版本。设计旨在支持随时随地备份和恢复。
基础设施即代码
一整套API和Helm图表集成,为用户提供了构建自定义工作流以适应CI/CD管道的选择和灵活性。API和CI/CD管道很重要,Veritas为客户提供了一套完整的Restful API。用户可以使用swagger检查这些API的格式和示例,构建自己的自定义自动化工作流,与Veritas的GitHub社区共享,或利用其他人已经共享的工作流。
▼☟▼NetBackup API代码示例。