rabbitmq - 如何避免通过 values.yml 传递敏感数据(bitnami 图表)
问题描述
我正在尝试根据 Bitnami 的图表在 minikube 上部署 rabbitmq-cluster 并面临以下挑战:当我尝试使用秘密传递凭据时出现此错误:在 Secret default 中找不到密钥 rabbitmq-password /兔子
我在我的 minikube 集群中创建了一个名为rabbit的秘密,并尝试像这样设置值文件:
auth:
# username: user
# password: pass
existingPasswordSecret: rabbit
也像这样:
auth:
username: ${RABBITMQ_USERNAME}
password: ${RABBITMQ_PASSWORD}
existingPasswordSecret: rabbit
这是我的秘密文件:
apiVersion: v1
kind: Secret
metadata:
name: rabbit
type: Opaque
data:
RABBITMQ_USERNAME: dXNlcg== (bitnami variable)
RABBITMQ_PASSWORD: cGFzcw== (bitnami variable)
这是图表的默认秘密(我正在使用 helm install rabbitmq -f rabbitmq/values.yml bitnami/rabbitmq 安装图表):
apiVersion: v1
kind: Secret
metadata:
name: {{ include "rabbitmq.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
type: Opaque
data:
{{- if not .Values.auth.existingPasswordSecret }}
{{- if .Values.auth.password }}
rabbitmq-password: {{ .Values.auth.password | b64enc | quote }}
{{- else }}
rabbitmq-password: {{ randAlphaNum 10 | b64enc | quote }}
{{- end }}
{{- end }}
解决方案
错误消息告诉您缺少rabbitmq-password
密钥中的密钥:
couldn't find key rabbitmq-password in Secret default/rabbit
如果我们查看您的密钥,我们可以看到您提供了两个密钥 (RABBITMQ_USERNAME
和RABBITMQ_PASSWORD
),但不是rabbitmq-password
它期望的密钥:
apiVersion: v1
kind: Secret
metadata:
name: rabbit
type: Opaque
data:
RABBITMQ_USERNAME: dXNlcg== (bitnami variable)
RABBITMQ_PASSWORD: cGFzcw== (bitnami variable)
知道这一点,您必须使用rabbitmq-password
而不是提供密码RABBITMQ_PASSWORD
。该图表不支持将用户作为秘密传递。你的秘密应该是这样的:
apiVersion: v1
kind: Secret
metadata:
name: rabbit
type: Opaque
data:
rabbitmq-password: cGFzcw== (bitnami variable)
推荐阅读
- angular - 在 ASP.NET Core 2 和 Angular 之间使用 JWT 的正确方法
- spring-mvc - 如何破解 OSGi 的最新 Spring Framework?
- elasticsearch - 加载父母和孩子
- javascript - LiveValidation JavaScript 库 - 单选按钮
- apache - Cassandra 多 DC:在 LOCAL 上写入并从任何 DC 读取
- php - 如何检查特定用户是否登录 Laravel?
- algorithm - 如何优化具有大量点的图形的绘制算法?
- django - Google API 范围已更改
- sql - SQL Server 错误:948:数据库无法打开,因为它的版本是 896。此服务器支持版本 782 或更早版本?
- php - Nginx 404 上的 Laravel