介绍Kubernetes如何创建和使用ConfigMap?ConfigMaps 是一个有用的 Kubernetes 特性,它允许你通过分离配置设置来维护轻量级的可移植图像。
使用小的分层镜像是构建高效 Kubernetes 集群的实践之一。使用 ConfigMaps 可以帮助你实现这一目标。
在本教程中,你将学习如何创建和使用 ConfigMap,包括Kubernetes创建和使用ConfigMap示例。
先决条件
- 使用sudo 或 root 权限访问用户帐户
- 访问命令行/终端窗口(Ctrl – Alt – T)
- Kubernetes 平台已安装
如果你正在使用 Kubernetes,你希望保持图像轻便和便携。为此,你应该将配置设置与应用程序代码分开。使用 ConfigMaps,你可以在 pod 上添加不同的配置数据以适应它们运行的??环境。
例如,你可以在开发、测试或生产阶段使用具有不同配置的相同代码。
注意:请注意 ConfigMap 未加密,不应用于敏感信息。要存储和管理敏感信息,请使用Kubernetes Secrets。
如何创建一个 ConfigMap?你可以从文件、目录和文字值创建 ConfigMap。
Kubernetes如何创建和使用ConfigMap?创建 ConfigMap 的基本语法是:
kubectl create configmap [
configmap_name] [
attribute] [
source]
根据来源,属性将是:
--from file
(如果源是文件/目录)--from-literal
(如果源是键值对)
使用包含键值对格式所需配置的 .yaml 文件来创建 ConfigMap:
kubectl create configmap [
configmap_name] --from-file [
path/to/yaml/file]
例如,要从example-configmap.yaml文件中创建名为example-configmap的 ConfigMap ,你可以运行:
kubectl create example-configmap --from-file /api/v1/namespace/default/configmaps/example-configmap.yaml
选项 2:从文件创建 ConfigMap
Kubernetes创建和使用ConfigMap示例:Kubernetes 允许从一个或多个任何纯文本格式的文件(只要文件包含键值对)创建 ConfigMap。
要从文件创建 ConfigMap,请使用以下命令:
kubectl create configmap [
configmap_name] --from-file [
path/to/file]
要从多个文件创建 ConfigMap,请运行:
kubectl create configmap [
configmap_name] --from-file [
path/to/file1] --from-file [
path/to/file2] --from-file [
path/to/file3]
选项 3:从目录创建 ConfigMap
你还可以从目录(即目录中的所有文件)创建 ConfigMap。为此,请使用以下命令:
kubectl create configmap [
configmap_name] --from-file [
path/to/directory]
Kubectl 将目录中的每个文件打包到新的 ConfigMap 中。仅包含具有有效密钥的基本名称的文件。ConfigMap 中不包含子目录和非常规文件。
选项 4:从文字值创建 ConfigMap
你还可以使用该
--from-literal
选项从文字值创建 ConfigMap
。为此,请遵循基本语法:
kubectl create configmap [
configmap_name] --from-literal [
key1]=[
value1] --from-literal [
key2]=[
value]2
查看 ConfigMap 中的键值对要查看 Kubernetes ConfigMap 的详细信息和键的值,请使用以下命令:
kubectl get configmaps [
configmap_name] -o yaml
输出应以 yaml 格式显示信息:
apiVersion: v1
data:
key1: value1
key2: value2
...
kind: ConfigMap
metadata:
creationTimeStamp: ...
name: example-configmap
namespace: default
resourceVersion: ...
selfLink: /api/v1/namespace/default/configmaps/example-configmap
uid: ...
配置 Pod 以使用 ConfigMapKubernetes如何创建和使用ConfigMap?有两种方法可以配置 pod 以使用特定的 ConfigMap:
- 将 ConfigMap 作为卷挂载
- 使用环境变量
Kubernetes创建和使用ConfigMap示例:将 ConfigMap 挂载为卷
下载或创建 ConfigMap 后,你可以使用卷将配置挂载到 pod。
在 pod 的 yaml 文件中添加一个卷部分:
volumes:
- name: config
configMap
name: [
configmap_name]
items:
- key: [
key/file_name]
path: [
inside_the_pod]
文章图片
添加所需内容后,使用该
kubectl create
命令创建以 ConfigMap 作为卷的 pod。将 ConfigMap 与 EnvFrom 一起使用
Kubernetes如何创建和使用ConfigMap?ConfigMaps 允许你通过环境变量引入多个值。
将env部分添加到 pod 的 yaml 文件以从 ConfigMap 中提取指定的环境变量:
env:
- name: SPECIAL_LEVEL_KEY
valueFrom:
configMapKeyRef:
name: [
configmap_name]
key: [
key/file_name]
要从 ConfigMap 中提取所有环境变量,请将envFrom部分添加到 yaml 文件:
envFrom:
- configMapKeyRef
name: env-config
文章图片
然后,使用该
kubectl create
命令创建具有指定配置设置的 pod。结论【如何在Kubernetes中创建和使用ConfigMap(分步指南)】本文向你展示了Kubernetes创建和使用ConfigMap示例,包括如何创建 ConfigMap 的四种不同方式。此外,它还包括两种将 Kubernetes ConfigMaps 与 Pod 结合使用的方法。
推荐阅读
- Kubernetes构建高效集群的19个最佳实践方法
- 安装系统 容易又好用的一键自动重装系统软件
- 安装系统 在线重装大师重装系统图文详细教程
- 32位w7系统安装图文详细教程
- 电脑系统一键重装哪个好用?
- 菜鸟都会的光盘重装xp系统图文详细教程
- 安装系统 系统之家一键重装系统win7怎样样设置
- 腾讯升级win10系统步骤
- 最容易实用的xp系统重装步骤