在 Kubernetes 中,可以使用 Secret 来存储敏感信息,例如密码、API 密钥等。这些数据是加密的,并且只能被授权的用户或 Pod 访问。你可以在 YAML 文件中使用 Secret,以下是一些基本步骤:
- 创建 Secret:首先需要创建一个 Secret 对象并填充其数据。可以通过命令行或 YAML 文件来创建。以下示例创建了一个名为 mysecret 的 Secret 对象,其中包含两个键值对 username 和 password:
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
username: YWRtaW4= # Base64 编码的用户名 "admin"
password: MWYyZDFlMmU2N2Rm # Base64 编码的密码 "1f2d1e2e67df"
- 在 Pod 中使用 Secret:然后,在 Pod 的 YAML 文件中添加 Volume 和 VolumeMounts 对象来将该 Secret 挂载到容器内部并让容器访问它。
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: myimage
volumeMounts:
- name: secret-volume # 这里的name要与下面的volumes名称一致
mountPath: /etc/myapp/config/
readOnly: true
volumes:
- name : secret-volume # 名称可自定义
secret :
secretName : mysecret # 这里指定之前创建的Secret对象的名称
这里我们将 Secret 挂载到容器中的 /etc/myapp/config 目录,容器可以读取该目录下的文件。
总之,在 YAML 文件中使用 Secret 需要两个步骤:创建 Secret 和在 Pod 中使用 Volume 和 VolumeMounts 对象来挂载它。