стабильный / airflow подключает внешнюю базу данных PostgreSQL

#kubernetes #airflow #kubernetes-helm

#kubernetes #воздушный поток #kubernetes-рулевой

Вопрос:

Я развертываю airflow в Kubernetes, используя: https://github.com/helm/charts/tree/master/stable/airflow

Я пытаюсь подключить свою внешнюю базу данных PostgreSQL, изменив values.yml:

 externalDatabase:
  ## the type of external database: {mysql,postgres}
  ##
  type: postgres

  ## the host of the external database
  ##
  host: <HOST>

  ## the port of the external database
  ##
  port: 5432

  ## the database/scheme to use within the the external database
  ##
  database: airflow

  ## the user of the external database
  ##
  user: <USER>

  ## the name of a pre-created secret containing the external database password
  ##
  passwordSecret: ""

  ## the key within `externalDatabase.passwordSecret` containing the password string
  ##
  passwordSecretKey: ""

  ## the connection properties for external database, e.g. "?sslmode=require"
  properties: "?sslmode=require"
  

Но он запрашивает passwordSecret и passwordSecretKey .

Как я могу создать секретный пароль в Kubernetes?

passwordSecretKey является ли пароль для пользователя airflow?

Комментарии:

1. passwordSecretKey — это пароль для пользователя airflow? Какое значение я должен установить для него?

Ответ №1:

Самый простой способ — следовать инструкциям здесь.

Создайте файл yaml с именем mysecretcreator.yaml

 apiVersion: v1
kind: Secret
metadata:
  name: mysecret
type: Opaque
data:
  username: YWRtaW4=
  password: MWYyZDFlMmU2N2Rm
  

А затем запустите kubectl apply -f mysecretcreator.yaml

После создания секрета добавьте следующее к пользовательским значениям.yaml

   ## the name of a pre-created secret containing the external database password
  ##
  passwordSecret: "mysecret"
  

Комментарии:

1. Что мы должны поставить для passwordSecretKey:»»?

Ответ №2:

Поскольку вы определили свое имя пользователя как строку, вы можете просто ввести пароль в поле data / StringData в secrets .файл yaml. Использование строковой ссылки для передачи данных

 apiVersion: v1
kind: Secret
metadata:
  name: airflow-postgres-key
  namespace: airflow
type: Opaque
stringData:
  passwd: mypas_sword=
  

Вы можете ссылаться на них в своих значениях.файл yaml как

 ## the user of the external database
  ##
  user: <USER_Name>

  ## the name of a pre-created secret containing the external database password
  ##
  passwordSecret: airflow-postgres-key

  ## the key within `externalDatabase.passwordSecret` containing the password string
  ##
  passwordSecretKey: passwd