在 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