kubernetes视频教程笔记 (22)-存储-Secret
一、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 的认证信息
二、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
三、Opaque Secret
Ⅰ、创建说明
Opaque 类型的数据是一个 map 类型,要求 value 是 base64 编码格式:
$ echo -n "admin" | base64
YWRtaW4=$ echo -n "1f2d1e2e67df" | base64
MWYyZDFlMmU2N2Rm
secrets.yml
apiVersion: v1
kind: Secret
metadata:name: mysecret
type: Opaque
data:password: MWYyZDFlMmU2N2Rmusername: YWRtaW4=
Ⅱ、使用方式
1、将 Secret 挂载到 Volume 中
apiVersion: v1
kind: Pod
metadata:labels:name: seret-testname: seret-test
spec:volumes:- name: secretssecret:secretName: mysecretcontainers:- image: hub.atguigu.com/library/myapp:v1name: dbvolumeMounts:- name: secretsmountPath: "readOnly: true
2、将 Secret 导出到环境变量中
apiVersion: extensions/v1beta1
kind: Deployment
metadata:name: pod-deployment
spec:replicas: 2template:metadata:labels:app: pod-deploymentspec:containers:- name: pod-1image: hub.atguigu.com/library/myapp:v1ports:- containerPort: 80env:- name: TEST_USERvalueFrom:secretKeyRef:name: mysecretkey: username- name: TEST_PASSWORDvalueFrom:secretKeyRef:name: mysecretkey: password
四、kubernetes.io/dockerconfigjson
使用 Kuberctl 创建 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.
在创建 Pod 的时候,通过 imagePullSecrets 来引用刚创建的 `myregistrykey`
apiVersion: v1
kind: Pod
metadata:name: foo
spec:containers:- name: fooimage: roc/awangyang:v1imagePullSecrets:- name: myregistrykey
重启
内容来自https://study.163.com/course/courseMain.htm?courseId=1209568805
kubernetes视频教程笔记 (22)-存储-Secret相关推荐
- Kubernetes K8S之存储Secret详解
Kubernetes K8S之存储Secret详解 Secret概述 Secret类型 Service Account Opaque Secret 创建secret 将Secret挂载到Volume中 ...
- 运维实操——kubernetes(九)存储之Secret配置管理Service Account、Opaque、dockerconfigjson
存储之Secret配置管理Service Account.Opaque.dockerconfigjson 1.什么是Secret? 2.Service Account 3.Opaque (1)从文件中 ...
- Kubernetes学习笔记
Kubernetes学习笔记 1.简介 用于自动部署.扩缩和管理容器化应用程序的开源系统,支持自动化部署.大规模可伸缩. 2.架构 2.1.Control Plane 对集群做出全局决策 Contro ...
- Kubernetes共享使用Ceph存储
目录 简要概述 环境测试 结果验证 简要概述 Kubernetes pod 结合Ceph rbd块设备的使用,让Docker 数据存储在Ceph,重启Docker或k8s RC重新 调 度pod 不会 ...
- 最新版Kubernetes(k8s)-v1.22.3版本高可用集群
目录 一.环境准备 二.安装Docker 三.配置环境变量 四.所有master节点安装keepalived和haproxy服务 五.部署集群 六.部署k8s的dashboard 本文采用的是etcd ...
- Kubernetes学习笔记-未整理
Kubernetes学习笔记 标签:Kubernetes 学习笔记 原文:https://github.com/wtysos11/NoteBook/blob/master/微服务/Kubernetes ...
- Kubernetes学习笔记【2年以前的笔记】
Kubernetes学习笔记 知识储备 熟悉linux基础命令 熟悉docker的基本原理和操作 了解ssl证书工作原理 了解负载均衡工作原理(L4/L7) 了解分布式概念 了解域名解析原理 了解网络 ...
- 使用Ceph集群作为Kubernetes的动态分配持久化存储
2019独角兽企业重金招聘Python工程师标准>>> 使用Docker快速部署Ceph集群 , 然后使用这个Ceph集群作为Kubernetes的动态分配持久化存储. Kubern ...
- Kubernetes学习笔记(一)
2019独角兽企业重金招聘Python工程师标准>>> Kubernetes学习笔记(一) 博客分类: Kubernetes 导语 2015年4月,传闻已久的Borg论文伴随Kube ...
- JAVA自学笔记22
JAVA自学笔记22 1.操作基本数据类型的流 DataInputStream DataOutputStream 数据输出流允许应用程序以适当方式将基本的Java数据类型写入输出流中.然后,应用程序可 ...
最新文章
- 【周末阅读】10年内,19个关键技术将改变世界
- 2021年春季学期-信号与系统-第四次作业参考答案-MATLAB实验1
- 开启SAP CDS view DCL前后的读取性能对比
- 安装mysql二进制文件_MySQL二进制文件规范安装
- 200道物理学难题——038蚱蜢跃树
- 记一次ubuntu误操作导致无法用sudo
- 将小写金额转换成大写金额[存储过程版]
- 【声波传钱】支付宝新功能 “声波支付” 自动售货机已投入试运
- SW-1、SW-2 通过 VSF 技术形成一台虚拟的逻辑设备
- C#显示和隐藏 Excel 工作表及工作表中的行与列
- 8237A DMA控制器简答
- 宝塔linux 云锁安装卸载,Centos宝塔安装云锁带自编译好模块Nginx
- 高效C++ Effective C++
- Gateway网关简介以及使用
- html语言剖析十六 调色原理
- 数据库字符集utf8和utf8mb4的详细区别
- 二分法的复杂度O(log2n)是什么意思
- truelicense实现用于JAVA工程license
- 安装配置DOSBox
- android kingroot一键root工具,一键root大师