Python微信订餐小程序课程视频
https://edu.csdn.net/course/detail/36074
Python实战量化交易理财系统
https://edu.csdn.net/course/detail/35475
1. 简介
Secret 是一种包含少量敏感信息例如密码、令牌或密钥的对象。 这样的信息可能会被放在 Pod 规约中或者镜像中。 使用 Secret 意味着你不需要在应用程序代码中包含机密数据。
由于创建 Secret 可以独立于使用它们的 Pod, 因此在创建、查看和编辑 Pod 的工作流程中暴露 Secret(及其数据)的风险较小。 Kubernetes 和在集群中运行的应用程序也可以对 Secret 采取额外的预防措施, 例如避免将机密数据写入非易失性存储。
Secret 类似于 ConfigMap 但专门用于保存机密数据。
2. 4种创建方式
$ kubectl create secret -h
Create a secret using specified subcommand.
Available Commands:
docker-registry 创建一个给 Docker registry 使用的 secret
generic 从本地 file, directory 或者 literal value 创建一个 secret
tls 创建一个 TLS secret
2.1 通过key-value创建
$ kubectl create secret generic secret-test-1 --from-literal=username=zhangtieniu --from-literal=password=123456
还有种简单的创建方式创建此种类型的ConfigMap
$ kubectl create secret generic secret-test-1 --from-env-file=./secret-env.txt
2.2 通过配置文件创建
$ kubectl create secret generic ssh-key-secret \
--from-file=ssh-privatekey=./.ssh/id\_rsa \
--from-file=ssh-publickey=./.ssh/id\_rsa.pub
2.3 通过配置文件的目录创建
$ kubectl create secret generic ssh-key-secret --from-file=./
2.4 直接编写Secret文件
在创建 Secret 编写配置文件时,你可以设置 data
与/或 stringData
字段。 data
和 stringData
字段都是可选的。
data
字段中所有键值都必须是 base64 编码的字符串。
如果不希望执行这种 base64 字符串的转换操作,你可以选择设置 stringData
字段,其中可以使用任何字符串作为其取值。
kubernetes.io/basic-auth
类型用来存放用于基本身份认证所需的凭据信息。 使用这种 Secret 类型时,Secret 的 data
字段必须包含以下两个键:
username
: 用于身份认证的用户名;password
: 用于身份认证的密码或令牌。
在创建 Secret 时使用 stringData
字段来提供明文形式的内容。 下面的 YAML 是基本身份认证 Secret 的一个示例清单:
apiVersion: v1
kind: Secret
metadata:
name: secret-basic-auth
type: kubernetes.io/basic-auth
stringData:
username: zhangtieniu
# 值必须为string类型,所以数值类型的密码必须加引号
password: "123456"
直接编写secret data文件如下
apiVersion: v1
data:
password: MTIzNDU2
username: emhhbmd0aWVuaXU=
kind: Secret
metadata:
name: secret-basic-auth
typ