---
title: "多 K8s 集群部署 | OceanBase 文档中心"
description: 多 K8s 集群部署 说明 本文功能适用于 ob-operator 2.3.0 及更高版本，且需保证所有 K8s 集群之间 Pod 和服务的互通。 在多个 K8s 集群上部署工作负载可以增强系统的扩展性、可靠性和安全性。通过将不同的 obzone 部署到不同的 K8s 集群，可以充分发挥 OceanBase 高可用架…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*_Ef7QIYUi3gAAAAAAAAAAAAADiGDAQ/original) ob-operatorV 2.3.3 社区版

# 多 K8s 集群部署

更新时间：2026-01-20 15:03:46

[编辑](https://github.com/oceanbase/ob-operator-doc/edit/V2.3.3/zh-CN/500.ob-operator-user-guide/300.high-availability/700.inter-k8s-cluster-management.md)

#### 说明

本文功能适用于 ob-operator 2.3.0 及更高版本，且需保证所有 K8s 集群之间 Pod 和服务的互通。

在多个 K8s 集群上部署工作负载可以增强系统的扩展性、可靠性和安全性。通过将不同的 obzone 部署到不同的 K8s 集群，可以充分发挥 OceanBase 高可用架构的优势，实现集群级别的容灾，并使集群和工作负载的管理更加简单高效。

## 整体架构

![inter-k8s-cluster-architecture](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/ob-operator/V2.3.0/700.inter-k8s-cluster-management-01.png)

如架构图所示，K8s 集群具有不同角色。我们将部署了 ob-operator 的集群称为主集群（master），其他集群称为工作集群（worker）。

通过在主集群中创建类型为 K8sCluster 的自定义资源，可以将工作集群注册进来。ob-operator 使用存储在自定义资源中的凭证访问这些工作集群。OceanBase 的工作负载在工作集群中以原生 K8s 资源运行，而 OceanBase 的自定义资源仍保存在主集群中。

## 添加工作 K8s 集群

要将 K8s 集群添加为工作集群，请确保凭证具有以下权限：`get`, `list`, `watch`, `create`, `update`, `patch` 和 `delete` 以下资源，`pod`, `service`, `pvc`, `job` 和 `namespace`。参考以下示例，将 kubeConfig 下的占位符替换为工作集群的凭证，并将其应用于主集群。

```yaml
apiVersion: k8s.oceanbase.com/v1alpha1
kind: K8sCluster
metadata:
  name: k8s-remote
spec:
  name: remote
  description: "This is the remote k8s cluster for testing"
  kubeConfig: |
    <Your K8s credential> # Typically you can found it in ~/.kube/config

```

使用以下命令检查资源

```bash
kubectl get k8scluster

```

预期输出如下

```bash
NAME         AGE   CLUSTERNAME
k8s-remote   1m    remote

```

## 创建多个 K8s 集群中运行的 OceanBase 集群

要在多个 K8s 集群中创建 OceanBase 集群，与单 K8s 集群中创建集群唯一的区别是为运行在工作集群中的 obzone 指定运行的 K8s 集群。请参考以下示例配置

```yaml
apiVersion: oceanbase.oceanbase.com/v1alpha1
kind: OBCluster
metadata:
  name: test
  namespace: default
  # annotations:
  #  "oceanbase.oceanbase.com/independent-pvc-lifecycle": "true"
  #  "oceanbase.oceanbase.com/mode": "service"
spec:
  clusterName: test
  clusterId: 1
  userSecrets:
    root: root-password
  topology:
    - zone: zone1
      replica: 1
    - zone: zone2
      replica: 1
      k8sCluster: k8s-cluster-hz
    - zone: zone3
      replica: 1
      k8sCluster: k8s-cluster-sh
  observer:
    image: oceanbase/oceanbase-cloud-native:4.2.1.7-107000162024060611
    resource:
      cpu: 2
      memory: 10Gi
    storage:
      dataStorage:
        storageClass: local-path
        size: 50Gi
      redoLogStorage:
        storageClass: local-path
        size: 50Gi
      logStorage:
        storageClass: local-path
        size: 20Gi
  parameters:
  - name: system_memory
    value: 1G
  - name: "__min_full_resource_pool_memory"
    value: "2147483648" # 2G

```

## 管理多 K8s 集群中运行的 OceanBase 集群

OceanBase 的管理方式和单个 K8s 集群中运行没有其他区别，只需要修改主集群中的自定义资源，ob-operator 会负责将相应更改同步到各个工作集群中。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
