Secret

Secret解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod Spec中。Secret可以以Volume或者环境变量的方式使用。
Secret有三种类型:
  • Service Account:用来访问Kubernetes API,由Kubernetes自动创建,并且会自动挂载到Pod的/run/secrets/kubernetes.io/serviceaccount目录中;
  • Opaque:base64编码格式的Secret,用来存储密码、密钥等;
  • kubernetes.io/dockerconfigjson:用来存储私有docker registry的认证信息。

Opaque Secret

Opaque类型的数据是一个map类型,要求value是base64编码格式:
$ echo -n "admin" | base64
YWRtaW4=
$ echo -n "1f2d1e2e67df" | base64
MWYyZDFlMmU2N2Rm
secrets.yml
apiVersion: v1kind: Secretmetadata:
name: mysecrettype: Opaquedata:
password: MWYyZDFlMmU2N2Rm
username: YWRtaW4=
接着,就可以创建secret了:kubectl create -f secrets.yml。
创建好secret之后,有两种方式来使用它:
  • 以Volume方式
  • 以环境变量方式

将Secret挂载到Volume中

apiVersion: v1kind: Podmetadata:
labels:
name: db
name: dbspec:
volumes:
- name: secrets
secret:
secretName: mysecret
containers:
- image: gcr.io/my_project_id/pg:v1
name: db
volumeMounts:
- name: secrets
mountPath: "/etc/secrets"
readOnly: true
ports:
- name: cp
containerPort: 5432
hostPort: 5432

将Secret导出到环境变量中

apiVersion: extensions/v1beta1kind: Deploymentmetadata:
name: wordpress-deploymentspec:
replicas: 2
strategy:
type: RollingUpdate
template:
metadata:
labels:
app: wordpress
visualize: "true"
spec:
containers:
- name: "wordpress"
image: "wordpress"
ports:
- containerPort: 80
env:
- name: WORDPRESS_DB_USER
valueFrom:
secretKeyRef:
name: mysecret
key: username
- name: WORDPRESS_DB_PASSWORD
valueFrom:
secretKeyRef:
name: mysecret
key: password

kubernetes.io/dockerconfigjson

可以直接用kubectl命令来创建用于docker registry认证的secret:
$ kubectl create secret docker-registry myregistrykey --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
secret "myregistrykey" created.
也可以直接读取~/.docker/config.json的内容来创建:
$ cat ~/.docker/config.json | base64
$ cat > myregistrykey.yaml <<EOFapiVersion: v1kind: Secretmetadata: name: myregistrykeydata: .dockerconfigjson: UmVhbGx5IHJlYWxseSByZWVlZWVlZWVlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGx5eXl5eXl5eXl5eXl5eXl5eXl5eSBsbGxsbGxsbGxsbGxsbG9vb29vb29vb29vb29vb29vb29vb29vb29vb25ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubmdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2cgYXV0aCBrZXlzCg==type: kubernetes.io/dockerconfigjsonEOF
$ kubectl create -f myregistrykey.yaml
在创建Pod的时候,通过imagePullSecrets来引用刚创建的myregistrykey:
apiVersion: v1kind: Podmetadata:
name: foospec:
containers:
- name: foo
image: janedoe/awesomeapp:v1
imagePullSecrets:
- name: myregistrykey

Service Account

Service Account用来访问Kubernetes API,由Kubernetes自动创建,并且会自动挂载到Pod的/run/secrets/kubernetes.io/serviceaccount目录中。
$ kubectl run nginx --image nginx
deployment "nginx" created
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-3137573019-md1u2 1/1 Running 0 13s
$ kubectl exec nginx-3137573019-md1u2 ls /run/secrets/kubernetes.io/serviceaccount
ca.crt
namespace
token

