Kubernetes Secret(机密存储)
Kubernetes Secret(机密存储)
官方文档:https://kubernetes.io/docs/concepts/configuration/secret/
- 加密数据并存放Etcd中,让Pod的容器以挂载Volume方式访问。
- 应用场景:凭据
通过文本文件创建用户密码
1、创建用户名密码文件
echo -n 'admin' > ./username.txt
echo -n '1f2d1e2e67df' > ./password.txt
2、通过文件创建用户名密码
kubectl create secret generic db-user-pass --from-file=./username.txt --from-file=./password.txt
3、查看创建用户名密码
kubectl get secret
NAME TYPE DATA AGE
db-user-pass Opaque 2 37s
4、查看详情
kubectl describe secret db-user-pass
Name: db-user-pass
Namespace: default
Labels: <none>
Annotations: <none> Type: Opaque Data
====
password.txt: 12 bytes
username.txt: 5 bytes
通过yaml文件创建用户名密码
1、编码用户名密码
echo -n 'admin' | base64
echo -n '1f2d1e2e67df' | base64
2、创建yaml文件 vim user.yaml
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
username: YWRtaW4=
password: MWYyZDFlMmU2N2Rm
3、创建用户名密码
kubectl create -f user.yaml
4、查看创建用户
kubectl get secret
NAME TYPE DATA AGE
db-user-pass Opaque 2 5m42s
mysecret Opaque 2 18s
通过环境变量导入到容器中
1、创建yaml文件
vim secret-var.yaml
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: nginx
image: nginx
env:
# 环境变量名称:用户
- name: SECRET_USERNAME
valueFrom:
# 选择输入secret用户
secretKeyRef:
name: mysecret
key: username
# 环境变量名称:密码
- name: SECRET_PASSWORD
valueFrom:
# 选择输入secret密码
secretKeyRef:
name: mysecret
key: password
2、创建容器
kubectl create -f secret-var.yaml
3、查看创建容器
kubectl get pods
NAME READY STATUS RESTARTS AGE
mypod 1/1 Running 0 23s
4、进入容器查看变量
kubectl exec -it mypod bash
root@mypod:/# echo $SECRET_USERNAME
admin
root@mypod:/# echo $SECRET_PASSWORD
1f2d1e2e67df
通过volume挂载用户名密码
1、创建yaml文件
vim secret-vol.yaml
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: nginx
image: nginx
volumeMounts:
- name: foo
mountPath: "/etc/foo"
readOnly: true
volumes:
- name: foo
secret:
# 创建的secret
secretName: mysecret
2、创建容器
kubectl create -f secret-vol.yaml
3、查看容器
kubectl get pod
NAME READY STATUS RESTARTS AGE
mypod 1/1 Running 0 46s
4、进入容器查看
kubectl exec -it mypod bash
root@mypod:/# ls /etc/foo/
password username
root@mypod:/# cat /etc/foo/password
1f2d1e2e67dfroot@mypod:/# cat /etc/foo/username
adminroot@mypod:/#
Kubernetes Secret(机密存储)的更多相关文章
- Kubernetes K8S之存储ConfigMap详解
K8S之存储ConfigMap概述与说明,并详解常用ConfigMap示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS ...
- Kubernetes K8S之存储Volume详解
K8S之存储Volume概述与说明,并详解常用Volume示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C ...
- Kubernetes之持久化存储
转载自 https://blog.csdn.net/dkfajsldfsdfsd/article/details/81319735 ConfigMap.Secret.emptyDir.hostPath ...
- Kubernetes 学习(十)Kubernetes 容器持久化存储
0. 前言 最近在学习张磊老师的 深入剖析Kubernetes 系列课程,最近学到了 Kubernetes 容器持久化存储部分 现对这一部分的相关学习和体会做一下整理,内容参考 深入剖析Kuberne ...
- 【kubernetes secret 和 aws ecr helper】kubernetes从docker拉取image,kubernetes docker私服认证(argo docker私服认证),no basic auth credentials错误解决
aws ecr helper: https://aws.amazon.com/blogs/compute/authenticating-amazon-ecr-repositories-for-dock ...
- 011.Kubernetes使用共享存储持久化数据
本次实验是以前面的实验为基础,使用的是模拟使用kubernetes集群部署一个企业版的wordpress为实例进行研究学习,主要的过程如下: 1.mysql deployment部署, wordpre ...
- Kubernetes K8S之存储Secret详解
K8S之存储Secret概述与类型说明,并详解常用Secret示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 ...
- kubernetes系列(十三) - 存储之Volume
1. Volume简介 1.1 k8s的volume和docker的volume区别 1.2 kubernetes支持的volume类型 2. 重点的volume类型 2.1 emptyDir 2.1 ...
- Kubernetes中的存储(六)
一.ConfigMap 1,介绍 ConfigMap 功能在 Kuberbetes 1.2 版本中引入,许多应用程序会从配置文件.命令行参数或环境变量中读取配置信息.ConfigMap API 给我们 ...
随机推荐
- windows 安装使用jupyter及 基础配置
jupyter 是什么Jupyter Notebooks 是一个交互式笔记本,支持运行 40 多种编程语言,它的本质是一个 开源的 Web 应用程序,我们可以将其用于创建和共享代码与文档,他可以支持实 ...
- 【语义分割】Stacked Hourglass Networks 以及 PyTorch 实现
Stacked Hourglass Networks(级联漏斗网络) 姿态估计(Pose Estimation)是 CV 领域一个非常重要的方向,而级联漏斗网络的提出就是为了提升姿态估计的效果,但是其 ...
- \" 转义字符, \a系统警报,逐字字符串(verbatim string)
string str="The key factors are \"focus\" and \"perseverance\""; strin ...
- centos 安装gitlab
1.开始安装依赖软件:yum -y install policycoreutils openssh-server openssh-clients postfix 2.设置postfix开机自启动,po ...
- Windows下Django项目搭建流程
1.创建虚拟环境 virtualenv test 2.进入虚拟环境 source ./项目名/Scripts/activate 3.创建项目 django-admin startproject 项目名 ...
- 交互式shell脚本web console
官网:http://web-console.org/ 这个脚本可以实现web下交互,也就是有了这玩意后可以不用反弹shell了. <?php // Web Console v0.9.7 (201 ...
- 推荐一款适合Dynamics 365/Dynamics CRM 2016 使用的弹出窗插件AlertJs
Github地址: https://github.com/PaulNieuwelaar/alertjs 目前有两个版本,3.0版本(30天免费试用)以及2.1版本(完全免费) ------------ ...
- 深入理解JVM虚拟机(二):JDK 内存类的异常分析
JVM数据存储 堆存储(Heap):对象存储,实际上就是JAVA的数据存储 方法堆栈(Method Stack):存储方法调用的关系. 永久代(Perm):在JDK1.6及之前,常量数据存储于此区域 ...
- bayaim_linux_configure_oracle
---------------------------bayaim_linux_install_oracle_11g--2.0------------------------------------- ...
- Shel脚本-初步入门之《06》
Shel脚本-初步入门-06 Shell 脚本的建立和执行 6.Shell 脚本的建立和执行 6.1 Shell脚本的建立 在 Linux 系统中,Shell 脚本(bash Shell 程序)通常是 ...