
读者朋友们,如今大多数组织都采用了微服务架构,其余的也在计划向其迁移,其中一个重要原因是使他们的应用程序对顾客们高度可用。出于这个原因,许多组织使用了kubernetes平台,这样他们就能拥有零停机的高可用能力,因为kubernetes有许多重要的关键功能,如复制、负载平衡、自动扩展等。但是,如果你认为这些功能只是使应用程序高度可用的要求?
答案是否定的,因为当应用程序顺利运行时,这些功能使任何应用程序高度可用。那么,在发生任何灾难的时候呢?当一个应用程序有一个良好的备份恢复计划,并与kubernetes的这些功能一起设置时,它就成为完美的高可用性。
在这篇博客中,我们将讨论在微服务架构上运行的应用程序的备份和恢复,并了解Kubernetes的备份和恢复与K10。
Kubernetes中的备份需求
- 业务持续性。Kubernetes备份解决方案必须确保停机时间很少,并且在停机或数据丢失后,应用程序及其数据可以快速恢复。
- 数据保护。数据保护策略需要确保数据隐私和监管合规性(如GDPR和CCPA),随着越来越多的用户将其关键数据暴露在网上,这一点变得非常重要。没有适当的保护,应用程序和数据仍然容易受到潜在的损失和损坏。
- 灾难恢复。Kubernetes备份减少了数据和应用程序的意外中断的风险。
- 迁移。Kubernetes备份软件可以帮助企业将其Kubernetes集群迁移到新版本的Kubernetes,或从企业内部迁移到云端。
确保适当备份和数据保护的步骤
Kubernetes备份的主要阶段大致包括。
-
发现。使用标签选择器或命名空间执行自动发现应用程序。
-
识别资源。识别应用程序、卷、配置文件和要保护的Kubernetes集群。
-
备份。完成对已识别的资源的备份到指定的目的地。
到目前为止,我们已经了解了为什么Kubernetes备份很重要,以及我们应该如何确保正确的备份。为了使我们的工作变得简单,市场上有许多数据管理和备份的平台,但Kasten K10是最受欢迎的备份和数据管理平台之一。
Kasten的软件名为K10,为云原生应用程序和应用程序迁移提供备份和恢复。
为什么是Kasten K10?
-
为Kubernetes而建。K10建立在云原生架构上,遵循期望状态(desired-state)模型,为我们提供声明式控制。

-
易于使用。通过最先进的管理界面或云原生API,易于使用。它具有多功能性,可以轻松适应复杂的应用。

-
端到端的安全性。它通过企业级加密、IAM角色、RBAC、OpenID连接提供全面的端到端安全。

-
多集群管理。Kasten K10拥有多集群管理仪表板,在单一平台上处理多集群。它就像一站式服务。

-
丰富的生态系统。通过对生态系统组件的广泛支持,支持用户选择为工作挑选工具或基础设施。

在Kubernetes集群中安装K10
前置条件
- Kubernetes集群。
- Helm 3.0安装在一台本地机器上。

我们将通过helm在已经创建的kubernetes集群中安装Kasten K10。在安装之前,我们将为K10创建一个命名空间。
Kubectl create namespace k10

-
在demo-app命名空间中部署应用程序。
kubectl apply -f https://k8s.io/examples/application/guestbook/redis-leader-deployment.yaml -n demo-app -
新加kasten K10 helm仓库。
helm repo add kasten https://charts.kasten.io/ -
安装K10。
helm install kasten/k10 -n k10 --generate-name

现在在localhost上进行port-forward k10:
kubectl port-forward service/gateway -n k10 8080:8000


我们现在可以看到K10仪表板,我们已经成功地在我们的kubernetes集群中安装了K10。

如何用K10进行kubernetes备份和恢复
在Dashboard中,我们可以看到一个名为Application的部分,其中有两个未被管理的应用程序,它们是我们在kubernetes集群中各自命名空间中部署的应用程序。这些应用程序未被管理是因为我们没有为它们制定任何备份策略。


现在我们为备份策略创建配置文件。

在这里,我们必须给出配置文件名称和我们想要发送kubernetes集群的备份快照的地方。我们将使用AWS S3存储位置,所以我们必须给出AWS IAM访问密钥、密钥和S3桶的名称,以存储快照。


现在我们将创建备份策略。


在创建策略后,提供了快照的频率,比如它将每天运行,并运行一次以检查策略是否正常运行。我们可以看到,在下面的图片中,策略正常运行,kubernetes集群中的所有应用程序现在都在投诉区,之前是在非管理区,它还创建了一个恢复点,以便将来恢复。

现在,如果我们在行动中看到k10在备份快照中通过点击策略运行考虑了哪些事情。

我们还将检查它存储所有快照的S3桶。

现在我们将检查从集群中删除这些应用程序后恢复集群中的应用程序。
kubectl delete namespace demo-app


在还原点中运行给定的命令:
kubectl get --raw /apis/apps.kio.kasten.io/v1alpha1/restorepointcontents/demo-app-scheduled-22mhcxjqzw

总结
在这篇博客中,我们看到了数据管理的重要性,kubernetes的备份,以及我们如何在Kasten K10平台的帮助下轻松地对kubernetes集群进行备份。感谢你坚持到最后。如果你喜欢这个博客,请不要忘记通过点击喜欢、评论和分享这个博客来表示你的喜欢,并给我建议如何改进文章以满足你的需求。
原文标题:Kubernetes Backup and Restoration with K10
原文作者: abhishek
原文地址:https://blog.knoldus.com/kubernetes-backup-and-restoration-with-k10/




