k8s学习--Secret详细解释与应用

news2024/11/24 17:39:29

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • Secret
    • 什么是Secret?
    • Secret四种类型及其特点
    • Secret应用案例
      • (1)将明文密码进行base64编码
      • (2)编写创建secret的YAML文件
    • Secret的两种使用方式
      • (1)通过环境变量的方式传递给pod
      • (2)通过volume的方式挂载到pod内(建议使用)
      • 热更新:


Secret

什么是Secret?

类似与ConfigMap 区别在于
ConfigMap存储明文
Secret存储密文

ConfigMap可以用作配置文件管理,
Secret用于密码、密钥、token等敏感数据配置管理

##Secret特性

1非敏感数据:专门用于存储非敏感的配置信息。

2.多种数据源:数据可以从命令行、文件、目录等多种来源创建。

3.动态更新:更新 ConfigMap 后,Pod 可以动态加载新的配置信息(需要应用支持热加载)

Secret四种类型及其特点

Opaque Secrets(不透明Secrets):

Opaque Secrets是最通用的Secret类型,可以存储任意类型的机密数据,如用户名/密码、API密钥等。
数据以Base64编码的形式存储,并且要求用户自行对数据进行加密。


Service Account Token Secrets(服务账户令牌Secrets):

这种类型的Secret由Kubernetes自动生成和管理,用于存储与Service Account相关的API访问令牌。
这些Secrets默认会挂载到Pod中,以便允许Pod内的应用程序使用与Service Account相关的API访问令牌进行安全通信。


Docker Registry Secrets(Docker注册表Secrets):

用于存储访问Docker私有注册表所需的认证信息,如用户名、密码和邮箱。
这些Secrets通常用于在Kubernetes中拉取私有Docker镜像时进行身份验证。


TLS Secrets(TLS证书Secrets):

用于存储TLS证书和私钥,以便在TLS终止、HTTPS等情况下使用。
这些Secrets可用于在Kubernetes Ingress或Service中配置SSL/TLS终止,从而实现加密通信。

Secret应用案例

(1)将明文密码进行base64编码

Opaque类型密码需要进行base64编码

[root@master ~]# echo -n 123 | base64
MTIz

假设密码为123,得到的编码为MTIz

(2)编写创建secret的YAML文件

[root@master ~]# vim secret-mysql.yml

apiVersion: v1
kind: Secret
metadata:
  name: secret-mysql
data:
  password: MTIz

[root@master ~]# kubectl apply -f secret-mysql.yml

Secret的两种使用方式

(1)通过环境变量的方式传递给pod

编写pod的YAML文件使用Secret

[root@master ~]# vim pod-mysql-secret.yml
apiVersion: v1
kind: Pod
metadata:
  name: pod-mysql-secret1
spec:
  containers:
  - name: mysql
    image: mysql:5.7
    env:
      - name: MYSQL_ROOT_PASSWORD
        valueFrom:
          secretKeyRef:
            name: secret-mysql
            key: password
[root@master ~]# kubectl apply -f pod-mysql-secret.yml 

等一会,因为本地没有,所以要下载mysql镜像

进入pod内,用传递的密码登录

[root@master ~]# kubectl exec -it pod-mysql-secret1 -- bash
[root@master ~]# kubectl exec -it pod-mysql-secret1 -- bash
root@pod-mysql-secret1:/# mysql -uroot -p123

登录成功即可
在这里插入图片描述

(2)通过volume的方式挂载到pod内(建议使用)

编写pod的YAML文件使用Secret
[root@master ~]# vim pod-mysql-secret2.yml

apiVersion: v1
kind: Pod
metadata:
  name: pod-mysql-secret2
spec:
  containers:
  - name: busybox
    image: busybox
    args:
    - /bin/sh
    - -c
    - sleep 10000
    volumeMounts:
    - name: vol-secret
      mountPath: "/opt/passwd"
      readOnly: true
  volumes:
  - name: vol-secret
    secret:
      secretName: secret-mysql

验证:

