Я новичок в Кубернетесе.В моем проекте я пытаюсь использовать Kustomize для генерации configMaps для моего развертывания.Kustomize добавляет хэш после имени configMap, но я не могу заставить его также изменить развертывание для использования этого нового имени configMap.
Развертывание:
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>
[...]
Но все равно получает переменные окружения из: env-receiver-config
, а не env-receiver-config-258g858mgg
.
Мой текущий обходной путь - отключить суффиксы хеша в kustomize.yml
.
generatorOptions:
disableNameSuffixHash: true
Похоже, мне не хватает шага, чтобы сообщить развертыванию имя новогоConfigMap.Что это?