繁体   English   中英

使用 SQL Server 进行 k8s 秘密轮换

[英]k8s secret rotation with SQL server

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

设想:

  • 带有 SQL Server 舵图的 CI/CD 管道

    • 包括秘密、持久卷、持久卷声明、部署(持久卷是 NFS 是我的情况,而 k8s 是裸机,如果它甚至重要的话)
  • 一段时间后,我可能想升级 SQL 服务器版本,最好通过 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 被映射到一个持久化存储并且将被重新映射。

但是,SA 密码“x”在重新映射的 sys-DB 内部,而新生成的秘密 SA 密码是“y”。 用户/消费者 Pod 密码(Code First 生成的数据库的连接字符串)是否不同?

有任何想法吗? 或者我不应该在数据库机密中生成密码?

我一直在你的鞋子里,最终从掌舵图表中删除了秘密,并在部署中进行了更改,以从我在掌舵图表之外创建的 k8s 秘密注入秘密作为环境变量。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM