配置部署以使用 ConfigMap
学习目标
配置部署以使用 ConfigMap
使用场景
您希望将应用程序部署到 SAP BTP, Kyma runtime,并且必须通过环境变量对其进行配置。您希望将这些环境变量存储在 ConfigMap 中,并将它们注入到您的应用程序。
任务流程
在本练习中,您将执行以下步骤:
创建 ConfigMap。
使用该 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
步骤
创建一个名为
config-map.yaml的新文件。您可以指定您的名字和一条问候消息:
apiVersion: v1
kind: ConfigMap
metadata:
name: name-greeting
data:
GREETING: "Hello"
FIRSTNAME: "Kyma"
使用 kubectl 应用该 ConfigMap。
kubectl apply -f config-map.yaml
检查该 ConfigMap 是否已创建:
kubectl get configmaps
结果
如果成功,打印出的列表中会包含 name-greeting ConfigMap。
任务 2:使用 ConfigMap 部署应用程序
步骤
创建一个名为
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)!"]
使用 kubectl 应用该 Deployment。
kubectl apply -f deployment.yaml
获取 Pod 名称。
kubectl get pods -l app=test-configmap
获取该 Pod 的输出。
kubectl logs <pod-name>
或者,您也可以使用标签选择器获取日志:
kubectl logs -l app=test-configmap
删除该 Deployment。
kubectl delete deployment test-configmap
结果
在本练习中,您创建了一个 ConfigMap,并部署了一个使用该 ConfigMap 的应用程序。