千家信息网

Kubernetes中secret及configmap如何配置管理

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关Kubernetes中secret及configmap如何配置管理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。配置管理Pod使用secret两种
千家信息网最后更新 2026年11月01日Kubernetes中secret及configmap如何配置管理

这篇文章给大家分享的是有关Kubernetes中secret及configmap如何配置管理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

配置管理
Pod使用secret两种方式:
• 变量注入 (就是我们在写yaml的时候直接让它以变量的方式注入进去,注入pod中,去引用这个变量,去做相关的处理)
• 挂载(直接从volume的形式挂载到我们指定的目录下)
Configmap
与Secret类似,区别在于ConfigMap保存的是不需要加密配置信息。
应用场景:应用配置

官方文档使用secret:https://kubernetes.io/docs/concepts/configuration/secret/

可以创建secret主要放一些加密数据,不希望别人看到的,比如用户名密码,保存这样的数据
存储好怎么让用户去访问,可以通过ingress指定一下secret名字,一般情况下创建pod业务容器的话,就需要指定这个secret到哪个地方或者以volume的方式挂载的
加密数据并存放Etcd中,让Pod的容器以挂载Volume方式访问。
应用场景:凭据
创建资源的时候 , YAML 或 JSON 格式 , 然后创建该对象。在包含两个映射 : stringdata 和数据。该数据字段用于存储任意数据 , 用 Base64 编码。在 stringdata 提供 , 并允许您提供秘密数据为未编码的字符串。
例如 , 两个字符串存储到在yaml的使用 , 将他们转换成 BASE64:
这里的变量转换为编码,提示敏感字符,下面的yaml文件没写上去,抱歉

[root@k8s-master demo]# echo -n 'root' | base64[root@k8s-master demo]# echo -n 'zhaocheng' | base64
[root@k8s-master cert]# vim secret.yamlapiVersion: v1kind: Secretmetadata:  name: mysecrettype: Opaquedata:  username:   password:
[root@k8s-master cert]# kubectl create -f secret.yaml [root@k8s-master demo]# vim secret-pod1.yaml apiVersion: v1kind: Podmetadata:  name: mypodspec:  containers:  - name: nginx    image: nginx    env:      - name: SECRET_USERNAME        valueFrom:          secretKeyRef:            name: mysecret            key: username      - name: SECRET_PASSWORD        valueFrom:          secretKeyRef:            name: mysecret            key: password
[root@k8s-master demo]# kubectl create -f secret-pod1.yaml [root@k8s-master demo]# kubectl get podNAME                     READY   STATUS    RESTARTS   AGEbusybox                  1/1     Running   35         4d1hmypod                    1/1     Running   0          2m27snginx-5ddcc6cb74-m8dwr   1/1     Running   0          5h57mnginx-5ddcc6cb74-rs8b6   1/1     Running   0          4h44mnginx-5ddcc6cb74-zm7cz   1/1     Running   0          4h44m[root@k8s-master demo]# kubectl exec -it mypod shlsbin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  varecho $SECRET_USERNAMErootecho $SECRET_PASSWORDzhaocheng

应用场景:
一般写Dockerfile的时候,或者docker-compose的时候,能自动的去处理这些变量,也就是这个值被k8s进来解码

通过volume的形式来挂载
一般使用volume来把一些证书比如https的证书通过变量的形式传入挂载到目录中

[root@k8s-master demo]# vim secret-pod2.yamlapiVersion: v1kind: Podmetadata:  name: mypod2spec:  containers:  - name: nginx    image: nginx    volumeMounts:    - name: foo      mountPath: "/etc/foo"      readOnly: true  volumes:  - name: foo    secret:      secretName: mysecret
[root@k8s-master demo]# kubectl create -f secret-pod2.yaml [root@k8s-master demo]# kubectl get podNAME                     READY   STATUS    RESTARTS   AGEmypod                    1/1     Running   0          6m1smypod2                   1/1     Running   0          9snginx-5ddcc6cb74-lplxl   1/1     Running   0          43m[root@k8s-master demo]# kubectl exec -it mypod2 bashroot@mypod2:/# ls /etc/foo/password  usernameroot@mypod2:/# cat /etc/foo/password zhaochengroot@mypod2:/# cat /etc/foo/usernamerootroot@mypod2:/#