[root@master ~]# kubectl exec pod-mysql-secret2 -- cat /opt/passwd/password
123

热更新:

[root@master ~]# echo -n 123456 | base64
MTIzNDU2
[root@master ~]# kubectl edit secrets secret-mysql

在这里插入图片描述

pod-mysql-secret2已更新

[root@master ~]# kubectl exec pod-mysql-secret2 -- cat /opt/passwd/password
123456

在这里插入图片描述

pod-mysql-secret1未更新

[root@master ~]# kubectl exec -it pod-mysql-secret1 -- bash
root@pod-mysql-secret1:/# mysql -uroot -p123456

在这里插入图片描述
完成
有问题请指出,全天在

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1796120.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【人工智能003】图像识别算法模型常见术语简单总结(已更新)

1.熟悉、梳理、总结数据分析实战中的AI图像识别等实战研发知识体系,这块领域很大,需要耗费很多精力,逐步总结、更新到位,,, 2.欢迎点赞、关注、批评、指正,互三走起来,小手动起来&am…

心理咨询系统|心理咨询系统成品开发功能

心理咨询系统开发后端设计是一个复杂且精细的过程,涉及多个关键领域的专业知识和技术。本文将详细探讨心理咨询系统开发后端设计的各个方面,包括系统架构、数据库设计、接口开发、安全性保障以及性能优化等。 首先,我们来谈谈系统架构。在心理…

贝锐蒲公英异地组网:降低建筑工地远程视频监控成本、简化运维

中联建设集团股份有限公司是一家建筑行业的施工单位,专注于建筑施工,业务涉及市政公用工程施工总承包、水利水电工程施工总承包、公路工程施工总承包、城市园林绿化专业承包等,在全国各地开展有多个建筑项目,并且项目时间周期可能…

mac M1下安装PySide2

在M1下装不了PySide2, 是因为PySide2没有arm架构的包 1 先在M1上装qt5 安装qt主要是为了能用里面的Desinger, uic, rcc brew install qt5 我装完的路径在/opt/homebrew/opt/qt5 其中Designer就是用来设计界面的 rcc用resource compiler, 编绎rc资源文件的, 生成对应的py文件…

深入了解 C 语言 Bug

目录 一、引言二、Bug的定义三、Bug的由来四、Bug的影响五、应对 Bug 的方法六、结论 一、引言 1、在 C 语言的编程世界中,Bug 是一个我们无法回避的话题。 2、Bug,简单来说,就是程序中存在的错误或缺陷。它可以表现为程序运行结果的异常、崩…

ESP8266在阿里云上线(arduino)

电脑连接上ESP8266的板子 在arduino编写代码(arduino按照之前的配置,已安装好esp的开发板和几个库ArduinoJson我选了5.的版本,PubSubclient,Crypto,AliyunIoTSDK并且修改pubsubclient的参数) 在项目,加载库&#xff0c…

【ai】DeepStream 简介

NVIDIA Metropolis 平台。 NVIDIA 大都会 利用视觉 AI 将来自数万亿物联网设备的数据转化为有价值的见解。 NVIDIA Metropolis 是一个应用程序框架、一套开发工具和合作伙伴生态系统,它将视觉数据和 AI 结合在一起,以提高各行各业的运营效率和安全性。它有助于理解数万亿个…

【轻量化】YOLOv10: Real-Time End-to-End Object Detection

论文题目:YOLOv10: Real-Time End-to-End Object Detection 研究单位:清华大学 论文链接:http://arxiv.org/abs/2405.14458 代码链接:https://github.com/THU-MIG/yolov10 推荐测试博客:YOLOv10最全使用教程&#xff0…

可视化数据科学平台在信贷领域应用系列三:特征组合

现代各企业都提倡“降本增效”,所以越来越多优秀的工具诞生了。若想在特征加工这块工作上提升效率,建模人员也能有更多时间“偷懒”,都 “Sora”时代了,为啥不巧用工具呢?RapidMiner在信贷风控特征加工组合中是一把利器…

图像算法---自动曝光AE

