我继承了Kubernetes/Docker的配置,但不小心修改了与数据库密码有关的东西,导致pod崩溃。
我试图解决这个问题。
我没有太多的Kubernetes或Docker经验,我还在学习阶段。
这个值包含在db-user-pass凭证里面,这是一个不透明类型的密码。
我describing
它:
kubectl describe secrets/db-user-pass
Name: db-user-pass
Namespace: default
Labels: <none>
Annotations: <none>
Type: Opaque
Data
====
password: 16 bytes
username: 13 bytes
但我不知道如何从这个密钥中获得明文。Kubernetes网站上的例子似乎假定我有一个base64编码的字符串,但我连这个都获取不到。我怎样才能得到这个值呢?
你可以使用
kubectl get secrets/db-user-pass -o yaml
或-o json
,你会看到base64编码的username
和password
。然后,你可以复制这个值,并使用echo <ENCODED_VALUE> | base64 -D
(Mac OS X)这样的方法进行解码。一个更方便获取的方式是:
kubectl get secrets/db-user-pass --template={{.data.password}} | base64 -D
同样的,对于
username
也是如此:kubectl get secrets/db-user-pass --template={{.data.username}} | base64 -D
注意:在GNU/Linux上,base64标志是
-d
,而不是-D
。谢谢,获取到了!
你的答案