问题标签 [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 投票
2 回答
2005 浏览

spring-boot - 检索作为卷挂载的 Kubernetes Secret

嗨,我正在玩 Kubernetes 的秘密。我的部署文件是:

我能够创建秘密,并将它们安装在我的部署中,如下所示:

我的问题是如何访问usernamepassword在 spring-boot 应用程序中秘密创建?

我尝试使用${my-secrets.username}and加载${username},但找不到值。

我还尝试在 deployment.yml 中添加秘密作为环境变量,如下所示:

在这种情况下,值是从秘密加载的,当我在 minikube 仪表板中更改秘密值时,它不会反映更改。

请帮助我了解这是如何工作的。

我正在使用minikubedocker作为容器

0 投票
1 回答
55 浏览

kubernetes - 与通常的卷安装相比,使用卷机密的优势

我想知道与 Kubernetes 中的标准文件挂载相比,使用秘密是否有任何优势。我必须提供凭据,保存在主机上的一个 pod 中,但我无法理解使用它们的优点是什么。

0 投票
1 回答
89 浏览

kubernetes - 在同一命名空间中的服务层隔离 Secret

我试图找出如何将我的 Kubernetes 机密隔离到特定的服务。

例如,假设我有两个名为private-key和的秘密,public-key以及两个 Kubernetes 服务auth-servicegateway-service

我想向auth-serviceprivate-key提供秘密以生成令牌并提供给网关服务以验证生成的令牌。所有秘密和服务都在同一个命名空间中。public-key

如何限制对private-keyauth -service的访问?

0 投票
1 回答
2217 浏览

kubernetes - 在部署期间将秘密值注入 configmap,而不使用环境变量

我有一个像这样的配置图

app.conf 部分作为配置文件安装在容器内,使用

读取该文件的应用程序无法读取环境变量,我无法更改该行为,它是第三方应用程序。

我想知道如何在 pod 部署期间将密码中的密码注入密码字段

0 投票
1 回答
1472 浏览

go - Golang 结构中名称和类型后面的字符串是什么?

我在看https://godoc.org/k8s.io/api/core/v1#Secret

举 个Data map[string][]byte `json:"data,omitempty" protobuf:"bytes,2,rep,name=data"` 例子,我知道Data是名称,map[string][]byte是类型,接下来的第三件事是什么?它是做什么的,什么时候需要包含这第三件事?

0 投票
3 回答
5234 浏览

kubernetes - 如何在不杀死部署的情况下刷新 Worker Secret?

我想学习如何在不杀死和重新创建部署的情况下更新工作 pod 中的秘密。

目前,Pod 将秘密作为 env vars 拉入:

但这仅在它们启动时发生。

因此,如果需要更改秘密,我必须:

  1. 更改密码secrets.yaml
  2. kubectl apply -f secrets.yaml
  3. kubectl delete -f worker-deployment.yaml
  4. kubectl apply -f worker-deployment.yaml

我真的不喜欢第 3 步和第 4 步,因为它们会终止正在进行的工作。

更新 env var 机密的更好工作流程是什么?

0 投票
1 回答
765 浏览

gitlab - kubectl 通过 gitlab 抛出错误创建秘密

我正在使用 gitlab CI/CD 和 GKE。我正在尝试通过 gitlab 创建一个秘密。我收到如下错误

以下是 yaml 文件中的代码。

我该如何进行调试或修复。

0 投票
2 回答
160 浏览

kubernetes - Kubernetes:使用 CustomResourceDefinition + 运算符创建数据库访问机密

我计划在 k8s 上创建一个特殊的“部署者”部署(每个集群一个“部署者”)。它的作用是从一个中心位置提取规范,创建 k8s 清单并应用它们。最终结果应该是多个部署,每个部署都在它自己的命名空间中,带有服务和入口,以及包含数据库凭据的秘密。

我不想直接传输和管理数据库详细信息。相反,我正在考虑创建一个 CustomResourceDefinition 'dbservice',其中包含一个 DB 服务名称。然后配置一个 k8s 操作符,它将:

  1. 获取(监控)这样的“dbservice”资源。
  2. 如果此类服务已经存在,请与数据库托管服务联系。如果不是,它将使用自定义资源中的一些规范创建它。
  3. 获取主机名、密码、用户、数据库名称和端口,并将它们存储在部署 (envvar) 将使用的密钥中。

那样:

  1. 每个部署都会等待它的数据库密码,并且在密码存在之前不会启动,这意味着数据库已准备好。
  2. 我不必手动管理数据库服务。
  3. 我不必通过电线传输密码。

为此需要发生什么(根据我的计划):

  1. 操作员需要有权限与数据库托管提供商交谈(可能会使用 API 密钥访问另一个 k8s 存储的秘密)。
  2. 操作员需要具有在所有命名空间中创建机密的权限。

由于我对 k8s 和 devops 还很陌生,所以我想验证这种方法是否合理而不是反模式。

0 投票
2 回答
7643 浏览

kubernetes - 当我编辑和保存 pod yaml 时,如何修复“map [] 不包含声明的合并键:名称”错误?

我正在尝试从私有注册表中提取图像。但是 pod 的状态是 'ImagePullBackOff',这意味着我需要向 pod 添加一个秘密。

所以我在 pod yaml 中添加了以下代码。

然后我得到了

我搜索到的解决方案是删除'imagePullSecret',这对我不起作用。我想知道如何修复错误。谁能帮我?

kubectl 版本是

0 投票
1 回答
9372 浏览

kubernetes - 如何使用“kubectl patch --type='json'”更新机密

我创造了一个这样的秘密:

我想将用户名更新为,testuser2但我只想使用kubectl patch --type='json'.

这就是我尝试这样做的方式:

但我收到:

"" 无效

请记住,我想使用 选项来执行此操作--type='json',没有其他解决方法。