Kubernetes 在配置映射中加密机密

Kubernetes 在配置映射中加密机密,kubernetes,Kubernetes,是否有任何方法可以加密kubernetes部署的configmaps中的机密?我使用的是flux,所以我需要将所有部署文件存储在git中,我使用kubeseal加密所有机密的清单,但我还没有找到一个好的解决方案来保护configmaps中的机密(通常配置文件包含用户名/密码之类的内容)。在k8s中引用机密没有直接的方法。 您可以使用提供的解决方法将机密加载为环境变量并在configmap中引用它,但请记住,不建议将机密加载为环境变量。在k8s中引用机密没有直接的方法。 您可以使用提供的解决方法将

是否有任何方法可以加密kubernetes部署的configmaps中的机密?我使用的是flux,所以我需要将所有部署文件存储在git中,我使用kubeseal加密所有机密的清单,但我还没有找到一个好的解决方案来保护configmaps中的机密(通常配置文件包含用户名/密码之类的内容)。

在k8s中引用机密没有直接的方法。

您可以使用提供的解决方法将机密加载为环境变量并在configmap中引用它,但请记住,不建议将机密加载为环境变量。

在k8s中引用机密没有直接的方法。
您可以使用提供的解决方法将机密加载为环境变量,并在configmap中引用它,但请记住,不建议将机密加载为环境变量

警告:ConfigMap不提供保密或加密。如果要存储的数据是机密数据,请使用机密而不是ConfigMap,或者使用其他(第三方)工具将数据保密

发件人:

警告:ConfigMap不提供保密或加密。如果要存储的数据是机密数据,请使用机密而不是ConfigMap,或者使用其他(第三方)工具将数据保密


From:

ConfigMaps确实没有内置机制,因为它们不打算存储机密。@Blokje5我知道,但许多众所周知的应用程序仍然以这种方式工作(从配置文件读取凭据),例如,这就是我在特定用例中所说的,这只是众多示例中的一个。是的,然后通常希望配置文件支持环境变量插值等。您可以始终使用init容器,该容器使用例如
sed
来用环境变量替换文件中的值。我想这会起作用,但这是一个麻烦,并且不能作为解决方案很好地扩展,我希望有一个更干净更方便的解决方案。。为什么没有人想到像kubeseal这样的工具可以读取清单,用给定的秘密替换清单中的变量,并从中创建配置映射?我希望至少有这样的东西。ConfigMaps实际上没有内置机制,因为它们不是用来存储机密的。@Blokje5我知道,但许多众所周知的应用程序仍然以这种方式工作(从配置文件读取凭据),例如,这就是我在我的特定用例中所说的,它只是众多示例中的一个。是的,没错,那么它通常希望配置文件支持例如环境变量插值。您可以始终使用init容器,该容器使用例如
sed
来用环境变量替换文件中的值。我想这会起作用,但这是一个麻烦,并且不能作为解决方案很好地扩展,我希望有一个更干净更方便的解决方案。。为什么没有人想到像kubeseal这样的工具可以读取清单,用给定的秘密替换清单中的变量,并从中创建配置映射?我希望至少是这样。我说的是一个应用程序实际上不支持在配置文件中引用env变量的用例。使用yaml变量,您可能仍然能够利用它,将env var拉入yaml,然后将其作为配置的一部分注入。真的不确定这会有什么帮助,因为这只是一个直接引用功能,基本上只是为了避免在同一yaml文件中重复块。我说的是一个应用程序实际上不支持在配置文件中引用env变量的用例。您可能仍然可以使用yaml变量来利用它-,将env变量拉入yaml,然后将其作为配置的一部分注入。真的不确定这会有什么帮助,因为这只是一个直接引用功能,基本上只是为了避免在同一yaml文件中重复块。