Bap*_*ias 5 kubernetes kubernetes-secrets
现在,我使用静态文件部署我的应用程序 pod,其中之一是app-secrets.yaml部署应用程序的所有秘密
---
apiVersion: v1
kind: Secret
metadata:
name: app-secrets
type: Opaque
data:
root: xxxxxx
user1: xxxxxx
user2: xxxxxx
Run Code Online (Sandbox Code Playgroud)
但这既不安全也不方便(如果我需要另一个应用程序实例,我必须使用人工生成的密码创建另一个文件)。
我希望在创建应用程序时生成随机密码,但我不知道是否可行。我已经看过主题秘密,特别是secretGenerator但这并不是我所理解的直接想要的,因为它不会创建随机字符串而是随机秘密名称,例如secret/app-secrets-ssdsdfmfh4k但我仍然必须提供密码。
您可能想使用kubernetes-secret-generator。我已经测试过它,它完全符合您的需要。
要完成此任务,您必须在集群中拥有 helm 并按照以下说明进行操作:
克隆存储库
$ git clone https://github.com/mittwald/kubernetes-secret-generator
Run Code Online (Sandbox Code Playgroud)
创建 helm 部署
$ helm upgrade --install secret-generator ./deploy/chart
Run Code Online (Sandbox Code Playgroud)
现在你要使用它,你只需要
为任何 Kubernetes Secret 对象添加注释
secret-generator.v1.mittwald.de/autogenerate。注释的值可以是 Secret 中的字段名称(或逗号分隔的字段名称列表);SecretGeneratorController 将选取此注释,并password使用随机生成的字符串值将一个字段(或多个字段)(在下面的示例中)添加到密钥中。从这里。
$ kubectl apply -f mysecret.yaml
apiVersion: v1
kind: Secret
metadata:
name: mysecret
annotations:
secret-generator.v1.mittwald.de/autogenerate: password
data:
username: UGxlYXNlQWNjZXB0Cg==
Run Code Online (Sandbox Code Playgroud)
应用此秘密后,您可以查看它以检查密码是否按预期生成:
$ kubectl get secrets mysecret -o yaml
apiVersion: v1
data:
password: dnVKTDBJZ0tFS1BacmtTMnBuc3d2YWs2YlZsZ0xPTUFKdStDa3dwUQ==
username: UGxlYXNlQWNjZXB0Cg==
kind: Secret
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","data":{"username":"UGxlYXNlQWNjZXB0Cg=="},"kind":"Secret","metadata":{"annotations":{"secret-generator.v1.mittwald.de/autogenerate":"password"},"name":"mysecret","namespace":"default"}}
secret-generator.v1.mittwald.de/autogenerate: password
secret-generator.v1.mittwald.de/autogenerate-generated-at: 2020-01-09 14:29:44.397648062
+0000 UTC m=+664.011602557
secret-generator.v1.mittwald.de/secure: "yes"
creationTimestamp: "2020-01-09T14:29:44Z"
name: mysecret
namespace: default
resourceVersion: "297425"
selfLink: /api/v1/namespaces/default/secrets/mysecret
uid: 7ae42d71-32ec-11ea-92b3-42010a800009
type: Opaque
Run Code Online (Sandbox Code Playgroud)
正如我们所看到的,密码已生成。
| 归档时间: |
|
| 查看次数: |
4589 次 |
| 最近记录: |