Skip to content

Commit

Permalink
Docs: Added new architecture diagram and update related docs (#661)
Browse files Browse the repository at this point in the history
  • Loading branch information
powerfooI authored Dec 3, 2024
1 parent 962e94f commit fe6e39f
Show file tree
Hide file tree
Showing 8 changed files with 47 additions and 20 deletions.
2 changes: 2 additions & 0 deletions README-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

## 特性
Expand Down
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand Down
14 changes: 12 additions & 2 deletions docsite/docs/developer/arch.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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)
![The relationship among the control loop, resource manager, and task manager](/img/ob-operator-task-manager-arch.png)
Original file line number Diff line number Diff line change
Expand Up @@ -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)

## 资源管理器

Expand Down Expand Up @@ -65,4 +75,4 @@ Kubernetes 在内部采用控制循环和消息队列的方式来实现事件的

控制循环、资源管理器、任务管理器的关系如下图所示。

![控制循环、资源管理器、任务管理器的关系](/img/ob-operator-arch.png)
![控制循环、资源管理器、任务管理器的关系](/img/ob-operator-task-manager-arch.png)
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
title: 项目介绍
---

import Link from '@docusaurus/Link'

# ob-operator

Expand Down Expand Up @@ -130,7 +129,7 @@ mysql -h{POD_IP} -P2881 -uroot -proot_password oceanbase -A -c

### OceanBase Dashboard

我们很高兴向用户推出创新的 OceanBase Kubernetes Dashboard,这是一款旨在改善用户在 Kubernetes 上管理和监控 OceanBase 集群体验的先进工具。欢迎各位用户使用和反馈,同时我们也在积极开发新功能以增强未来的更新。<Link to="docs/dashboard/quickstart">快速上手</Link>文档能帮助您快速了解 OceanBase 的功能和使用方法。
我们很高兴向用户推出创新的 OceanBase Kubernetes Dashboard,这是一款旨在改善用户在 Kubernetes 上管理和监控 OceanBase 集群体验的先进工具。欢迎各位用户使用和反馈,同时我们也在积极开发新功能以增强未来的更新。[快速上手](/docs/dashboard/quickstart)文档能帮助您快速了解 OceanBase 的功能和使用方法。

安装 OceanBase Dashboard 非常简单, 只需要执行如下命令。

Expand Down Expand Up @@ -167,7 +166,9 @@ ob-operator 以 kubebuilder 为基础,通过统一的资源管理器接口、

![ob-operator 架构设计](/img/ob-operator-arch.png)

有关架构细节可参见<Link to="docs/developer/arch">架构设计文档</Link>。
![ob-operator 任务管理器](/img/ob-operator-task-manager-arch.png)

有关架构细节可参见[架构设计文档](/docs/developer/arch)

## 特性

Expand Down Expand Up @@ -211,10 +212,10 @@ ob-operator 使用 [kubebuilder](https://book.kubebuilder.io/introduction) 项

## 文档

- <Link to="docs/developer/arch">ob-operator 架构设计</Link>
- <Link to="docs/developer/deploy">部署 ob-operator</Link>
- <Link to="docs/developer/contributor-guidance">开发手册</Link>
- <Link to="docs/manual/what-is-ob-operator">用户手册</Link>
- [ob-operator 架构设计](/docs/developer/arch)
- [部署 ob-operator](/docs/developer/deploy)
- [开发手册](/docs/developer/contributor-guidance)
- [用户手册](/docs/manual/what-is-ob-operator)

## 获取帮助

Expand Down
16 changes: 8 additions & 8 deletions docsite/src/pages/index.mdx → docsite/src/pages/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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. <Link to="docs/dashboard/quickstart">Quick Start</Link> 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:

Expand Down Expand Up @@ -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 <Link to="docs/developer/arch">Architecture Document</Link>.
![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

Expand Down Expand Up @@ -212,9 +212,9 @@ ob-operator is built using the [kubebuilder](https://book.kubebuilder.io/introdu

## Documents

- <Link to="docs/developer/arch">Architecture</Link>
- <Link to="docs/developer/contributor-guidance">Contributor Guidance</Link>
- <Link to="docs/manual/what-is-ob-operator">User Manual</Link>
- [Architecture](/docs/developer/arch)
- [Contributor Guidance](/docs/developer/contributor-guidance)
- [User Manual](/docs/manual/what-is-ob-operator)

## Getting Help

Expand Down
Binary file modified docsite/static/img/ob-operator-arch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit fe6e39f

Please sign in to comment.