Kubernetes Secrets 详解
Kubernetes Secrets 详解
Secrets配置原理
Kubernetes Secrets用于支持敏感数据配置,可以将敏感信息注入到Pod中的容器。Secrets是一种特殊的配置,可以提供较安全的存储和访问配置的机制,降低敏感数据直接暴露给未授权用户的风险。同样支持两种常见方式和POD进行绑定:
- 环境变量 - 跟ConfigMap一样,如果以环境变量的方式跟POD绑定,配置更新的时候,需要重启POD来使用最新的secret。
- 存储卷挂载到POD - Secrets可以做到热加载,不必要重启POD。
Secret 基本操作
- 通过kubectl create secret
kubectl create secret generic my-first-secret --from-literal=password=123456
[root@k8s-master ~]# kubectl create secret generic my-first-secret --from-literal=password=123456
secret/my-first-secret created
[root@k8s-master ~]# kubectl get secret
NAME TYPE DATA AGE
default-token-zrgct kubernetes.io/service-account-token 3 36h
my-first-secret Opaque 1 21s
[root@k8s-master ~]#
通过yaml资源配置清单
[root@k8s-master data]# echo -n "123456" |base64 MTIzNDU2 [root@k8s-master data]# cat my-second-secret.yaml apiVersion: v1 kind: Secret metadata:name: my-second-secret type: Opaque data:password: MTIzNDU2 [root@k8s-master data]# kubectl describe secret my-second-secret Name: my-second-secret Namespace: default Labels: <none> Annotations: <none>Type: OpaqueData ==== password: 6 bytes [root@k8s-master data]#
但用上面的创建方式并不是安全的,比如可以通过kubectl get获取密钥
[root@k8s-master data]# kubectl get secret my-second-secret -o yaml apiVersion: v1 data:password: MTIzNDU2 kind: Secret metadata:annotations:kubectl.kubernetes.io/last-applied-configuration: |{"apiVersion":"v1","data":{"password":"MTIzNDU2"},"kind":"Secret","metadata":{"annotations":{},"name":"my-second-secret","namespace":"default"},"type":"Opaque"}creationTimestamp: "2022-09-07T16:10:28Z"name: my-second-secretnamespace: defaultresourceVersion: "74477"uid: 23950487-bd13-498e-bbfb-d23d3c7560d8 type: Opaque[root@k8s-master data]# echo 'MTIzNDU2' | base64 -d 123456 [root@k8s-master data]#
- 其他方式创建密钥
[root@k8s-master data]# echo 'pplsunny' | base64 > username.txt [root@k8s-master data]# echo '1qazxsw2' | base64 > password.txt [root@k8s-master data]# cat username.txt cHBsc3VubnkK [root@k8s-master data]# cat password.txt MXFhenhzdzIK [root@k8s-master data]# kubectl create secret generic my-third-secret --from-file=./username.txt --from-file=./password.txt secret/my-third-secret created [root@k8s-master data]# echo 'MXFhenhzdzIK' | base64 -d[root@k8s-master data]# kubectl create secret generic my-forth-secret --from-literal=username=ppl --from-literal=password=1qazxsw2
在pod中使用密钥
pets-secret.yaml文件如下:
apiVersion: v1
kind: Secret
metadata:name: pets-secret
type: Opaque
data:username: am9obi5kb2UKpassword: c0VjcmV0LXBhc1N3MHJECg==
(1)创建密钥
$ kubectl create -f pets-secret.yaml
(2)对要部署的应用进行定义
(3)查看密钥文件是否挂载到容器中
密钥值在环境变量中
进入到容器,查看映射内容如下:
Kubernetes Secrets 详解相关推荐
- Kubernetes RBAC 详解
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 RBAC使用rbac.authorization.k8s.io API Group 来实现授权决策,允许管理员通过 Kubernetes API 动态 ...
- 揭开面纱:Kubernetes架构详解
[编者的话] 本文介绍了Kubernetes中的主要组件和各个组件的工作模式. 入门导论:Kubernetes组件和组件之间如何协同工作 本文讲的是揭开面纱:Kubernetes架构详解如果你正在实现 ...
- Kubernetes Service详解(概念、原理、流量分析、代码)
Kubernetes Service详解(概念.原理.流量分析.代码) 作者: liukuan73 原文:https://blog.csdn.net/liukuan73/article/details ...
- Kubernetes基础详解
1. Kubernetes介绍 1.1 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不 ...
- 【云原生】Kubernetes CRD 详解(Custom Resource Definition)
文章目录 一.概述 二.定制资源 1)定制资源 和 定制控制器 2)定制控制器 3)Operator 介绍 1.Operator Framework 2.Operator 安装 3.安装 Operat ...
- kubernetes—Pod详解
Pod详解 前言 Pod介绍 Pod结构 Pod定义 pod的几种基础配置 概述 基本配置(name,image) 镜像拉取(imagePullPolicy) 启动命令(command和args) 环 ...
- 云原生系列「二」Kubernetes网络详解
前言 K8s是一个强大的平台,但它的网络比较复杂,涉及很多概念,例如Pod网络,Service网络,Cluster IPs,NodePort,LoadBalancer和Ingress等等,这么多概念足 ...
- Kubernetes(十二)Kubernetes ConfigMapSecret详解
一.ConfigMap 官方文档 ConfigMap 概念 ConfigMap的功能在k8s1.2版本中引入的,许多应用程序会从配置文件,命令行参数或环境变量中读取配置信息.ConfigMap API ...
- Kubernetes入门详解
目录 前言 一.Kubernetes 1.为什么要有K8s 2.什么是K8s 3.K8s的用途 4.K8s优势和特点 4.1 K8s优势 4.2 K8s特点 二.K8s架构 三.K8s组件简介 1 ...
- Kubernetes 证书详解
K8S 证书介绍 在 Kube-apiserver 中提供了很多认证方式,其中最常用的就是 TLS 认证,当然也有 BootstrapToken,BasicAuth 认证等,只要有一个认证通过,那么 ...
最新文章
- 统计s=hello alex alex hello haiyan cc haiyan com中每个单词的个数
- 上海人工智能再出重磅!寒武纪科技发布新一代云端AI芯片,联想、曙光、科大讯飞发布相关应用...
- php 长短字符串转换,将php的数组按照字符串长短进行排序
- 中国组合聚醚市场十四五发展规划与未来竞争趋势分析报告2022-2028年版
- 一夜吸粉200万被封杀,微信都有哪些逆鳞?
- python:直接插入和简单选择排序
- 双表查询java代码_多表增删改查
- html中删除代码怎么写,html空格代码怎么写?
- MongoDB基础(3.6安装及多实例)
- Discuz! 7.1 7.2 远程代码执行漏洞
- C# 笔记3 - 重载一系列像python那样的print()方法
- 图片处理和验证码识别
- opengl游戏引擎源码_我用C++复刻了这款上世纪最伟大的游戏
- 替代CATIA查看stp/step格式模型免费软件推荐
- SaaS软件真的需要客户运营吗?
- c# 调用Google查询天气 手机所属地 农历转换公历
- TBS1072B数字示波器波形截图流程
- 主成分分析,充分图,聚类,主成分回归——数据分析与R语言 Lecture 11
- 【Python语言】Python编程基础
- 【原创】uniapp开发的微商个人相册多端小程序源码以及安装