当前位置:网站首页>kubernetes资源对象介绍及常用命令(五)-(ConfigMap&Secret)
kubernetes资源对象介绍及常用命令(五)-(ConfigMap&Secret)
2022-07-05 20:06:00 【傻啦猫@[email protected]】
一、ConfitMap
配置集,抽取应用配置。
ConfigMap保存在kubernetes的etcd中。
ConfigMap可以将文件直接挂载到Pod内,区别于上篇文章中的PV&PVC挂载目录。
创建ConfigMap
命令行方式
[[email protected] ~]# vi redis.conf
[[email protected] ~]# cat redis.conf
appendonly yes
[[email protected] ~]# kubectl create cm redis-conf --from-file=redis.conf
configmap/redis.conf created
[[email protected] ~]#
首先有redis.conf文件,然后将文件做成ConfigMap。
yaml方式,redis-conf.yml
apiVersion: v1
data:
redis.conf: |
appendonly yes
kind: ConfigMap
metadata:
name: redis-conf
namespace: default
data是所有真正的数据,key:默认是文件名,value:配置文件的内容
[[email protected] ~]# kubectl apply -f redis-conf.yml
configmap/redis-conf created
[[email protected] ~]#
查看ConfigMap
[[email protected] ~]# kubectl get cm
NAME DATA AGE
kube-root-ca.crt 1 2d1h
redis-conf 1 53s
[[email protected] ~]#
扩展: 查看redis-conf的yaml文件
kubectl get cm redis-conf -oyaml
创建pod
redis.yml
apiVersion: v1
kind: Pod
metadata:
name: redis
spec:
containers:
- name: redis
image: redis
command:
- redis-server
- "/redis-master/redis.conf" #指的是redis容器内部的位置
ports:
- containerPort: 6379
volumeMounts:
- mountPath: /data
name: data
- mountPath: /redis-master
name: config
volumes:
- name: data
emptyDir: {}
- name: config
configMap:
name: redis-conf
items:
- key: redis.conf
path: redis.conf
说明:一个ConfigMap文件可能有多个配置,items会遍历每个配置,key中定义这里要取哪个配置,path表示将取出来的配置文件内容放到容器内的哪个文件中。
关系图参考如下:
![alt](/img/80/2ac27a9f34cfd550359f06cbeeaadc.png)
[[email protected] ~]# kubectl apply -f redis.yml
pod/redis created
[[email protected] ~]#
# 进入到容器内部验证
[[email protected] ~]# kubectl exec -it redis -c redis -- /bin/bash
[email protected]:/data# cd /redis-master/
[email protected]:/redis-master# ls
redis.conf
[email protected]:/redis-master# cat redis.conf
appendonly yes
[email protected]:/redis-master#
修改ConfigMap
[[email protected] ~]# kubectl edit cm redis-conf
configmap/redis-conf edited
[[email protected] ~]#
添加了一行配置requirepass 123456
。
[[email protected] ~]# kubectl exec -it redis -c redis -- /bin/bash
[email protected]:/data# cd /redis-master/
[email protected]:/redis-master# ls
redis.conf
[email protected]:/redis-master# cat redis.conf
appendonly yes
requirepass 123456
[email protected]:/redis-master#
ConfigMap被自动更新了。
重点说明:这里的自动更新只是容器内部的文件跟随ConfigMap的改变而改变,但是并不一定真正生效,主要看应用有没有热部署能力,没有热部署能力的应用需要重启才能生效。
删除ConfigMap
kubectl delete cm redis-conf
二、Secret
Secret保存在kubernetes的etcd中。
Secret对象类型用来保存敏感信息,例如密码、OAuth令牌和SSH密钥。将这些信息放在secret中比放在Pod的定义或者容器镜像中来说更加安全和灵活。
创建Secret
# 命令格式
kubectl create secret docker-registry jiangnan \
--docker-server=<你的镜像仓库服务器> \
--docker-username=<你的用户名> \
--docker-password=<你的密码> \
--docker-email=<你的邮箱地址>
查看Secret
[[email protected] ~]# kubectl get secret
NAME TYPE DATA AGE
default-token-ssmvn kubernetes.io/service-account-token 3 2d2h
jiangnan kubernetes.io/dockerconfigjson 1 2m6s
[[email protected] ~]#
删除Secret
[[email protected] ~]# kubectl delete secret jiangnan
secret "jiangnan" deleted
[[email protected] ~]#
本文由 mdnice 多平台发布
版权声明
本文为[傻啦猫@[email protected]]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_45842494/article/details/125610143
边栏推荐
- 建立自己的网站(16)
- leetcode刷题:二叉树12(二叉树的所有路径)
- 实操演示:产研团队如何高效构建需求工作流?
- Leetcode: binary tree 15 (find the value in the lower left corner of the tree)
- Debezium series: idea integrates lexical and grammatical analysis ANTLR, and check the DDL, DML and other statements supported by debezium
- Go language | 01 wsl+vscode environment construction pit avoidance Guide
- After 95, Alibaba P7 published the payroll: it's really fragrant to make up this
- Bzoj 3747 poi2015 kinoman segment tree
- Securerandom things | true and false random numbers
- Float.floatToRawIntBits的返回值具体意思,将float转为byte数组
猜你喜欢
leetcode刷题:二叉树12(二叉树的所有路径)
浅浅的谈一下ThreadLocalInsecureRandom
[OBS] qstring's UTF-8 Chinese conversion to blog printing UTF-8 char*
再忙不能忘安全
Unity编辑器扩展 UI控件篇
Interviewer: what is the internal implementation of set data types in redis?
Win10 x64环境下基于VS2017和cmake-gui配置使用zxing以及opencv,并实现data metrix码的简单检测
Leetcode brush questions: binary tree 18 (largest binary tree)
JS implementation prohibits web page zooming (ctrl+ mouse, +, - zooming effective pro test)
Base du réseau neuronal de convolution d'apprentissage profond (CNN)
随机推荐
计算lnx的一种方式
Complete interview questions for interviewers and senior Android engineers in front-line Internet enterprises
多分支结构
Oracle-表空间管理
gst-launch的-v参数
建立自己的网站(16)
Leetcode: binary tree 15 (find the value in the lower left corner of the tree)
ICTCLAS word Lucene 4.9 binding
Leetcode brush questions: binary tree 18 (largest binary tree)
A solution to PHP's inability to convert strings into JSON
ACM getting started Day1
浅浅的谈一下ThreadLocalInsecureRandom
Go language | 01 wsl+vscode environment construction pit avoidance Guide
Is it safe for Anxin securities to open an account online?
微信小程序正则表达式提取链接
关于BRAM IP复位的优先级
Unity编辑器扩展 UI控件篇
【obs】libobs-winrt :CreateDispatcherQueueController
c语言oj得pe,ACM入门之OJ~
Float. The specific meaning of the return value of floattorawintbits is to convert float into byte array