我继承了一个 Kubernetes/Docker 设置,我不小心通过更改与 DB 密码相关的内容使 pod 崩溃。
我正在尝试解决此问题。
我没有太多 Kubernetes 或 Docker 经验,所以我还在学习如何做事。
我相信该值包含在 db-user-pass 凭据中,这是一个不透明类型的机密。
我在描述它:
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 编码的字符串,但我什至无法理解。我如何获得这个价值?
原文由 Steven Matthews 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用
kubectl get secrets/db-user-pass -o yaml
或-o json
您将看到 base64 编码的username
和password
然后,您可以复制该值并使用echo <ENCODED_VALUE> | base64 -D
(Mac OS X) 之类的内容对其进行解码。一个更紧凑的单线:
同样对于用户名:
注意:在 GNU/Linux 上,base64 标志是
-d
,而不是-D
。