Skip to content

📦 配置管理

🔧 ConfigMap

ConfigMap 用于存储非敏感的配置信息,比如配置文件、命令行参数、环境变量等。

  • 作用

    • 解耦配置和容器镜像。
    • 在不重建镜像的情况下更新应用配置。
  • 使用方式

    • 以环境变量的形式注入容器。
    • 挂载为 Volume 文件。
    • 通过 CLI 或 YAML 创建并引用。
  • 示例

yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: app-config
data:
  APP_ENV: "production"
  LOG_LEVEL: "debug"
yaml
envFrom:
  - configMapRef:
      name: app-config

🔐 Secret

Secret 用于存储敏感数据,例如密码、API Token、证书等。

  • 特点

    • 数据以 Base64 编码。
    • 可作为环境变量或 Volume 使用。
    • 支持 RBAC 权限控制。
  • 创建方式

    • CLI 方式:
bash
kubectl create secret generic my-secret --from-literal=password=123456
  • YAML 文件方式(需 base64 编码):
yaml
apiVersion: v1
kind: Secret
metadata:
  name: my-secret
type: Opaque
data:
  password: MTIzNDU2

📁 SubPath

SubPath 用于将某个卷中的子路径挂载到容器指定路径。

  • 用途

    • 多个容器共享一个卷但只访问不同子目录。
    • 让配置文件独占某个挂载路径。
  • 示例

yaml
volumeMounts:
  - name: config
    mountPath: /etc/config/app.conf
    subPath: app.conf