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的认证信息

Service Account

Service Account用来访问Kubernetes API,有Kubernetes自动创建,并且会自动挂载到Pod的/run/secrets/kubernetes.io/serviceaccount 目录中

$ kubectl run nginx --image nginx
deployment "nginx" created
$ kubectl get pods
...
$ kubectl exec nginx-xxx ls /run/secrets/kubernetes.io/serviceaccount
ca.crt
namespace
token

Opaque Secret

1.创建说明

$ echo -n "admin" | base64
YWRtaW4=
$ echo -n "1f2d1e2e67df" | base64
MWYyZDFlMmU2N2Rm

secrets.yaml

apiVersion: v1
kind: Secret
metadata:name: mysecret
type: Opaque
data:password: MWYyZDFlMmU2N2Rmusername: YWRtaW4=

2.使用方式

2.1 将Secret挂载到Volume中

apiVersion: v1
kind: Pod
metadata:labels:name: secret-testname: secret-test
spec:volumes:- name: secretssecret:secretName: mysecretcontainers:- image: myapp:v1name: dbvolumeMounts:- name: secretsmountPath: "/etc/secrets"readOnly: true

2.2 将Secret导入到环境变量中

apiVersion: extensions/v1beta1
kind: Deployment
metadata:name: pod-deployment
spec:replicas: 2template:metadata:labels:app: pod-deploymentspec:containers:- name: pod-1image: myapp:v1ports:- containerPort: 80env:- name: TEST_USERvalueFrom:secretKeyRef:name: mysecretkey: username- name: TEST_PASSWORDvalueFrom:secreKeyRef:name: mysecretkey: password

Kubernetes.io/dockerconfigjson

使用Kubectl创建docker registry认证的secret

$ kubectl create docker-registry myregistrykey --docker-server=hub.example.com --docker-username=admin --docker-password=Harbor12345 --docker-email=Yuan_sr@163.com

在创建Pod的时候,通过imagePullSecrets 来引用刚创建的myregistrykey

apiVersion: v1
kind: Pod
metadata:name: foo
spec:containers:- name: fooimage: wst/example:v1 #私有仓库中的镜像imagePullSecrets:- name: myregistrykey

Kubernetes存储之Secret相关推荐

  1. Kubernetes 存储(Configmap、Secret、Volume、PV-PVC)

    Kubernetes 存储 一.ConfigMap 1.ConfigMap描述信息 2.ConfigMap的创建 3.Pod中使用ConfigMap 4.ConfigMap的热更新 二.Secret ...

  2. 运维实操——kubernetes(九)存储之Secret配置管理Service Account、Opaque、dockerconfigjson

    存储之Secret配置管理Service Account.Opaque.dockerconfigjson 1.什么是Secret? 2.Service Account 3.Opaque (1)从文件中 ...

  3. 课时 21:Kubernetes 存储架构及插件使用(阚俊宝)

    本文将主要分享以下三方面的内容: Kubernetes 存储体系架构: Flexvolume 介绍及使用: CSI 介绍及使用. Kubernetes 存储体系架构 引例: 在 Kubernetes ...

  4. 从零开始入门 K8s | Kubernetes 存储架构及插件使用

    作者 | 阚俊宝 阿里巴巴高级技术专家 本文整理自<CNCF x Alibaba 云原生技术公开课>第 21 讲. 关注"阿里巴巴云原生"公众号,回复关键词**&quo ...

  5. 第7章:Kubernetes存储

    Kubernetes存储 1.为什么需要存储卷? 容器部署过程中一般有以下三种数据: ·启动时需要的初始数据,可以是配置文件 ·启动过程中产生的临时数据,该临时数据需要多个容器间共享 ·启动过程中产生 ...

  6. 深入浅出聊聊Kubernetes存储(二):搞定持久化存储

    回 顾 在本系列文章的上一篇中,我们讲到了PV,PVC,Storage Class以及Provisioner 简单回顾一下: PV在最一开始是设计成了一个需要管理员预先分配的存储块.引入Storage ...

  7. KUBERNETES存储之PERSISTENT VOLUMES简介

    KUBERNETES存储之PERSISTENT VOLUMES简介 简介 管理存储和管理计算有着明显的不同.PersistentVolume子系统给用户和管理员提供了一套API,从而抽象出存储是如何提 ...

  8. kubernetes存储:local,openEBS,rook ceph

    文章目录 Local 存储(PV) 概念 hostPath Local PV storageClassName指定延迟绑定动作 pv的删除流程 OpenEBS存储 控制平面 OpenEBS PV Pr ...

  9. Kubernetes存储之Heketi管理GlusterFS

    Kubernetes存储之Heketi管理GlusterFS GlusterFS是一个可扩展,分布式文件系统,集成来自多台服务器上的磁盘存储资源到单一全局命名空间,以提供共享文件存储特点:可以扩展到几 ...

最新文章

  1. python将字符串s和换行符写入文件fp_【python】文件操作
  2. 社会保险省内转移需要什么手续或过程?
  3. 【人脸对齐-Landmarks】人脸关键点检测方法及评测汇总
  4. linux把svs文件分割,freeebsd,pkg_add,svsup,make改服务器的设定
  5. new float查询长度 c++_C/C++经典面试题
  6. 25 条 SSH 命令和技巧
  7. grpc(5):使用grpc+consul 开发服务调用
  8. Java连接数据库实现增删改;查。
  9. OpenCV-Python教程:阈值化(threshold,adaptiveThreshold)
  10. 经典SFM步骤——Lowe2005
  11. influxdb 插入数据_influxdb写入数据
  12. scikit-learn:4.3. Preprocessing data(standardi/normali/binari..zation、encoding、missing value)
  13. Opencv2.4.9源码分析——Stitching(五)
  14. BACnet安全连接(BACnet/SC) 介绍
  15. html5中before,before和after用法详解
  16. MQ延迟队列实现延迟消息
  17. 华为设备Telnet配置命令及注释
  18. MobaXterm Professional v11.1 Build 3860 注册版-全功能SSH/X远程客户端-Xmanager最佳替代品
  19. 枚举的练习、声明一个枚举类型Status, Status(员工状态),可以限定为4个:空闲(Free),忙(Busy),休假(Vocation),离职(Left)
  20. e-office10.0用户连接SqlServer数据库配置说明

热门文章

  1. linux添加怎么退出,linux – 是否可以设置’expect’的退出代码
  2. Dreamwear如何创建javascript_JavaScript还可以处理日期?你只需要这样做
  3. win定时关机_如何设置电脑定时关机?电脑新手有必要掌握一波!
  4. oracle vm concat指定分隔符,重写Oracle的wm_concat函数,自定义分隔符、排序
  5. 数据中心消防设施常见安装间距汇总
  6. 区域链结构对于数据中心有什么影响?这个影响是好是坏呢!
  7. 野火 stm32f429 pcb_PCB板价格是如何核算的
  8. DL之SegNet:SegNet图像分割/语义分割算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  9. 透过源码看Session
  10. Netty对Protocol Buffer多协议的支持(八)