k8s之数据存储-配置存储
ConfigMap
configmap是一种比较特殊的存储卷,它的主要作用是用来存储配置信息的
创建configmap.yaml,内容如下
apiVersion: v1
kind: ConfigMap
metadata:
name: configmap
namespace: dev
data:
info:
username:admin
password:123456
接下来,使用此配置文件创建configmap
[root@master ~]# vim configmap.yaml
[root@master ~]# kubectl create -f configmap.yaml
configmap/configmap created
[root@master ~]# kubectl describe cm configmap -n dev
Name: configmap
Namespace: dev
Labels: <none>
Annotations: <none> Data
====
info:
----
username:admin password:123456
Events: <none>
接下来创建一个pod-configmap.yaml,将上面创建的configmap挂载进去
apiVersion: v1
kind: Pod
metadata:
name: pod-configmap
namespace: dev
spec:
containers:
- name: nginx
image: nginx:1.17.1
volumeMounts:
- name: config
mountPath: /configmap/config
volumes:
- name: config
configMap:
name: configmap
使用配置文件
[root@master ~]# vim pod-configmap.yaml
[root@master ~]# kubectl create -f pod-configmap.yaml
pod/pod-configmap created
[root@master ~]# kubectl get pod pod-configmap -n dev
NAME READY STATUS RESTARTS AGE
pod-configmap 1/1 Running 0 32s
进入容器,可以看见映射已经成功,每个configmap都映射成了一个目录
[root@master ~]# kubectl exec -it pod-configmap -n dev /bin/sh
# cd /configmap/config
# ls
info
# more info
username:admin password:123456
# exit
编辑configmap,将password改为123456789
[root@master ~]# kubectl edit cm configmap -n dev
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: v1
data:
info: username:admin password:123456789
kind: ConfigMap
metadata:
creationTimestamp: "2021-08-18T03:58:59Z"
name: configmap
namespace: dev
resourceVersion: "171455"
selfLink: /api/v1/namespaces/dev/configmaps/configmap
uid: 46f41475-b95b-4477-9221-50054d6a5ea2
再次查看info文件
[root@master ~]# kubectl exec -it pod-configmap -n dev /bin/sh
# more /configmap/config/info
username:admin password:123456789
Secret
在k8s中,还存在一种和ConfigMap非常类似的对象,成为Secret对象。它主要用于存储敏感信息,例如密码,密钥,证书等等。
首先使用base64对数据进行编码
[root@master ~]# echo -n 'admin' | base64
YWRtaW4=
[root@master ~]# echo -n '123456' | base64
MTIzNDU2
接下来编写secret.yaml,并创建secret
apiVersion: v1
kind: Secret
metadata:
name: secret
namespace: dev
type: Opaque
data:
username: YWRtaW4=
password: MTIzNDU2
使用配置文件
[root@master ~]# vim secret.yaml
[root@master ~]# kubectl create -f secret.yaml
secret/secret created
[root@master ~]# kubectl describe secret/secret -n dev
Name: secret
Namespace: dev
Labels: <none>
Annotations: <none> Type: Opaque Data
====
password: 6 bytes
username: 5 bytes
创建pod-secret.yaml,将上面的secret挂载进去
apiVersion: v1
kind: Pod
metadata:
name: pod-secret
namespace: dev
spec:
containers:
- name: nginx
image: nginx:1.17.1
volumeMounts:
- name: config
mountPath: /secret/config
volumes:
- name: config
secret:
secretName: secret
使用配置文件
[root@master ~]# vim pod-secret.yaml
[root@master ~]# kubectl create -f pod-secret.yaml
pod/pod-secret created
#查看secret信息,发现已经自动解码了
[root@master ~]# kubectl exec -it pod-secret -n dev /bin/sh
# cd /secret/config
# ls
password username
# more username
admin
# more password
123456
至此,已经实现了利用secret实现信息的编码
k8s之数据存储-配置存储的更多相关文章
- External Configuration Store Pattern 外部配置存储模式
Move configuration information out of the application deployment package to a centralized location. ...
- Windows Phone 五、配置存储
基本存储形式 本地设置:ApplicationData.Current.LocalSettings 漫游设置:ApplicationData.Current.RoamingSettings 支持的数据 ...
- Citrix 服务器虚拟化之五 Xenserver配置存储
Citrix 服务器虚拟化之五 Xenserver配置存储 XenServer中定义了一个容器称为存储库(SR)来描述一个特定的存储目标存储虚拟磁盘映像(VDI). VDI是一个的磁盘抽象,包含一个 ...
- 区块链 + 大数据:EOS存储
谈到区块链的存储,我们很容易联想到它的链式存储结构,然而区块链从比特币发展到今日当红的EOS,技术形态已经演化了10年之久.目前的EOS的存储除了确认结构的链式存储以外,在状态存储方面有了很大的进步, ...
- WinForm基于插件开发实现多项配置存储
一.课程介绍和实例在线演示 明人不说暗话,跟着阿笨一起玩WinForm.本次分享课程属于<C#高级编程实战技能开发宝典课程系列>中的一部分,阿笨后续会计划将实际项目中的一些比较实用的关于C ...
- 【WP8】自定义配置存储类
之前在WP7升级到WP8的时候遇到配置不兼容的问题 情景:之前只有一个WP7版本,现在需要发布WP8版本,让用户可以从原来的WP7版本升级到WP8版本 一般情况下从WP7升级到WP8没什么问题 但是在 ...
- linux下,MySQL默认的数据文档存储目录为/var/lib/mysql。
0.说明 Linux下更改yum默认安装的mysql路径datadir. linux下,MySQL默认的数据文档存储目录为/var/lib/mysql. 假如要把MySQL目录移到/home/data ...
- 巨杉Tech | SequoiaDB数据域及存储规划
1 背景近年来,企业的各项业务发展迅猛,客户数目不断增加,后台服务系统压力也越来越大,系统的各项硬件资源也变得非常紧张.因此,在技术风险可控的基础上,希望引入大数据技术,利用大数据技术优化现有IT系统 ...
- Android教程 -09 数据的持久化存储
视频为本篇播客知识点讲解,建议采用超清模式观看, 欢迎点击订阅我的优酷 任何一个程序其实说白了就是在不停地和数据打交道,数据持久化就是指将那些内存中的瞬时数据保存到存储设备中,保证及时手机关机的情况下 ...
随机推荐
- 1.3.6、通过Path匹配
server: port: 8080 spring: application: name: gateway cloud: gateway: routes: - id: guo-system4 uri: ...
- Spring Cloud中,如何解决Feign/Ribbon第一次请求失败的问题?
Spring Cloud中,如何解决Feign/Ribbon第一次请求失败的问题? Spring Cloud中,Feign和Ribbon在整合了Hystrix后,可能会出现首次调用失败的问题,要如何解 ...
- jvm代码热替换过程中异常
BTrace java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException 具体如下: 1. 信这个问题很多小伙伴已经遇到了,这是在你的jd ...
- 全网唯一开源java开发的支持高扩展,高性能的Mqtt集群broker!
SMQTT是一款开源的MQTT消息代理Broker, SMQTT基于Netty开发,底层采用Reactor3反应堆模型,支持单机部署,支持容器化部署,具备低延迟,高吞吐量,支持百万TCP连接,同时支持 ...
- java面向对象的理解(个人)
面向对象是Java的基本特征,在程序开发的过程中基于面向过程的一种思维,将功能封装进对象,强调具备这些功能的对象和调用结果,不关注具体的实现过程. 面向对象的特点:是一种更符合人们思考习惯的思想,可以 ...
- 重置networker8.0密码
一.重置Networker 8.0密码 1.设置环境变量 新建一个"系统环境变量"名字为"GST_RESET_PW",值为1 2.重启EMC GST Servi ...
- PXE高效批量网络装机
PXE高效批量网络装机 一.PXE概述 1)PXE (Preboot eXcution Environment) ...
- python 查看导入模块的函数和方法
将twain.pyd复制到Python27 \ Lib \ site-packages 首先 import XXX(包括pyd的文件名)print(dir(XXX))print(help(xxx)) ...
- Guava Cache使用的三种姿势
姿势一 使用expiredAferWriter 优点 简单 粗暴 缺点 同步阻塞问题:如果多个线程同时请求同一个过期的key,只有一个线程能够获得去加载缓存的锁,但是其他未获取加载缓存锁的线程也会阻塞 ...
- 【LeetCode】86. 分隔链表
86. 分隔链表 知识点:链表: 题目描述 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前. 你应当 保留 两个 ...