kubectl create secret 是 Kubernetes 中用于创建 Secret 对象的命令。Secret 对象用于存储敏感信息,例如密码、密钥等。这些信息将被加密并存储在 etcd 中。
使用 kubectl create secret 命令创建 Secret 对象的语法如下:
kubectl create secret [options] <type> <name> <data>
其中,各参数说明如下:
type:指定 Secret 类型,支持以下几种类型:generic:默认类型,可以存储任意格式的数据。docker-registry:用于存储 Docker 镜像仓库登录信息。tls:用于存储 SSL/TLS 证书和私钥。ssh-auth:用于存储 SSH 认证相关信息。
name:指定 Secret 对象名称。data:指定要存储的数据。
常见选项包括:
-n/--namespace: 指定命名空间,默认为 default。--from-file=<key>=<path>: 将本地文件中的内容写入到 Secret 中,其中<key>是键名,<path>是文件路径。
例如,在默认命名空间下创建一个名为 my-secret 的 generic 类型的 Secret 对象,并设置其值为 hello world,可以使用以下命令:
kubectl create secret generic my-secret --from-literal=my-key=hello world
如果要将该值写入文件并作为 Secret 对象中的 data 使用,则需要先将其写入文件,然后使用 --from-file 参数将文件内容导入 Secret 中。
例如,将该值写入到名为 my-secret.txt 的文件中,并将其作为名为 my-secret 的 generic 类型的 Secret 对象的 data 使用,可以使用以下命令:
echo "hello world" > my-secret.txt
kubectl create secret generic my-secret --from-file=my-key=my-secret.txt
注意:Secret 中保存的数据是经过 base64 编码的。因此,如果需要查看或修改 Secret 中的数据,必须先进行 base64 解码/编码。可以使用以下命令进行解码:
echo <base64-encoded-data> | base64 -d
其中 <base64-encoded-data> 是要解码的数据。




