| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 【k8s】Pod的配置管理 -> 正文阅读 |
|
[系统运维]【k8s】Pod的配置管理 |
应用部署的一个最佳实践是将应用所需的配置信息与程序分离,这样可以是应用程序被更好地复用,通过不同的配置也能实现更灵活的功能。将应用打包为容器镜像后,可以通过环境变量或者外挂文件的方式在创建容器时进行配置注入,但在大规模容器集群的环境中,对多个容器进行不同的配置将变得非常复杂,在k8s 1.2版本开始提供了一种统一的应用配置方案-----ConfigMap。 一. ConfigMap概述 二.创建ConfigMap资源对象 1.通过YAML 文件方式创建
2.通过kubectl 命令行方式创建 不使用YAML 文件,直接通过 kubectl create configmap 也可以创建ConfigMap,可以使用参数–from-file 或 --from-literal 指定内容,并且可以在一行中指定多个参数。
(2)通过–from-file 参数在目录下进行创建,该目录下的每个配置文件名都被设置为key,文件的内容被设置为value,语法如下:
(3)使用–from-literal 时会从文本中进行创建,直接将指定的key#=value#创建为ConfigMap 的内容,语法如下:
下面对这几种用法举例说明:
使用–from-literal 参数进行创建的示例如下:
容器应用对ConfigMap 的使用有以下两种方法: 三. 在Pod 中使用ConfigMap 1 . 通过环境变量方式使用ConfigMap
在Pod “cm-test-pod” 的定义中,将ConfigMap “cm-appvars” 中的内容以环境变量(APPLOGLEVEL 和 APPDATADIR) 方式设置为容器内部的环境变量,容器的启动命令将显示着两个环境变量的值(“env | grep APP”):
运行kubectl create -f 命令创建该Pod,由于是测试Pod ,所以该Pod 在运行完启动命令后将会退出,并且不会被系统自动重启(restartPolicy=Never):
运行kubectl get pods
查看该Pod 的日志,可以看到启动命令env | grep APP 的运行结果如下:
着说明容器内部的环境变量使用ConfigMap cm-appvars 中的值进行了正确的设置 k8s 从1.6 版本开始引入了一个新的字段 envFrom, 实现了在Pod 环境中将ConfigMap (可用于Secret 资源对象)中所有定义的key=value自动生成为环境变量:
通过这个定义,在容器内部将会生成如下环境变量:
案例讲解到此,还有可通过volumMount 使用ConfigMap,此处不讲,有想了解的可以自行百度一下。 四. 使用ConfigMap 的限制条件
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 6:03:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |