kubectl apply -f ./deploy/crd.yaml
Необходимо скорректировать 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
obcluster.yaml
требуется выполнить некоторые изменения в соответствии с вашими требованиями.```yamlapiVersion: 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 )