例如,我正在使用以下命令创建 kubernetes 通用密钥:
kubectl create secret generic passwords \
--from-literal=TestUser='mypass' -n mynamespace
我会得到以下秘密:
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: v1
data:
TestUser: bXlwYXNz
kind: Secret
metadata:
creationTimestamp: "2024-07-19T16:32:07Z"
name: passwords
namespace: mynamespace
resourceVersion: "8419787023"
uid: fc203ef1-5aca-4e54-afe8-171a6062be48
type: Opaque
但是正如您所看到的,密码是用 base64 编码的,我怎样才能禁用编码以获得纯文本?
测试用户:mypass
我在 kubernetes 文档中找不到此信息。
谢谢。
但是正如您所看到的,密码是用 base64 编码的,我怎样才能禁用编码以获得纯文本?
你不能。当您查看清单时,秘密值“始终”表示为 base64 编码文本(因为秘密包含二进制数据并不罕见)。如果您将 pod 内的秘密公开为环境变量或文件,您将看到未编码的值。