问题标签 [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.
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",
},
}
kubernetes - 从作业创建或编辑 Kubernetes 密钥
我正在尝试从 Kubernetes 作业生成 Kubernetes 机密。秘密是 TLS 证书,对于弹性搜索传输,我尝试了这项工作:
但正如https://github.com/kubernetes/kubernetes/issues/62099所说,卷/certs
是只读的。有没有办法像这样创建/编辑这个秘密?
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
文件已正确加密,但不幸的是我无法将其解密回来。该命令被无限期暂停,如图所示
kubernetes - 为具有 k8s 机密的容器生成动态运行时 YAML
我正在部署一项服务,该服务严格采用 YAML 配置,如下所示:
TL;博士; 我只想将, & cert 文件存储在秘密中。tenantid
clientid
k8s
我目前的解决方案是将整个 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
。
我只需要在动态配置中填写两个字符串项:clientid
和tenantid
.
使用 just kubectl
,如何为容器创建动态 YAML - 将非敏感 YAML 模板存储在deploy.yaml
- 并且只包含敏感项目k8s secrets
?
kubernetes - 如何将多个文件/秘密挂载到 kubernetes 的公共目录中?
我从不同的文件创建了多个秘密。我想将它们全部存储在 common 目录中/var/secrets/
。不幸的是,我无法做到这一点,因为 kubernetes在 pod 验证步骤中抛出“无效值:“/var/secret”:必须是唯一错误。下面是我的 pod 定义的示例。
如何将来自多个机密的文件存储在同一目录中?
kubernetes - 在配置映射中使用 Kubernetes 机密作为环境变量
我在容器中有一个应用程序,它从 configMap 读取某些数据,如下所示
现在我为密码创建了一个秘密,并在启动容器时作为环境变量安装。
我的吊舱看起来像:
我尝试在 configMap 中使用这个环境变量:
但我的应用程序无法读取此密码。我在这里错过了什么吗?
编辑:
我无法将 application.yaml 更改为任何其他形式,因为我的服务器在源路径中查找 application.yaml。我们有什么方法可以在 values.yaml(helm) 文件中使用该环境变量并在 configmap 中使用它吗?
kubernetes - 在 sts 副本中使用不同的 Secret
我正在尝试根据 Pod 的索引在 StatefulSet 上使用不同的秘密。这是我尝试过的事情:
但是,mysecret-$(POD_NAME)
没有正确地作为参数替代,而myhost-$(POD_NAME)
行为正确。
我怎么解决这个问题?目标是在 StatefulSet 的不同副本上设置来自 secret/configmaps 的不同变量。
kubernetes - 字节数组作为 kubernetes 的秘密?
我想知道是否可以将字节数组作为 kubernetes 机密。我创建了一个字节数组和一个 base64 编码的字符串,如下所示
然后我在 kubernetes 机密中使用了生成的字符串。秘密创建成功。现在我希望在 kubernetes 中运行的 Spring Boot 应用程序读取和解码该值。但是,我得到一个 IllegalArgumentException (Illegal base64 character) 当本地运行应用程序从属性文件中读取相同的令牌时,它可以被解码。
所以我的问题又来了:是否可以使用字节数组作为 kubernetes 机密?
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 运行,这是不好的做法并且将被弃用)?
谢谢,康纳
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
我看到有volumes
和volume_mounts
参数,但我不明白如何使用它们。
任何人都可以帮我解决这个问题吗?也许我要做一些愚蠢的事情..