Kubernetes部署缺少Kustomize';s散列后缀
我是库伯内特斯的新手。在我的项目中,我尝试使用Kustomize为我的部署生成configMaps。Kustomize在configMap名称后添加了一个散列,但我无法让它同时更改部署以使用新的configMap名称 部署:Kubernetes部署缺少Kustomize';s散列后缀,kubernetes,kustomize,Kubernetes,Kustomize,我是库伯内特斯的新手。在我的项目中,我尝试使用Kustomize为我的部署生成configMaps。Kustomize在configMap名称后添加了一个散列,但我无法让它同时更改部署以使用新的configMap名称 部署: apiVersion: apps/v1 kind: Deployment metadata: name: env-receiver-deployment labels: app: env-receiver-app project: env-proje
apiVersion: apps/v1
kind: Deployment
metadata:
name: env-receiver-deployment
labels:
app: env-receiver-app
project: env-project
spec:
replicas: 1
selector:
matchLabels:
app: env-receiver-app
template:
metadata:
labels:
app: env-receiver-app
project: env-project
spec:
containers:
- name: env-receiver-container
image: eu.gcr.io/influxdb-241011/env-receiver:latest
resources: {}
ports:
- containerPort: 8080
envFrom:
- configMapRef:
name: env-receiver-config
args: [ "-port=$(ER_PORT)", "-dbaddr=$(ER_DBADDR)", "-dbuser=$(ER_DBUSER)", "-dbpass=$(ER_DBPASS)" ]
kustomize.yml:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
configMapGenerator:
- name: env-receiver-config
literals:
- ER_PORT=8080
- ER_DBADDR=http://localhost:8086
- ER_DBUSER=writeuser
- ER_DBPASS=writeuser
然后我运行kustomize,应用部署并检查它是否应用了环境
$ kubectl apply -k .
configmap/env-receiver-config-258g858mgg created
$ kubectl apply -f k8s/deployment.yml
deployment.apps/env-receiver-deployment unchanged
$ kubectl describe pod env-receiver-deployment-76c678dcf-5r2hl
Name: env-receiver-deployment-76c678dcf-5r2hl
[...]
Environment Variables from:
env-receiver-config ConfigMap Optional: false
Environment: <none>
[...]
看起来我缺少一个步骤来告诉部署新configMap的名称。这是什么?问题似乎来自这样一个事实:您通过kustomize生成配置映射,但通过kubectl直接部署而不使用kustomize 基本上,kustomize将在您的所有资源中查找所有
env receiver config
,并用哈希后缀版本替换它们
要使其正常工作,您的所有资源都必须通过kustomize。
为此,您需要将以下内容添加到您的kustomization.yml
:
resources:
- yourDeployment.yml
然后运行
kubectl apply-k.
。它应该使用正确的ConfigMap名称创建ConfigMap和部署。问题似乎来自这样一个事实:您通过kustomize生成配置映射,但通过kubectl直接生成部署,而不使用kustomize
基本上,kustomize将在您的所有资源中查找所有env receiver config
,并用哈希后缀版本替换它们
要使其正常工作,您的所有资源都必须通过kustomize。
为此,您需要将以下内容添加到您的kustomization.yml
:
resources:
- yourDeployment.yml
然后运行kubectl apply-k.
。它应该使用正确的ConfigMap名称创建ConfigMap和部署