k8sSecret资源
Posted caibao666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8sSecret资源相关的知识,希望对你有一定的参考价值。
Secret资源的功能类似于ConfigMap,但它专用于存放敏感数据,如密码、数字证书、私钥、令牌和ssh key等。
一、概述
Secret对象存储数据以键值方式存储数据,再pod资源中通过环境变量或存储卷进行数据访问。Secret对象仅会被分发至调用了此对象的pod资源所在的工作节点,且只能由节点将其存储于内存中。另外,Secret对象的数据的存储及打印格式为base64编码的字符串,因此用户在创建对象时也要提供此种编码格式的数据。不过,在容器中以环境变量或存储卷的方式访问时,他们会被自动解码为明文格式。
在master节点上,Secret对象以非加密的格式存储于etcd中,因此管理员必须加以精心管控以确保敏感数据的机密性,必须确保etcd集群节点间以及与APIserver的安全通信,etcd服务的访问授权,还包括用户访问APIServer时的授权,因为拥有创建pod资源的用户都可以使用Secret资源并能够通过pod中的容器访问其数据。
Secret对象主要有两种用途,一是作为存储卷注入到pod上,由容器应用程序所使用,二是用于kubelet为pod里的容器拉取镜像时向私有仓库提供认证信息。Secret资源主要有四种类型组成:
1、Opaque:自定义数据内容;base64编码,用来存储密码、密钥、信息、证书等数据,类型标识符为generic
2、kubernetes.io/service-account-token:ServiceAccount的认证信息,可在创建service account时由kubernetes自动创建
3、kubernetes.io/dockerconfigjson: 用来存储Docker镜像仓库的认证信息,类型标识符为docker-registry
4、kubernetes.io/tls:用于为ssl通信模式存储证书和私钥文件,命令式创建时类型标识符为tls。
二、创建Secret资源
1、命令式创建
$ kubectl create secrete generic mysql-auth --from-literal=username=root --from-literal=password=123456
以上是关于k8sSecret资源的主要内容,如果未能解决你的问题,请参考以下文章
Android 安装包优化移除无用资源 ( 自动移除无用资源 | 直接引用资源 | 动态获取资源 id | Lint 检查资源 )
Unity3D资源文件 ③ ( Unity 资源包简介 | 导出 Unity 资源包 | 导出资源包的包含依赖选项 | 导入 Unity 资源包 | Unity 资源商店 )