Files
kuboard-press/learning/k8s-intermediate/config/secrets/index.md
huanqing.shao 959296e3ae vssue
2019-09-28 17:42:44 +08:00

1.9 KiB
Raw Blame History

vssueId, layout, description
vssueId layout description
65 LearningLayout Kubernetes教程_在Kubernetes中_配置和使用_Secret

Secret概述

参考文档: Kubernetes 官网文档 Secrets

概述

Kubernetes Secret 对象可以用来储存敏感信息例如密码、OAuth token、ssh 密钥等。如果不使用 Secret,此类信息可能被放置在 Pod 定义中或者容器镜像中。将此类敏感信息存储到 Secret 中,可以更好地:

  • 控制其使用
  • 降低信息泄露的风险

用户可以直接创建 SecretKubernetes 系统也会创建一些 Secret。

Secret有如下几种使用方式

  • 作为 Pod 的数据卷挂载
  • 作为 Pod 的环境变量
  • kubelet 在抓取容器镜像时,作为 docker 镜像仓库的用户名密码

内建Secret

Service Account 将自动创建 Secret

Kubernetes 自动创建包含访问 Kubernetes APIServer 身份信息的 Secret并自动修改 Pod 使其引用这类 Secret。

如果需要,可以禁用或者自定义自动创建并使用 Kubernetes APIServer 身份信息的特性。然而,如果您期望安全地访问 Kubernetes APIServer您应该使用默认的 Secret 创建使用过程。

如需了解更多细节,参考 Configure Service Accounts for Pods

自建Secret

您可以使用如下方式创建自己的 Secret

解码和编辑

Kubenetes 中Secret 使用 base64 编码存储,您可以将其 解码 获得对应信息的原文,创建 Secret 之后,您也可以再次 编辑 Secret