问题标签 [kubernetes-secrets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1172 浏览

kubernetes - 如何使现有的 configmaps 使用 kubernetes 机密

我是 kubernetes 的新手,我必须为现有的 configmaps 实现 kubernetes 机密,并使用硬编码的密码。

我有每个 pod 的 2 个配置映射,1 个 settings.yaml 和其他 settings_override.yaml。我必须在我保存 base64 机密的地方设置覆盖文件读取环境变量。我已经创建了秘密,并且可以在 printenv 之后在 pod 中看到它们。

请建议我如何让我的 settings_override.yaml 文件读取这些环境机密。

注意:如果我只是从 settings_override.yaml 文件中删除 key:value 对,那么它是从 settings.yaml 中选择值,而不是从我的 env 变量中选择值。

设置和setting_override文件供参考:

apiVersion: v1 data: setting.json: | { "test": { "testpswd": "test123", "testPort": "123", }, }

apiVersion: v1 data: setting_override.json: | { "test": { "testpswd": "test456", "testPort": "456", }, }

0 投票
1 回答
1531 浏览

kubernetes - 从作业创建或编辑 Kubernetes 密钥

我正在尝试从 Kubernetes 作业生成 Kubernetes 机密。秘密是 TLS 证书,对于弹性搜索传输,我尝试了这项工作:

但正如https://github.com/kubernetes/kubernetes/issues/62099所说,卷/certs是只读的。有没有办法像这样创建/编辑这个秘密?

0 投票
1 回答
1105 浏览

kubernetes - Helm Secrets 插件无法解密之前使用 GPG 密钥加密的 secrets.yaml

我在解密我的 secrets.yaml 文件时遇到问题。该过程像图片一样冻结。下图: 掌舵秘密 dec

基于官方文档中的示例:https ://github.com/futuresimple/helm-secrets

1)我在 .sops.yaml 中添加了我的 gpg 密钥指纹

2)我制作自定义 secrets.yaml 文件进行加密:

然后我用我的密钥成功加密了这个文件: helm secrets enc

文件已正确加密,但不幸的是我无法将其解密回来。该命令被无限期暂停,如图所示

0 投票
1 回答
415 浏览

kubernetes - 为具有 k8s 机密的容器生成动态运行时 YAML

我正在部署一项服务,该服务严格采用 YAML 配置,如下所示:

TL;博士; 我只想将, & cert 文件存储在秘密中。tenantidclientidk8s

我目前的解决方案是将整个 YAML 文件存储在秘密中,这似乎很浪费而且管理起来也很麻烦。


基本上我有这个 - 它适用于 2 个证书文件(/config/client/client.crt/config/client/client.key):

然而,它涉及将整个存储/config/srv.yaml在 kubernetes 机密my-yamls中。

k8s secrets docs建议有一种方法可以为容器创建动态 YAML 配置 - 在需要的地方准确填写秘密,stringData例如

但文档以非常模糊的方式结束:

然后,您的部署工具可以在运行之前替换 {{username}} 和 {{password}} 模板变量kubectl apply

我只需要在动态配置中填写两个字符串项:clientidtenantid.

使用 just kubectl,如何为容器创建动态 YAML - 将非敏感 YAML 模板存储在deploy.yaml- 并且只包含敏感项目k8s secrets

0 投票
4 回答
17307 浏览

kubernetes - 如何将多个文件/秘密挂载到 kubernetes 的公共目录中?

我从不同的文件创建了多个秘密。我想将它们全部存储在 common 目录中/var/secrets/。不幸的是,我无法做到这一点,因为 kubernetes在 pod 验证步骤中抛出“无效值:“/var/secret”:必须是唯一错误。下面是我的 pod 定义的示例。

如何将来自多个机密的文件存储在同一目录中?

0 投票
2 回答
3400 浏览

kubernetes - 在配置映射中使用 Kubernetes 机密作为环境变量

我在容器中有一个应用程序,它从 configMap 读取某些数据,如下所示

现在我为密码创建了一个秘密,并在启动容器时作为环境变量安装。

我的吊舱看起来像:

我尝试在 configMap 中使用这个环境变量:

但我的应用程序无法读取此密码。我在这里错过了什么吗?

编辑:

我无法将 application.yaml 更改为任何其他形式,因为我的服务器在源路径中查找 application.yaml。我们有什么方法可以在 values.yaml(helm) 文件中使用该环境变量并在 configmap 中使用它吗?

0 投票
1 回答
82 浏览

kubernetes - 在 sts 副本中使用不同的 Secret

我正在尝试根据 Pod 的索引在 StatefulSet 上使用不同的秘密。这是我尝试过的事情:

但是,mysecret-$(POD_NAME)没有正确地作为参数替代,而myhost-$(POD_NAME)行为正确。

我怎么解决这个问题?目标是在 StatefulSet 的不同副本上设置来自 secret/configmaps 的不同变量。

0 投票
2 回答
1193 浏览

kubernetes - 字节数组作为 kubernetes 的秘密?

我想知道是否可以将字节数组作为 kubernetes 机密。我创建了一个字节数组和一个 base64 编码的字符串,如下所示

然后我在 kubernetes 机密中使用了生成的字符串。秘密创建成功。现在我希望在 kubernetes 中运行的 Spring Boot 应用程序读取和解码该值。但是,我得到一个 IllegalArgumentException (Illegal base64 character) 当本地运行应用程序从属性文件中读取相同的令牌时,它可以被解码。

所以我的问题又来了:是否可以使用字节数组作为 kubernetes 机密?

0 投票
1 回答
132 浏览

docker - 从 gitlab 获取凭据到 Spring Boot 应用程序的最佳实践

我有一个项目,我在其中使用了以下技术mysql spring boot(包括spring jdbc模板)docker kubernetes gitlab(ci/cd)。

根据 Spring Boot 标准,我将数据库凭据作为环境变量传递。这些凭据显然需要安全、不受源代码影响,并且因地区而异,因此我想让它们尽可能远离应用程序(如果可能的话,我想将它们存储为 gitlab 机密) . 截至目前,我可以成功地将它们作为环境变量从我的 yaml 文件中传递,该文件定义了我的 kubernetes 部署和服务,它被我的 Dockerfile 拾取并传递给我的 Spring Boot 应用程序。有什么方法可以从 gitlab 传递到 kubernetes(避免 kubectl 运行,这是不好的做法并且将被弃用)?

谢谢,康纳

0 投票
2 回答
1400 浏览

kubernetes - 在 Airflow 中将 kubernetes secret 与 GKEPodOperator 一起使用

我正在尝试将 GOOGLE_APPLICATION_CREDENTIALS 机密与 GKEPodOperator 一起使用。基本上我想: 1. 将秘密上传到 GKE 2. 将秘密挂载(?)到容器 3. 运行容器时使用秘密。

到目前为止,我已经在构建时将 key.json 文件添加到我的图像中,我知道这不是正确的方法。

我发现了这个问题:How to set GOOGLE_APPLICATION_CREDENTIALS on GKE running through Kubernetes

不同之处在于他们没有使用 GKEPodOperator。

我做了什么:1.使用以下方法创建了秘密:

kubectl create secret generic mysupersecret --from-file=service_account_key=key.json

我看到有volumesvolume_mounts参数,但我不明白如何使用它们。

任何人都可以帮我解决这个问题吗?也许我要做一些愚蠢的事情..