目录
引言
KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器平台,平台内置的多租户设计,让不同的团队能够在一个平台中不同的企业空间下,更安全地从云端到边缘部署云原生应用。 其中提到的企业空间,也就是workspace,方便的隔离了企业内部团队的应用。详见 https://v2-1.docs.kubesphere.io/docs/zh-CN/platform-management/workspace-management/
如果想对上述workspace进行备份,首先需要了解workspace中包含的资源:
- 一个 name 为 test-workspace-1 的 Workspace 资源,这是一个 cluster 级别的资源
- 一个 name 为 test-workspace-1 的 WorkspaceTemplate 资源,这是一个 cluster 级别的资源
- 带有 label: kubesphere.io/workspace=test-workspace-1 的 WorkspaceRole 和 WorkspaceRoleBinding 资源, 这些是 cluster 级别的资源
- 上一步的 WorkspaceRoleBinding 中涉及到的 User 资源,这些是 cluster 级别的资源
- 上一步的 User 中涉及到的 GlobalRole 和 GlobalRoleBinding 资源,这些是 cluster 级别的资源
- 带有 label: kubesphere.io/workspace=test-workspace-1 的其他 cluster 级别的资源,如 ResourceQuotas, HelmRepo 等
- 带有 label: kubesphere.io/workspace=test-workspace-1 的 namespace,以及里面的所有资源
综上可以看出,一个 workspace 里面包含了非常多的资源,虽然大部分的资源都带有同样的 label,但还是有些非常重要的资源是没有这样的 label 的,并且这些资源(包括里面的 namespace 以及其中的资源)随着项目的创建和修改都是在动态变化的。
如果使用常见的备份工具,几乎不可能通过一个或者多个备份将这些资源动态地备份下来,就算是真的能备份,中间也少不了一些手工的操作,整个过程非常复杂而且容易出错。 但是如果使用 YS1000 对 workspace 进行备份,整个过程就会变得非常顺畅。因为 YS1000 借助于其自研的强大的备份模版功能,可以将上述过程在一次备份里面全部完成,而且不需要任何手工介入。
更方便的是,YS1000 还可以动态发现 KubeSphere 集群里所有的 worksapce,并且对 workspace 的每一次备份,都是动态备份其当下的所有应用和对应资源。 此外,YS1000 的应用发现页面中还提供了资源预览的功能,可以列出所有将要备份的资源的名称,让你在任何时候都可以对你要备份的资源有一个直观的感受。
本文就如何快速的通过银数多云数据管家的最新版本 YS1000 v2.10 查找workspace的资源,并快速备份和恢复workspace作一个简单介绍。
实验环境
- YS1000宿主集群配置:
kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION