k8s与SQL Server的秘密轮换

时间:2020-01-31 14:05:47

标签: sql-server kubernetes kubernetes-secrets

是否可以进行SQL Server秘密轮换?

场景:

  • 带有用于SQL Server的Helm图表的CI / CD管道

    • 包括秘密,永久卷,永久卷声明,部署(永久卷是NFS,在我看来是这样,而k8s甚至是裸机)
  • 一段时间后,我可能想升级SQL Server版本,最好通过CI / CD管道

我对此进行了一些尝试,并且效果很好,但是我面临的问题是,当我进行部署时,SQL Server根据初始机密创建一些包含SA密码的sys-DB:s。

apiVersion: v1
kind: Secret
metadata:
  name: {{ .Values.name }}-secret
type: Opaque
data:
  sapassword: {{ randAlphaNum 64 | b64enc | quote }}

现在让我们说我想重新部署或进行版本升级(甚至断电,损坏的节点或其他任何东西),
sys-DB:s映射到持久性存储并将被重新映射。

但是,重新映射的sys-DB内部的SA密码“ x”位于内部,新生成的秘密SA密码为“ y”。用户密码/用户密码(Code First生成的DB的连接字符串)是否不同?

有什么想法吗?还是我不应该仅在数据库机密中不生成密码?

1 个答案:

答案 0 :(得分:2)

我一直在努力,最终从头盔图表中删除了秘密,并对部署进行了更改,以便从我在头盔图表之外创建的k8s秘密中将秘密作为环境变量注入。

我想到的其他选择是使用外部机密管理器在运行时将机密动态注入到Pod-> https://banzaicloud.com/blog/inject-secrets-into-pods-vault/

相关问题