gpt4 book ai didi

kubernetes - k8s : configMap does not work in deployment

转载 作者:行者123 更新时间:2023-12-02 11:30:34 24 4
gpt4 key购买 nike

我们最近遇到了一个关于在容器内使用环境变量的问题。
操作系统 : windows 10 专业版
k8s集群 : 迷你库
k8s版本 : 1.18.3
1. 行不通的方式,虽然它是我们的首选方式
这是使用'envFrom'的deployment.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
name: db
labels:
app.kubernetes.io/name: db
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: db
template:
metadata:
labels:
app.kubernetes.io/name: db
spec:
serviceAccountName: default
securityContext:
{}
containers:
- name: db
image: "postgres:9.4"
ports:
- name: http
containerPort: 5432
protocol: TCP
envFrom:
- configMapRef:
name: db-configmap
这是 db.properties:
POSTGRES_HOST_AUTH_METHOD=trust
第1步:
kubectl create configmap db-configmap ./db.properties
第2步:
kebuctl apply -f ./deployment.yaml
第 3 步:
kubectl get pod
运行上面的命令,得到如下结果:
db-8d7f7bcb9-7l788        0/1    CrashLoopBackOff   1      9s
这表明环境变量 POSTGRES_HOST_AUTH_METHOD 是 不是 注入(inject)。
2. 有效的方式(我们不能用这种方式)
这是使用'env'的deployment.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: db
labels:
app.kubernetes.io/name: db
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: db
template:
metadata:
labels:
app.kubernetes.io/name: db
spec:
serviceAccountName: default
securityContext:
{}
containers:
- name: db
image: "postgres:9.4"
ports:
- name: http
containerPort: 5432
protocol: TCP
env:
- name: POSTGRES_HOST_AUTH_METHOD
value: trust
第1步:
kubectl apply -f ./deployment.yaml
第2步:
kubectl get pod
运行上面的命令,得到如下结果:
db-fc58f998d-nxgnn                   1/1        Running        0            32s
以上表示环境已注入(inject),以便数据库启动。
在第一种情况下我做错了什么?
预先感谢您的帮助。
更新:
提供配置图:
 kubectl describe configmap db-configmap
Name:         db-configmap
Namespace: default
Labels: <none>
Annotations: <none>

Data
====
db.properties:
----
POSTGRES_HOST_AUTH_METHOD=trust

最佳答案

用于为 usecase-1 创建配置映射。请使用以下命令

kubectl create configmap db-configmap --from-env-file db.properties

关于kubernetes - k8s : configMap does not work in deployment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63079479/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com