diff --git a/README-CN.md b/README-CN.md index 3f805b734..b6fa65dc4 100644 --- a/README-CN.md +++ b/README-CN.md @@ -162,6 +162,8 @@ ob-operator 以 kubebuilder 为基础,通过统一的资源管理器接口、 ![ob-operator 架构设计](./docsite/static/img/ob-operator-arch.png) +![ob-operator 任务管理器](./docsite/static/img/ob-operator-task-manager-arch.png) + 有关架构细节可参见[架构设计文档](https://oceanbase.github.io/ob-operator/zh-Hans/docs/developer/arch)。 ## 特性 diff --git a/README.md b/README.md index f5167c350..24c481897 100644 --- a/README.md +++ b/README.md @@ -160,10 +160,12 @@ Login with admin user and password. ## Project Architecture -ob-operator is built on top of kubebuilder and provides control and management of OceanBase clusters and related applications through a unified resource manager interface, a global task manager instance, and a task flow mechanism for handling long-running tasks. The architecture diagram is approximately as follows: +ob-operator is built on top of kubebuilder and provides control and management of OceanBase clusters and related applications through a unified resource manager interface, a global task manager instance, and a task flow mechanism for handling long-running tasks. The architecture diagram of ob-operator is approximately as follows: ![ob-operator Architecture](./docsite/static/img/ob-operator-arch.png) +![ob-operator Task Manager Architecture](./docsite/static/img/ob-operator-task-manager-arch.png) + For more detailed information about the architecture, please refer to the [Architecture Document](https://oceanbase.github.io/ob-operator/docs/developer/arch). ## Features @@ -212,6 +214,8 @@ ob-operator is built using the [kubebuilder](https://book.kubebuilder.io/introdu - [Contributor Guidance](https://oceanbase.github.io/ob-operator/docs/developer/contributor-guidance) - [User Manual](https://oceanbase.github.io/ob-operator/docs/manual/what-is-ob-operator) +github.com/oceanbase/ob-operator + /docs/developer/arch + ## Getting Help If you encounter any issues while using ob-operator, please feel free to seek help through the following channels: diff --git a/docsite/docs/developer/arch.md b/docsite/docs/developer/arch.md index a38415d14..353fb7d92 100644 --- a/docsite/docs/developer/arch.md +++ b/docsite/docs/developer/arch.md @@ -12,12 +12,22 @@ ob-operator follows the [Operator pattern of Kubernetes](https://kubernetes.io/d * OBCluster: Represents an OceanBase cluster. * OBZone: Represents an OceanBase zone that belongs to an OBCluster. * OBServer: Represents an OceanBase observer resource that belongs to an OBZone. -* OBParameter: Represents cluster parameters. +* OBParameter: Represents cluster and tenant parameters. * OBTenant: Represents a tenant in the OceanBase cluster, which belongs to an OBCluster. * OBTenantBackupPolicy: Represents a scheduling backup policy for a tenant. * OBTenantBackup: Represents a backup task for a tenant. * OBTenantRestore: Represents a restore task for a tenant. * OBTenantOperation: Represents operational tasks for a tenant. +* OBTenantVariable: Represents tenant variables. +* OBClusterOperation: Represents operational tasks for a cluster. +* OBResourceRescue: Represents a resource rescue task, which is used to recover resources that are stuck in an error state. +* K8sCluster: Represents a Kubernetes cluster that is managed by ob-operator. + +## Diagram + +The following diagram illustrates layers of ob-operator and the relationship among the custom resources. + +![ob-operator architecture](/img/ob-operator-arch.png) ## Resource Manager @@ -66,4 +76,4 @@ To address this issue, ob-operator adopts task flow mechanism and a global task The relationship among the control loop, resource manager, and task manager is depicted in the following figure. -![The relationship among the control loop, resource manager, and task manager](/img/ob-operator-arch.png) \ No newline at end of file +![The relationship among the control loop, resource manager, and task manager](/img/ob-operator-task-manager-arch.png) \ No newline at end of file diff --git a/docsite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/developer/arch.md b/docsite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/developer/arch.md index fe46fc377..7c7b57108 100644 --- a/docsite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/developer/arch.md +++ b/docsite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/developer/arch.md @@ -12,12 +12,22 @@ ob-operator 遵循 Kubernetes 的 [Operator 拓展范式](https://kubernetes.io/ * OBCluster: OceanBase 集群资源 * OBZone: OceanBase Zone 资源,隶属于某个 OBCluster * OBServer: OceanBase observer 资源,隶属于某个 OBZone -* OBParameter: 集群参数 +* OBParameter: 集群和租户参数 * OBTenant: OceanBase 集群当中的租户,隶属于某个 OBCluster * OBTenantBackupPolicy: 租户备份策略 * OBTenantBackup: 租户备份任务 * OBTenantRestore: 租户恢复任务 * OBTenantOperation: 租户运维操作 +* OBTenantVariable: 租户变量 +* OBClusterOperation: 集群运维操作 +* OBResourceRescue: 资源救治任务,用于处理资源异常情况 +* K8sCluster: 受 ob-operator 控制的 Kubernetes 集群 + +## 架构图 + +下面这张架构图展示了 ob-operator 的层级设计和自定义资源之间的关系。 + +![ob-operator 架构图](/img/ob-operator-arch.png) ## 资源管理器 @@ -65,4 +75,4 @@ Kubernetes 在内部采用控制循环和消息队列的方式来实现事件的 控制循环、资源管理器、任务管理器的关系如下图所示。 -![控制循环、资源管理器、任务管理器的关系](/img/ob-operator-arch.png) +![控制循环、资源管理器、任务管理器的关系](/img/ob-operator-task-manager-arch.png) diff --git a/docsite/i18n/zh-Hans/docusaurus-plugin-content-pages/index.mdx b/docsite/i18n/zh-Hans/docusaurus-plugin-content-pages/index.md similarity index 94% rename from docsite/i18n/zh-Hans/docusaurus-plugin-content-pages/index.mdx rename to docsite/i18n/zh-Hans/docusaurus-plugin-content-pages/index.md index afe211e9a..9b9e88c57 100644 --- a/docsite/i18n/zh-Hans/docusaurus-plugin-content-pages/index.mdx +++ b/docsite/i18n/zh-Hans/docusaurus-plugin-content-pages/index.md @@ -2,7 +2,6 @@ title: 项目介绍 --- -import Link from '@docusaurus/Link' # ob-operator @@ -130,7 +129,7 @@ mysql -h{POD_IP} -P2881 -uroot -proot_password oceanbase -A -c ### OceanBase Dashboard -我们很高兴向用户推出创新的 OceanBase Kubernetes Dashboard,这是一款旨在改善用户在 Kubernetes 上管理和监控 OceanBase 集群体验的先进工具。欢迎各位用户使用和反馈,同时我们也在积极开发新功能以增强未来的更新。快速上手文档能帮助您快速了解 OceanBase 的功能和使用方法。 +我们很高兴向用户推出创新的 OceanBase Kubernetes Dashboard,这是一款旨在改善用户在 Kubernetes 上管理和监控 OceanBase 集群体验的先进工具。欢迎各位用户使用和反馈,同时我们也在积极开发新功能以增强未来的更新。[快速上手](/docs/dashboard/quickstart)文档能帮助您快速了解 OceanBase 的功能和使用方法。 安装 OceanBase Dashboard 非常简单, 只需要执行如下命令。 @@ -167,7 +166,9 @@ ob-operator 以 kubebuilder 为基础,通过统一的资源管理器接口、 ![ob-operator 架构设计](/img/ob-operator-arch.png) -有关架构细节可参见架构设计文档。 +![ob-operator 任务管理器](/img/ob-operator-task-manager-arch.png) + +有关架构细节可参见[架构设计文档](/docs/developer/arch)。 ## 特性 @@ -211,10 +212,10 @@ ob-operator 使用 [kubebuilder](https://book.kubebuilder.io/introduction) 项 ## 文档 -- ob-operator 架构设计 -- 部署 ob-operator -- 开发手册 -- 用户手册 +- [ob-operator 架构设计](/docs/developer/arch) +- [部署 ob-operator](/docs/developer/deploy) +- [开发手册](/docs/developer/contributor-guidance) +- [用户手册](/docs/manual/what-is-ob-operator) ## 获取帮助 diff --git a/docsite/src/pages/index.mdx b/docsite/src/pages/index.md similarity index 95% rename from docsite/src/pages/index.mdx rename to docsite/src/pages/index.md index 9cc2f3289..2f073c360 100644 --- a/docsite/src/pages/index.mdx +++ b/docsite/src/pages/index.md @@ -2,8 +2,6 @@ title: Introduction --- -import Link from '@docusaurus/Link' - # ob-operator `ob-operator` is a Kubernetes operator that simplifies the deployment and management of OceanBase cluster and related resources on Kubernetes. @@ -131,7 +129,7 @@ mysql -h{POD_IP} -P2881 -uroot -proot_password oceanbase -A -c ### OceanBase Dashboard -We are excited to unveil our innovative OceanBase Kubernetes Dashboard, a pioneering tool designed to enhance your experience with managing and monitoring OceanBase clusters on Kubernetes. We are proud to offer this amazing tool to our users and will actively work on new features and enhancements for future updates. Quick Start guide is available to help you get started with OceanBase Dashboard. +We are excited to unveil our innovative OceanBase Kubernetes Dashboard, a pioneering tool designed to enhance your experience with managing and monitoring OceanBase clusters on Kubernetes. We are proud to offer this amazing tool to our users and will actively work on new features and enhancements for future updates. [Quick Start](/docs/dashboard/quickstart) guide is available to help you get started with OceanBase Dashboard. Deploy OceanBase Dashboard is pretty simple, just run the following commands: @@ -164,11 +162,13 @@ Login with admin user and password. ## Project Architecture -ob-operator is built on top of kubebuilder and provides control and management of OceanBase clusters and related applications through a unified resource manager interface, a global task manager instance, and a task flow mechanism for handling long-running tasks. The architecture diagram is approximately as follows: +ob-operator is built on top of kubebuilder and provides control and management of OceanBase clusters and related applications through a unified resource manager interface, a global task manager instance, and a task flow mechanism for handling long-running tasks. The architecture diagram of ob-operator is approximately as follows: ![ob-operator Architecture](/img/ob-operator-arch.png) -For more detailed information about the architecture, please refer to the Architecture Document. +![ob-operator Task Manager Architecture](/img/ob-operator-task-manager-arch.png) + +For more detailed information about the architecture, please refer to the [Architecture](/docs/developer/arch) Document. ## Features @@ -212,9 +212,9 @@ ob-operator is built using the [kubebuilder](https://book.kubebuilder.io/introdu ## Documents -- Architecture -- Contributor Guidance -- User Manual +- [Architecture](/docs/developer/arch) +- [Contributor Guidance](/docs/developer/contributor-guidance) +- [User Manual](/docs/manual/what-is-ob-operator) ## Getting Help diff --git a/docsite/static/img/ob-operator-arch.png b/docsite/static/img/ob-operator-arch.png index d3f1aa012..81653a745 100644 Binary files a/docsite/static/img/ob-operator-arch.png and b/docsite/static/img/ob-operator-arch.png differ diff --git a/docsite/static/img/ob-operator-task-manager-arch.png b/docsite/static/img/ob-operator-task-manager-arch.png new file mode 100644 index 000000000..d3f1aa012 Binary files /dev/null and b/docsite/static/img/ob-operator-task-manager-arch.png differ