创建 ConfigMap
学习目标
- 掌握使用 kubectl 创建 ConfigMap 的方法
- 掌握使用 YAML 文件定义 ConfigMap
- 理解 ConfigMap 的数据格式
核心概念
创建方式
1. 命令行创建
- kubectl create configmap
- 适合快速测试
2. YAML 文件创建
- 声明式定义
- 适合生产环境
命令行创建方式
# 方式 1:从键值对创建
kubectl create configmap my-config \
--from-literal=DATABASE_HOST=mysql.example.com \
--from-literal=DATABASE_PORT=3306
# 方式 2:从文件创建
kubectl create configmap my-config \
--from-file=config.properties
# 方式 3:从目录创建
kubectl create configmap my-config \
--from-file=config/
# 方式 4:从文件指定键名
kubectl create configmap my-config \
--from-file=app-config=config.properties
YAML 文件定义
apiVersion: v1
kind: ConfigMap
metadata:
name: my-config
namespace: default
data:
# 键值对形式
DATABASE_HOST: mysql.example.com
DATABASE_PORT: "3306"
LOG_LEVEL: info
# 文件形式
config.properties: |
database.host=mysql.example.com
database.port=3306
log.level=info
ConfigMap 数据结构
data:
# 字符串值(不需要引号)
key1: value1
# 数字值(需要引号)
key2: "123"
# 多行文本
key3: |
line1
line2
line3
# 文件内容
config.file: |
[section]
key=value
查看 ConfigMap
# 查看所有 ConfigMap
kubectl get configmaps
# 查看特定 ConfigMap
kubectl get configmap my-config
# 查看详细信息
kubectl describe configmap my-config
# 查看 YAML 格式
kubectl get configmap my-config -o yaml
删除 ConfigMap
# 删除 ConfigMap
kubectl delete configmap my-config
实践练习
练习 1:命令行创建
创建一个 ConfigMap 存储数据库配置:
# 创建 ConfigMap
kubectl create configmap db-config \
--from-literal=DB_HOST=mysql.example.com \
--from-literal=DB_PORT=3306 \
--from-literal=DB_NAME=mydb
# 验证创建
kubectl get configmap db-config
kubectl describe configmap db-config
练习 2:YAML 文件创建
创建一个配置文件 app-config.yaml:
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
APP_NAME: my-app
APP_VERSION: "1.0.0"
LOG_LEVEL: debug
CACHE_SIZE: "1000"
config.json: |
{
"database": {
"host": "mysql.example.com",
"port": 3306
},
"cache": {
"size": 1000,
"ttl": 300
}
}
应用配置:
kubectl apply -f app-config.yaml
练习 3:从文件创建
创建配置文件 nginx.conf:
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://backend:8080;
}
}
创建 ConfigMap:
kubectl create configmap nginx-config \
--from-file=nginx.conf
小结
| 要点 | 说明 |
|---|---|
| 命令行创建 | kubectl create configmap |
| YAML 创建 | 声明式定义 |
| 数据格式 | 键值对或文件内容 |
| 查看命令 | kubectl get/describe configmap |
| 删除命令 | kubectl delete configmap |
练习编辑器
bash
Loading...