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

46 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
vssueId: 65
layout: LearningLayout
description: Kubernetes教程_在Kubernetes中_配置和使用_Secret
---
# Secret概述
参考文档: Kubernetes 官网文档 [Secrets](https://kubernetes.io/docs/concepts/configuration/secret/)
## 概述
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](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/)
## 自建Secret
您可以使用如下方式创建自己的 Secret
* [使用 kubectl 创建 Secret](./create-kubectl.html)
* [手动创建 Secret](./create-manually.html)
* [使用 Generator 创建 Secret](./create-generator.html)
* [使用 Kuboard 创建 Secret](./create-kuboard.html)
## 解码和编辑
Kubenetes 中Secret 使用 base64 编码存储,您可以将其 [解码](./decode-edit.html) 获得对应信息的原文,创建 Secret 之后,您也可以再次 [编辑](./decode-edit.html) Secret