在 Kubernetes 中,配置映射(ConfigMap)和密钥(Secret)是两种用于管理应用程序配置和敏感信息的机制。下面我们将详细介绍这两种资源的使用方法。

配置映射(ConfigMap)

配置映射允许您将非敏感数据(如配置文件)注入到您的 Pod 中。以下是如何创建一个简单的配置映射的示例:

apiVersion: v1
kind: ConfigMap
metadata:
  name: example-configmap
data:
  database.yml: |
    db_user: user
    db_password: password
    db_host: localhost

您可以使用以下命令创建配置映射:

kubectl apply -f configmap.yaml

密钥(Secret)

密钥用于管理敏感信息,如密码、OAuth 令牌和 SSH 密钥。以下是如何创建一个包含敏感信息的密钥的示例:

apiVersion: v1
kind: Secret
metadata:
  name: example-secret
type: Opaque
data:
  db_password: cGFzc3dvcmQ=

您可以使用以下命令创建密钥:

kubectl apply -f secret.yaml

使用 ConfigMap 和 Secret

一旦您创建了 ConfigMap 和 Secret,您就可以在 Pod 定义中使用它们。以下是如何在 Pod 中使用 ConfigMap 的示例:

apiVersion: v1
kind: Pod
metadata:
  name: example-pod
spec:
  containers:
  - name: example-container
    image: nginx
    envFrom:
    - configMapRef:
        name: example-configmap

同样,以下是如何在 Pod 中使用 Secret 的示例:

apiVersion: v1
kind: Pod
metadata:
  name: example-pod
spec:
  containers:
  - name: example-container
    image: nginx
    envFrom:
    - secretRef:
        name: example-secret

更多信息

如果您想了解更多关于 Kubernetes 的信息,请访问我们的官方文档

ConfigMap 和 Secret