一,自动曝光AE 自动曝光(AE,全称Auto Exposure)是一种在摄影和摄像中广泛使用的技术,它允许相机或摄像机根据环境光线条件自动调整曝光参数,以获得清晰、亮度适中的图像或视频。以下是关于自动曝光AE的详细…

LabVIEW的大气环境实时监测

LabVIEW的大气环境实时监测 设计并实现了一个基于LabVIEW的大气环境实时监测系统。通过使用高精度环境传感器采集温度、湿度、PM2.5、CO2等环境数据,利用LabVIEW进行数据处理、显示和存储。该系统能够实时监控环境参数,并通过阈值报警功能提示异常&…

60万路由器一夜瘫痪,美国遭遇神秘网络攻击大灾难;木马肆虐俄罗斯,关键信息基础设施惨遭毒手!Oracle漏洞被利用,CISA紧急行动!| 安全周报0606

新闻1:欧洲警报:俄GRU支持APT28发动HeadLace恶意软件攻击! 俄罗斯GRU支持的威胁行为者APT28被认为在一系列活动中负责,这些活动使用HeadLace恶意软件和收集凭证的网页针对欧洲各地的网络。 APT28,也被称为BlueDelta、…

springboot undertow 文件上传文件过大异常

io.undertow.server.RequestTooBigException: UT000020 Connection terminated as request was larger than xxxx 修改yaml文件中关于undertow的配置项 server:undertow:# HTTP POST请求最大的大小# 默认0,无限制max-http-post-size: ${SERVER_UNDERTOW_MAX_HTTP_…

比较FITC-BSA与未标记BSA在生物活性方面的差异

牛血清白蛋白(BSA)作为一种诸多使用的生物化学试剂,在生物学和医学领域发挥着作用。然而,为了研究BSA在生物体内的行为以及与其他分子的相互作用,科学家们常常需要对其进行荧光标记,其中FITC-BSA便是常见的…

WEB-Wordlist-Generator:为扫描后的Web应用生成相关联的字典

关于WEB-Wordlist-Generator WEB-Wordlist-Generator是一款功能强大的字典生成工具,该工具旨在帮助广大研究人员扫描目标Web应用程序并生成与之相关联的字典文件,从而允许我们对相关的网络威胁行为执行预备性应对策略。 功能介绍 当前版本的WEB-Wordli…

vue页面上的form表单无法输入咋回事?

记录工作中遇到的问题… 如下图:下拉框选中无法回显,输入框无法输入 排查了原因,原来是接收的formData不是响应式的 const props defineProps({formData: {type: Object,default: ()> [{devices:[]}]},})formData将其放在模板中使用&am…

揭秘APP广告投放数据背后的秘密,Xinstall助你精准触达用户!

随着互联网的发展,App推广和运营的环境也在不断变化。传统的营销方式已难以满足多变的市场需求,如何确保在激烈的竞争中脱颖而出,成为了众多企业关注的焦点。Xinstall作为一款专业的App推广工具,致力于帮助企业解决推广和运营中的…

Linux网络服务之SSH(远程访问及控制)

ssh远程管理: ssh是一种安全通道协议,用来实现字符界面的远程登录。远程复制,远程文本传输。 ssh对通信双方的数据进行了加密 用户名和密码登录 密钥对认证方式(可以实现免密登录) ssh 22 网络层 传输层 数据传输…

解锁AI大模型的无限潜能:程序员如何深度驾驭这一科技巨轮

前言 随着科技的飞速发展,人工智能(AI)已经不再是科幻电影中的遥远概念,而是成为了推动社会进步的重要引擎。在AI的众多技术分支中,大模型以其卓越的性能和广泛的应用前景,成为了科技领域的明星技术。作为…

Transformer学习(2)

这是Transformer的第二篇文章,上篇文章中我们了解了分词算法BPE,本文我们继续了解Transformer中的位置编码和核心模块——多头注意力。下篇文章就可以实现完整的Transformer架构。 位置编码 我们首先根据BPE算法得到文本切分后的子词标记,然…