Я пытаюсь "передать" значение из контейнера init в контейнер.Поскольку значения в configmap совместно используются в пространстве имен, я решил, что могу использовать его для этой цели.Вот мой job.yaml (с поддельной информацией):
apiVersion: batch/v1
kind: Job
metadata:
name: installer-test
spec:
template:
spec:
containers:
- name: installer-test
image: installer-test:latest
env:
- name: clusterId
value: "some_cluster_id"
- name: in_artifactoryUrl
valueFrom:
configMapKeyRef:
name: test-config
key: artifactorySnapshotUrl
initContainers:
- name: artifactory-snapshot
image: busybox
command: ['kubectl', 'create configmap test-config --from-literal=artifactorySnapshotUrl=http://artifactory.com/some/url']
restartPolicy: Never
backoffLimit: 0
Это не похоже на работу (EDIT: хотя утверждения, следующие за этим примечанием к редактированию, могут все еще быть правильными, это не работает, потому что kubectlне распознаваемая команда в образе busybox), и я предполагаю, что модуль может считывать значения только из карты конфигурации, созданной ДО создания модуля.Кто-нибудь еще сталкивался с трудностью передачи значений между контейнерами, и что вы сделали, чтобы решить эту проблему?
Должен ли я развернуть configmap в другом модуле и подождать, чтобы развернуть его, пока не существует configmap?
(я знаю, что могу записывать файлы на том, но я бы предпочел не идти по этому пути, если это не является абсолютно необходимым, поскольку по сути это означает, что наши образы докеров должны быть связаны с окружением, в котором существуют некоторые конкретные файлы)