17 名词解释 Secret相关推荐

  1. 计算机组成原理名词解释常用,2018考研408计算机组成原理名词解释(3)

    2018考研408计算机组成原理名词解释(3) 2017-09-29 16:02 | 考研集训营 随着时代的快速发展,任何行业都离不开网络,导致计算机行业近几年非常的火热,使各大高校竞相争抢优秀人才, ...

  2. 计算机组成名词解释移码,自考“计算机组成原理”串讲资料

    硬盘的存储容量常用 GB 表示,1GB=1024MB: 第2章 数据编码和数据运算 一.名词解释: 历年真题: (2001年,2002年)基数:在浮点数据编码中,对阶码所代表的指数值的数据,在计算机中 ...

  3. 熟读《阿里巴巴java开发手册》(六、工程结构,七、 设计规约,专有名词解释)

    目录 六.工程结构 (一) 应用分层 (二) 二方库依赖 (三) 服务器 七. 设计规约 附 2: 专有名词解释 六.工程结构 (一) 应用分层 1. [推荐] 图中默认上层依赖于下层,箭头关系表示可 ...

  4. kafka 名词解释及原理解析过程(三)

    为什么要了解这些名词的解释呢?因为在学一个新的知识或者领域的时候,我们需要知道它所定义的概念和名词意思,因为只有这样我们才能理解和掌握这个新的知识点,才能更加系统的掌握这个技术. 一.名词解释 1.b ...

  5. 计算机组成与系统结构名词解释,北京邮电大学 计算机系统结构(体系结构) 期末复习 术语解释...

    北邮 体系结构 期末复习 简答题(名词解释) 1. 计算机系统结构:机器语言程序员所看到的传统机器级所具有的属性,它包括概念性结构和功能特性两个方面. 2. 计算机组成:指的是计算机系统结构的逻辑实现 ...

  6. camera(25)----拍照显示总结---名词解释

    拍照显示总结-----名词解释 1.特效:特效是相对于普通的照片或者录像,加上的一些修饰性的效果.特效一般包括声音特效和视觉特效. 2.白平衡( White Balance):就是摄像机对白色物体的还 ...

  7. 专升本c语言名词解释题_福建普通高校专升本各类别考试题型及分值

    大学英语 第一部分  选择题(105分) ○ 单项选择题:30小题,每小题1.5分,共45分: ○完形填空:两大题,每大题10小题,每小题1.5分,共30分: ○阅读理解A:三大题,每大题5小题,每小 ...

  8. 地震勘探原理名词解释

    地震勘探原理名词解释(复习一下) (2010-11-21 22:22:07) 转载▼   分类: 专业知识 地震勘探:通过人工方法激发地震波,研究地震波在地层中传播的情况,以查明地下的地质构造,力寻找 ...

  9. 妇产科护理学名词解释

    妇产科护理学名词解释 一.名词解释 1.以家庭为中心的产科护理:确定并针对个案.家庭.新生儿在生理.心理.社会等方面的需要及调适,向他们提供具有安全性和高质量的健康照顾,尤其强调提供促进家庭成员间的凝 ...

最新文章

  1. 全面解析RS232、RS485、RS422、RJ45接口的区别和各自的应用
  2. OA系统常见的审批流程
  3. 漏洞工具:nmap和nessus
  4. 个人编程思想理解的片段(主要是面向对象的,参考了许多人的观点,还不成熟,没形成系统,请大家多指点)...
  5. 人月神话-外科手术队伍:团队建设
  6. 使用一个for循环将N*N的二维数组的所有值置1
  7. EasyUI-增删改操作
  8. c语言编程流水灯与交通灯实验,51单片机c语言交灯设计报告.doc
  9. 防御 DDoS 的终极奥义——又拍云 SCDN
  10. mysql nlssort_Oracle数据库中文拼音,部首,笔画排序问题,NLS_SORT设置
  11. 图片处理——使用NDK添加文字和图片水印
  12. 华人教授世界一流大学观察报告:斯坦福师生吃饭时,谈论的都是什么话题?...
  13. dx12 龙书第五章学习笔记 -- 渲染流水线
  14. mysql获取记录的插入时间_mysql 自动记录数据插入及最后修改时间
  15. 关于vivo手机拍照后无法跳转裁剪
  16. 神级:程序员面试、算法研究、编程艺术、红黑树、机器学习5大经典原创系列集锦与总结
  17. css路径自动加上了路径_CSS和关键路径
  18. #1034 : 毁灭者问题
  19. 计算机网络安装维护经验,宽带维护经验和安装技巧
  20. Vue中实现图片放大镜效果代码 复制即可用

热门文章

  1. centos 6.5 安装 oracle 11g,安装Centos6.5 安装Oracle 11g详细过程
  2. 【已解决】java.net.ConnectException: Connection timed out: no further information
  3. 什么是repair?什么是soft repair、hard repair、lane repair?
  4. maven打包出错:There are test failures
  5. outline的用法,outline和border的区别
  6. 点击li任意项下拉隐藏-toggle
  7. 平摊分析(Amortized Analysis)-- Potential Method
  8. 数据挖掘基础:度量数据的相似性和相异性
  9. Autoware源码分析——astar_avoid
  10. 项目教程 | Pycharm+Pyqt5+Eric6实现逻辑与界面分离(实例教学)