如何通过舵机模板使用Kubernetes密封的机密 [英] How to use kubernetes sealed secrets with helm templates

查看:24
本文介绍了如何通过舵机模板使用Kubernetes密封的机密的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚发现了用于在Kubernetes中加密秘密的Seal Secret工具https://github.com/bitnami-labs/sealed-secrets,它的额外好处是可以将这些秘密提交给Git

我有点失望,因为这样一个伟大的工具没有在默认情况下或作为官方文档的一部分来处理HELM模板。我的意思是,对于这样的工具,我不确定开发人员是否想过人们使用秘密的不同方式,其中舵图是一种很好的方式,我们在不同的环境中使用值模板文件。

这是我的设置

icis.yaml

---
apiVersion: v1
kind: Secret
metadata:
  name: demo-app
type: Opaque
data:
  ENV1: "{{ .Values.ENV1 | b64enc }}"
  ENV2: "{{ .Values.ENV2 | b64enc }}"
  ENV3: "{{ .Values.ENV3 | b64enc }}"

以下是DEV和PROD的值模板文件,例如

值-dev.yaml

demo-app:
  name: demo-app
  replicaCount: 1
  image:
    repository: example/demo-app
    tag: latest
    pullPolicy: Always


# secrets
ENV1: 'dev_4rlmerl4om3o'
ENV2: 'dev_eom4om4odl4o'
ENV3: 'dev_38hdineoij4oj3onod4ncen3eiixnknnkejnslrmnomntrcoenkc'

值-prod.yaml

demo-app:
  name: demo-app
  replicaCount: 1
  image:
    repository: example/demo-app
    tag: 1.0.0
    pullPolicy: Always


# secrets
ENV1: 'prod_4rlmerl4om3o'
ENV2: 'prod_eom4om4odl4o'
ENV3: 'prod_38hdineoij4oj3onod4ncen3eiixnknnkejnslrmnomntrcoenkc'

以下是我部署应用程序的方式

DEV

helm upgrade --install demo-app-dev --namespace team1 -f values-dev.yaml .

生产

helm upgrade --install demo-app-prod --namespace team1 -f values-prod.yaml .

我正在尝试对此方案使用密封的机密,但无法在不完全更改整个结构的情况下弄清楚如何做到这一点。

推荐答案

可以动态生成values_{ENV}.yaml,无需维护,部署后即可删除。这样,下一次CI/CD版本将为不同的应用程序生成相同的内容。

这篇关于如何通过舵机模板使用Kubernetes密封的机密的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