问题标签 [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.
spring-boot - 检索作为卷挂载的 Kubernetes Secret
嗨,我正在玩 Kubernetes 的秘密。我的部署文件是:
我能够创建秘密,并将它们安装在我的部署中,如下所示:
我的问题是如何访问username
并password
在 spring-boot 应用程序中秘密创建?
我尝试使用${my-secrets.username}
and加载${username}
,但找不到值。
我还尝试在 deployment.yml 中添加秘密作为环境变量,如下所示:
在这种情况下,值是从秘密加载的,当我在 minikube 仪表板中更改秘密值时,它不会反映更改。
请帮助我了解这是如何工作的。
我正在使用minikube
和docker
作为容器
kubernetes - 与通常的卷安装相比,使用卷机密的优势
我想知道与 Kubernetes 中的标准文件挂载相比,使用秘密是否有任何优势。我必须提供凭据,保存在主机上的一个 pod 中,但我无法理解使用它们的优点是什么。
kubernetes - 在同一命名空间中的服务层隔离 Secret
我试图找出如何将我的 Kubernetes 机密隔离到特定的服务。
例如,假设我有两个名为private-key
和的秘密,public-key
以及两个 Kubernetes 服务auth-service和gateway-service。
我想向auth-serviceprivate-key
提供秘密以生成令牌并提供给网关服务以验证生成的令牌。所有秘密和服务都在同一个命名空间中。public-key
如何限制对private-key
auth -service的访问?
kubernetes - 在部署期间将秘密值注入 configmap,而不使用环境变量
我有一个像这样的配置图
app.conf 部分作为配置文件安装在容器内,使用
读取该文件的应用程序无法读取环境变量,我无法更改该行为,它是第三方应用程序。
我想知道如何在 pod 部署期间将密码中的密码注入密码字段
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
是类型,接下来的第三件事是什么?它是做什么的,什么时候需要包含这第三件事?
kubernetes - 如何在不杀死部署的情况下刷新 Worker Secret?
我想学习如何在不杀死和重新创建部署的情况下更新工作 pod 中的秘密。
目前,Pod 将秘密作为 env vars 拉入:
但这仅在它们启动时发生。
因此,如果需要更改秘密,我必须:
- 更改密码
secrets.yaml
kubectl apply -f secrets.yaml
kubectl delete -f worker-deployment.yaml
kubectl apply -f worker-deployment.yaml
我真的不喜欢第 3 步和第 4 步,因为它们会终止正在进行的工作。
更新 env var 机密的更好工作流程是什么?
gitlab - kubectl 通过 gitlab 抛出错误创建秘密
我正在使用 gitlab CI/CD 和 GKE。我正在尝试通过 gitlab 创建一个秘密。我收到如下错误
以下是 yaml 文件中的代码。
我该如何进行调试或修复。
kubernetes - Kubernetes:使用 CustomResourceDefinition + 运算符创建数据库访问机密
我计划在 k8s 上创建一个特殊的“部署者”部署(每个集群一个“部署者”)。它的作用是从一个中心位置提取规范,创建 k8s 清单并应用它们。最终结果应该是多个部署,每个部署都在它自己的命名空间中,带有服务和入口,以及包含数据库凭据的秘密。
我不想直接传输和管理数据库详细信息。相反,我正在考虑创建一个 CustomResourceDefinition 'dbservice',其中包含一个 DB 服务名称。然后配置一个 k8s 操作符,它将:
- 获取(监控)这样的“dbservice”资源。
- 如果此类服务已经存在,请与数据库托管服务联系。如果不是,它将使用自定义资源中的一些规范创建它。
- 获取主机名、密码、用户、数据库名称和端口,并将它们存储在部署 (envvar) 将使用的密钥中。
那样:
- 每个部署都会等待它的数据库密码,并且在密码存在之前不会启动,这意味着数据库已准备好。
- 我不必手动管理数据库服务。
- 我不必通过电线传输密码。
为此需要发生什么(根据我的计划):
- 操作员需要有权限与数据库托管提供商交谈(可能会使用 API 密钥访问另一个 k8s 存储的秘密)。
- 操作员需要具有在所有命名空间中创建机密的权限。
由于我对 k8s 和 devops 还很陌生,所以我想验证这种方法是否合理而不是反模式。
kubernetes - 当我编辑和保存 pod yaml 时,如何修复“map [] 不包含声明的合并键:名称”错误?
我正在尝试从私有注册表中提取图像。但是 pod 的状态是 'ImagePullBackOff',这意味着我需要向 pod 添加一个秘密。
所以我在 pod yaml 中添加了以下代码。
然后我得到了
我搜索到的解决方案是删除'imagePullSecret',这对我不起作用。我想知道如何修复错误。谁能帮我?
kubectl 版本是
kubernetes - 如何使用“kubectl patch --type='json'”更新机密
我创造了一个这样的秘密:
我想将用户名更新为,testuser2
但我只想使用kubectl patch --type='json'
.
这就是我尝试这样做的方式:
但我收到:
"" 无效
请记住,我想使用 选项来执行此操作--type='json'
,没有其他解决方法。