1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/oceanbase-ob-operator

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
deploy-cn.md 5.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 15.03.2025 16:48 28a1dfa

Пользовательская конфигурация

Развертывание CRD

kubectl apply -f ./deploy/crd.yaml

Развертывание ob-operator

Необходимо скорректировать operator.yaml в соответствии с вашими требованиями.

Вы должны добавить параметр запуска --cluster-name, который должен совпадать со значением параметра cluster в конфигурации obcluster. Значение этого параметра указывает, что ob-operator будет обрабатывать только те CRD, где значение поля cluster совпадает со значением параметра --cluster-name.

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    control-plane: controller-manager
  name: ob-operator-controller-manager
  namespace: oceanbase-system
spec:
  replicas: 1
  selector:
    matchLabels:
      control-plane: controller-manager
  template:
    metadata:
      labels:
        control-plane: controller-manager
    spec:
      containers:
      - args:
        - --health-probe-bind-address=:8081
        - --metrics-bind-address=127.0.0.1:8080
        - --leader-elect
        - --cluster-name=cn
        command:
        - /manager
        image: ob-operator:latest
        imagePullPolicy: Always
        name: manager

Настройка меток узлов

Необходимо пометить узлы Kubernetes метками, которые должны совпадать с конфигурацией nodeSelector в obcluster.yaml. Объект ob-operator будет распределять контейнеры на узлы, имеющие соответствующие метки.

Рекомендовано использовать ключ метки topology.kubernetes.io/zone. Для разных зон рекомендуется использовать различные значения меток для обеспечения отказоустойчивости.

kubectl label node nodename topology.kubernetes.io/zone=zonename

Развертывание кластера OceanBaseВ obcluster.yaml требуется выполнить некоторые изменения в соответствии с вашими требованиями.```yaml

apiVersion: cloud.oceanbase.com/v1 kind: OBCluster metadata: namespace: oceanbase name: ob-test spec: version: 3.1.1-4 clusterID: 1 topology: - cluster: cn zone: - name: zone1 region: regio1 nodeSelector: topology.kubernetes.io/zone: zone1 replicas: 1 - name: zone2 region: regio1 nodeSelector: topology.kubernetes.io/zone: zone2 replicas: 1 - name: zone3 region: regio1 nodeSelector: topology.kubernetes.io/zone: zone3 replicas: 1 resources: cpu: 2 memory: 10Gi storage: - name: data-file storageClassName: "local-path" size: 50Gi - name: data-log storageClassName: "local-path" size: 50Gi - name: log storageClassName: "local-path" size: 30Gi


- `version` — версию OceanBase кластера.
- `cluster` следует настроить в зависимости от потребностей. Если требуется развернуть OceanBase кластер в данном Kubernetes кластере, то значение `cluster` должно совпадать с параметром запуска `--cluster-name` оператора ob-operator.
- `cpu` рекомендовано указывать целое число больше 2, меньшее значение может привести к системным аномалиям.
- `memory` рекомендовано указывать целое число больше 10 ГБ, меньшее значение может привести к системным аномалиям.
- `storage` раздел `data-file` представляет размер конфигурационной опции `datafile_size` системы OBServer и рекомендовано указывать значение больше трёхкратного значения памяти. `storageClassName` можно настроить в зависимости от потребностей.
- `storage` раздел `data-log` представляет размер конфигурационной опции `data_dir` системы OBServer и рекомендовано указывать значение больше пятикратного значения памяти.`storageClassName` можно настроить в зависимости от потребностей.
- `storage` раздел `log` представляет размер системного журнала OBServer и рекомендовано указывать значение больше 30Gi. `storageClassName` можно настроить в зависимости от потребностей.Структура данных `nodeSelector`:

```go
// NodeSelector — это селектор, который должен быть истинным для того, чтобы пад был способен работать на узле.
// Селектор, который должен соответствовать меткам узла для расписания пада на этот узел.
// Подробнее: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
// +optional
// +mapType=atomic
NodeSelector map[string]string `json:"nodeSelector,omitempty" protobuf:"bytes,7,rep,name=nodeSelector"`

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/oceanbase-ob-operator.git
git@api.gitlife.ru:oschina-mirror/oceanbase-ob-operator.git
oschina-mirror
oceanbase-ob-operator
oceanbase-ob-operator
master