简介:

启动pod,pod启动时可以将configMap资源关联到当前pod上来,从中读一个数据c传递给pod内的容器的一个变量。任然是变量注入的方式来给容器传配置信息。

把每一个configMap当一个存储卷,直接挂在到容器的某个目录上,这个目录恰好是运行程序读取配置信息的文件路径。支持动态修改的,如果configMap配置信息改变了,通知所有pod中应用重载。是通过明文传数据的,安全性不高。

sercet与configMap的功能相似,但是传递数据是 通过base64编码机制。

配置容器化应用的方式: 1.通过自定义命令行参数来实现   args:[]

           2.把配置文件直接写入镜像  (实现太单一,耦合度太紧密)

              3.环境变量  (1) Cloud Native的应用程序一般可以直接通过环境变量加载配置

                (2) 通过entrypoint脚本来预处理变量为配置文件中的配置信息

           4.存储卷

           5.configMap的核心作用让配置信息和镜像文件解耦,镜像可以做成骨架,配置信息可以通过configMap注入,使得一个镜像文件可以应付多个不同配置信息,为应  用程序运行不同配置的环境而工作。在configMap中所有数据都保存键值格式。

一、创建configMap

kubectl create configmap nginx-config --from-literal=nginx_port=9999 --from-literal=server_name=www.yiruiduan.com 通过命令行设置键值

查看configMap的描述

kubectl create configmap nginx-yiruiduan --from-file=./yiruiduan.conf 通过加载文件 文件名就是键,文件内容就是值

查看描述

在pod中应用有两种方式加载环境变量或者volume挂载:

1)通过env加载的方式,注入配置信息。只有在启动pod的时候生效

apiVersion: v1
kind: Pod
metadata:
name: pod-cm-
namespace: default
labels:
app: myapp
tier: frontend
annotations:
create_by: yiruiduan
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v1
ports:
- name: http
containerPort:
- name: https
containerPort:
env:
- name: NGINX_SERVER_PORT
valueFrom:
configMapKeyRef:
name: nginx-config
key: nginx_port
- name: NGINX_SERVER_NAME
valueFrom:
configMapKeyRef:
name: nginx-config
key: server_name

2)通过volume挂载的方式,动态配置信息

apiVersion: v1
kind: Pod
metadata:
name: pod-cm-
namespace: default
labels:
app: myapp
tier: frontend
annotations:
create_by: yiruiduan
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v1
ports:
- name: http
containerPort:
- name: https
containerPort:
volumeMounts:
- name: nginxconf
mountPath: /etc/nginx/conf.d/
readOnly: true
volumes:
- name: nginxconf
configMap:
name: nginx-yiruiduan

二、创建secret

kubectl create secret generic mysql-root-password --from-literal=password=yiruiduan 通过命令行的方式创建

使用的范式和configMap的使用方式一样可以通过env注入,也可以通过volume挂载方式。它将数据通过base64的编码。不易被人看懂

kubernetes 的configMap和sercet配置信息的更多相关文章

  1. k8s通过configmap管理应用配置信息

    Secret 可以为 Pod 提供密码.Token.私钥等敏感数据:对于一些非敏感数据,比如应用的配置信息,则可以用 ConfigMap. ConfigMap 的创建和使用方式与 Secret 非常类 ...

  2. 012.Kubernetes的configmap和secret配置

    使用configmap对多有的配置文件进行统一管理 一 configmap配置管理 1.1 检查mysql的配置 [root@docker-server1 storage]# kubectl get ...

  3. Springboot整合Spring Cloud Kubernetes读取ConfigMap,支持自动刷新配置

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Docker & Kubernetes相关文章:容器技术 之前介绍了Spring Cloud Config的用法,但 ...

  4. k8s实战为aspnetcore.webapi微服务注入配置信息 - kubernetes

    1.浅析k8s配置信息 Secret 以密文的形式存储数据,可以用来保存一些敏感信息,例如:OAuth tokens.私钥.密码.数据库连接.事件总线连接等. ConfigMap 以明文的形式存储数据 ...

  5. 35 【kubernetes】configMap

    kubernetes可以驱动容器的运行,并且把容器的运行放置在kubernetes定义的体系结构中pods这一级. 但是容器运行通常会需要某些参数,比如环境变量或者硬件使用情况. 为了解决对每个con ...

  6. Kubernetes的ConfigMap解析

    ConfigMap功能在Kubernetes1.2版本的时候就有了,许多应用程序会从配置文件.命令行参数或环境变量中读取配置信息.这些配置信息需要与docker image解耦,你总不能每修改一个配置 ...

  7. 如何使用Kubernetes的configmap通过环境变量注入到pod里

    在Kubernetes官网里,有这样一篇文章,提到了Kubernetes里的一个最佳实践就是把应用代码同配置信息分开,一种方式就是使用Kubernetes 1.2里引入的configmap概念. ht ...

  8. K8S学习笔记之Kubernetes 配置管理 ConfigMap

    0x00 概述 很多情况下我们为某一应用做好镜像,当我们想修改其中的一些参数的时候,就变得比较麻烦,又要重新制作镜像,我们是不是有一种方式,让镜像根据不同的场景调用我们不同的配置文件呢,那我们就需要用 ...

  9. Kubernetes 配置管理 ConfigMap(十二)

    目录 一.背景 二.创建 ConfigMap 2.1.通过 --from-literal 2.2.通过 --from-file 2.3.通过--from-env-file 2.4.YAML 配置文件 ...

随机推荐

  1. [javascript]localStorage和sessionStorage区别

    一.sessionStorage.localStorage.cookie可查看的位置,F12=>Application: 二.cookie .sessionStorage与localStorag ...

  2. CodeFirst实体类中,为什么都把ICollection<x>定义成virtual?

    主要是用于延迟加载,提高性能用的 只有定义成virtual后才可以延迟加载. 延迟加载,默认情况下,延迟加载被支持,如果你希望禁用它,必须显式声明,最好的位置是在 DbContext 的构造器中. p ...

  3. StoneTab标签页CAD插件 3.1.0

    //////////////////////////////////////////////////////////////////////////////////////////////////// ...

  4. 微信小程序修改radio和checkbox的默认样式和图标

    wxml: <view class="body"> <view class="body-content"> 第1题:企业的价值观是 ? ...

  5. Advanced Installer 安装完成后,自动启动主程序。

    这个耗时2天,才研究测试通过.一定要记住了方法: =========================================================================== ...

  6. 【loj#2524】【bzoj5303】 [Haoi2018]反色游戏(圆方树)

    题目传送门:loj bzoj 题意中的游戏方案可以转化为一个异或方程组的解,将边作为变量,点作为方程,因此若方程有解,方程的解的方案数就是2的自由元个数次方.我们观察一下方程,就可以发现自由元数量=边 ...

  7. Oracle笔记(十四) 用户管理

    SQL语句分为三类:DML.DDL.DCL,之前已经讲解完了DML和DDL,现在就差DCL操作的,DCL主要表示的是数据库的控制语句,控制的就是操作权限,而在DCL之中,主要有两个语法:GRANT.R ...

  8. session传值取值

    protected void Page_Load(object sender, EventArgs e) { //判断session是否为空 if (Session["user"] ...

  9. String 类的常用方法都有那些?(未完成)

    String 类的常用方法都有那些?(未完成)

  10. Linux的基础使用命令

    ifconfig  #查看ip地址     或者使用  ip  a pwd  #查看当前工作路径 man  pwd   #查看命令的详细信息   按q退出 mkdir  /data  创建data目录 ...