Configmap
与Secret类似,区别在于ConfigMap保存的是不需要加密配置信息。
应用场景:应用配置
使用configmap来传入变量
官方文档:https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/

[root@k8s-master demo]# vim configmap1.yamlapiVersion: v1kind: ConfigMapmetadata:  name: myconfig  namespace: defaultdata:  special.level: info  special.type: hello---apiVersion: v1kind: Podmetadata:  name: mypodspec:  containers:    - name: busybox      image: busybox      command: [ "/bin/sh", "-c", "echo $(LEVEL) $(TYPE)" ]      env:        - name: LEVEL          valueFrom:            configMapKeyRef:              name: myconfig              key: special.level        - name: TYPE          valueFrom:            configMapKeyRef:              name: myconfig              key: special.type  restartPolicy: Never[root@k8s-master demo]# kubectl get podNAME                     READY   STATUS      RESTARTS   AGEmypod                    1/1     Running     0          26mmypod2                   1/1     Running     0          20mmypod3                   0/1     Completed   0          41snginx-5ddcc6cb74-lplxl   1/1     Running     0          63m[root@k8s-master demo]# kubectl logs mypod3info hello使用redis的一个实例[root@k8s-master demo]# vim configmap2.yaml apiVersion: v1kind: ConfigMapmetadata:  name: redis-configdata:  redis.properties: |    redis.host=127.0.0.1    redis.port=6379    redis.password=123456---apiVersion: v1kind: Podmetadata:  name: mypodspec:  containers:    - name: busybox      image: busybox      command: [ "/bin/sh","-c","cat /etc/config/redis.properties" ]      volumeMounts:      - name: config-volume        mountPath: /etc/config  volumes:    - name: config-volume      configMap:        name: redis-config  restartPolicy: Never
[root@k8s-master demo]# kubectl create -f configmap2.yaml [root@k8s-master demo]# kubectl get podNAME                     READY   STATUS      RESTARTS   AGEmypod                    1/1     Running     0          30mmypod2                   1/1     Running     0          24mmypod3                   0/1     Completed   0          4m58smypod4                   0/1     Completed   0          15snginx-5ddcc6cb74-lplxl   1/1     Running     0          68m验证这里已经将内容发送到控制台[root@k8s-master demo]# kubectl logs mypod4redis.host=127.0.0.1redis.port=6379redis.password=123456

感谢各位的阅读!关于"Kubernetes中secret及configmap如何配置管理"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

配置 变量 数据 应用 场景 方式 时候 加密 管理 内容 字符 形式 编码 存储 两个 信息 字符串 官方 容器 文档 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中关村互联网 科技集团 互联网的科技创新 智网互联网科技 善班互联网科技有限公司 联恩商钥互联网科技有限公司 深圳市运趣互联网科技有限公司 常德市电业局互联网科技部 重庆互联网医院沙龙医盟信息科技 南平创想时代互联网科技有限公司 科技类公司包括互联网吗 互联网科技实习生岗位 城市宝互联网科技有限公司 广州互联网高科技取餐柜 广州燕处互联网科技有限公司 上海同邻互联网科技有限公司规模 广州梦谷互联网科技有限公司领导 萌小萌互联网科技河南有限公司 互联网科技接地气 同城互联网络科技 银川新华互联网科技学校招聘 南京欣网互联网络科技有限公司 互联网科技工作委员会副主任毛军 互联网科技垄断 科技企业和互联网企业 互联网前沿科技 科技伦理 互联网公司 安控科技rtu产品工业互联网 特约风豹互联网科技为什么扣费 优雇互联网科技有限公司 科技互联网企业在行动
0