配置部署以使用 ConfigMap

学习目标

  • 配置部署以使用 ConfigMap

使用场景

您希望将应用程序部署到 SAP BTP, Kyma runtime,并且必须通过环境变量对其进行配置。您希望将这些环境变量存储在 ConfigMap 中,并将它们注入到您的应用程序。

任务流程

在本练习中,您将执行以下步骤:

  1. 创建 ConfigMap。

  2. 使用该 ConfigMap 部署应用程序并验证结果。

前提条件

在开始之前,请确保满足以下前提条件:

  • 您已在 SAP BTP 子账户中创建 SAP BTP, Kyma runtime 实例。请参阅 Deploying a Kubernetes Cluster with Kyma on SAP BTP 。

  • 您已配置 kubectl 以与您的 SAP BTP, Kyma runtime 实例交互。请参阅 Setting and Configuring Kubectl for Kyma 。

任务 1:创建 ConfigMap

步骤

  1. 创建一个名为 config-map.yaml 的新文件。您可以指定您的名字和一条问候消息:

apiVersion: v1
kind: ConfigMap
metadata:
name: name-greeting
data:
GREETING: "Hello"
FIRSTNAME: "Kyma"
  1. 使用 kubectl 应用该 ConfigMap。

kubectl apply -f config-map.yaml
  1. 检查该 ConfigMap 是否已创建:

kubectl get configmaps

结果

如果成功,打印出的列表中会包含 name-greeting ConfigMap。

任务 2:使用 ConfigMap 部署应用程序

步骤

  1. 创建一个名为 deployment.yaml 的新文件,用于指定 Deployment 配置:

apiVersion: apps/v1
kind: Deployment
metadata:
name: test-configmap
spec:
replicas: 1
selector:
matchLabels:
app: test-configmap
template:
metadata:
labels:
app: test-configmap
spec:
containers:
- name: test-configmap
image: bash
envFrom:
- configMapRef:
name: name-greeting
command: ["echo"]
args: ["$(GREETING) $(FIRSTNAME)!"]
  1. 使用 kubectl 应用该 Deployment。

kubectl apply -f deployment.yaml
  1. 获取 Pod 名称。

kubectl get pods -l app=test-configmap
  1. 获取该 Pod 的输出。

kubectl logs <pod-name>

或者,您也可以使用标签选择器获取日志:

kubectl logs -l app=test-configmap
  1. 删除该 Deployment。

kubectl delete deployment test-configmap

结果

在本练习中,您创建了一个 ConfigMap,并部署了一个使用该 ConfigMap 的应用程序。

延伸阅读

Configure a Pod to use a ConfigMap