Helm升级Airflow时遇密码错误:PostgreSQL Secret缺失password键
解决Airflow Helm升级时PostgreSQL Secret缺失password键的问题
第一步:检查现有Secret状态
执行命令查看目标Secret的内容,确认是否存在password键:
kubectl get secret airflow-postgresql -n airflow -o yaml
重点看输出的data字段,若没有password键或键名拼写错误,需及时修正。
第二步:修复Secret
情况1:Secret不存在或完全无效
- 生成密码的Base64编码(替换
your-strong-password为实际密码):
echo -n "your-strong-password" | base64
- 创建
postgres-secret.yaml文件:
apiVersion: v1 kind: Secret metadata: name: airflow-postgresql namespace: airflow type: Opaque data: password: <上述命令生成的Base64字符串>
- 应用该文件创建Secret:
kubectl apply -f postgres-secret.yaml -n airflow
情况2:Secret存在但缺少password键
直接执行命令添加或更新password键:
kubectl patch secret airflow-postgresql -n airflow -p '{"data": {"password": "'$(echo -n "your-strong-password" | base64)'"}}'
第三步:检查values.yaml配置
确保values.yaml中PostgreSQL部分正确引用了这个Secret,避免Helm自动生成新Secret导致冲突:
postgresql: existingSecret: airflow-postgresql existingSecretPasswordKey: password # 必须和Secret中的键名完全一致
第四步:重新执行Helm命令
helm upgrade --install airflow apache-airflow/airflow -n airflow -f values.yaml --debug
内容的提问来源于stack exchange,提问作者Gaius G D'cruz
相关产品推荐
相关产品推荐

