Я установил postgres-operator
в моей среде, и она отлично работает в моем случае. Пожалуйста, убедитесь, что вы выполнили следующие шаги:
Клон postgres-operator
Репо:
$ git clone https://github.com/zalando/postgres-operator
$ cd postgres-operator
Оператор из Заландо можно настроить двумя способами - с помощью классического configmap или конфигурации CRDобъект, который является более мощным:
$ kubectl create -f manifests/operator-service-account-rbac.yaml
serviceaccount/zalando-postgres-operator created
clusterrole.rbac.authorization.k8s.io/zalando-postgres-operator created
clusterrolebinding.rbac.authorization.k8s.io/zalando-postgres-operator created
Чтобы использовать конфигурацию CRD, вы должны изменить значение в самом postgres-operator
. Измените последние несколько строк в manifests/postgres-operator.yaml
, чтобы они читались следующим образом:
env:
# provided additional ENV vars can overwrite individual config map entries
#- name: CONFIG_MAP_NAME
# value: "postgres-operator"
# In order to use the CRD OperatorConfiguration instead, uncomment these lines and comment out the two lines above
- name: POSTGRES_OPERATOR_CONFIGURATION_OBJECT
value: postgresql-operator-default-configuration
Имя учетной записи службы, указанное в этом файле, не совпадает с именем, указанным в определении учетной записи службы оператора, поэтому необходимо настроить и создать фактическуюссылка на объект конфигурацииЭто помещено в manifests/postgresql-operator-default-configuration.yaml
. Это значения, которые должны быть установлены:
configuration:
kubernetes:
pod_environment_configmap: postgres-pod-config
pod_service_account_name: zalando-postgres-operator
Давайте создадим оператор и его конфигурацию.
$ kubectl create -f manifests/postgres-operator.yaml
deployment.apps/postgres-operator created
Пожалуйста, подождите несколько минут, прежде чем вводить следующую команду:
$ kubectl create -f postgresql-operator-default-configuration.yaml
operatorconfiguration.acid.zalan.do/postgresql-operator-default-configuration created
Теперь вы сможете увидеть, как работает ваш POD:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
postgres-operator-599fd68d95-c8z67 1/1 Running 0 21m
Вы также можете обратиться к этой статье , надеюсь, она вам поможет.