# Secret类型

通常使用`kubectl create`命令可以创建三种类型的Secret，除此之外，还有一种类型，下面对四种类型进行简述：

1. [**generic**](https://yangsijie151104.gitbook.io/k8s-note/configmap-he-secret/secret/secret-lei-xing/generic-lei-xing-secret)：最普通的类型，其`spec.type=Opaque`，该类型的Secret主要就是用来向容器中传递私密数据的，可以以环境变量（不推荐）的方式传递，同样可以以卷的方式挂载，然后在容器中以文件的方式存在；
2. [**docker-registry**](https://yangsijie151104.gitbook.io/k8s-note/configmap-he-secret/secret/secret-lei-xing/dockerregistry-lei-xing-secret)：其`spec.type=kubernetes.io/dockerconfigjson`，该类型的Secret是用来从私有镜像仓库中下载镜像；
3. [**tls**](https://yangsijie151104.gitbook.io/k8s-note/configmap-he-secret/secret/secret-lei-xing/tls-lei-xing-secret)：其`spec.type=kubernetes.io/tls`，该类型的Secret通常是在[**Ingress**](https://yangsijie151104.gitbook.io/k8s-note/service/ji-qun-wai-bu-fang-wen-nei-bu-pod/ingress)中使用的，以处理TLS传输的；
4. **service-account-token:** 其`spec.type=kubernetes.io/service-account-token`，该类型的Secret通常与ServiceAccout有关，是为了赋予Pod相关权限以访问Kubernetes资源的；

在这里，我们主要介绍前三种类型的Secret。
