Я настраиваю spunk универсальный сервер пересылки в качестве дополнительной машины с моим приложением через спецификацию развертывания.Универсальный сервер пересылки Splunk настроен как другой образ докера, в который я копирую свой файл input.conf и output.conf через докер COPY (см. Ниже).
Фактически, когда я развертываю свое приложение, запускается коляска.В текущем состоянии конфигурация индексатора находится в файле output.conf и вступает в силу.
* Проблема возникает здесь: я хочу изменить хост и порт сервера индексатора динамически в зависимости от среды,*
Вот мой файл Dockerfile универсального перенаправителя Spunk.
FROM splunk/universalforwarder:latest
COPY configs/*.conf /opt/splunkforwarder/etc/system/local/
Создан образ докера с именем универсальный-экспедитор Spunk: demo В папке configs есть и файлы input.conf, и output.conf.
Содержимое файла output.conf:
[tcpout]
defaultGroup = default-lb-group
[tcpout:default-lb-group]
server = ${SPLUNK_BASE_HOST}
[tcpout-server://host1:9997]
Я хочу передать переменную среды SPLUNK_BASE_HOST черезРазвертывание коляски, как показано ниже.
- name: universalforwarder
image: splunk-universal-forwarder:demo
imagePullPolicy: Always
env:
- name: SPLUNK_START_ARGS
value: "--accept-license --answer-yes"
- name: SPLUNK_BASE_HOST
value: 123.456.789.000:9997
- name: SPLUNK_USER
valueFrom:
secretKeyRef:
name: credentials
key: splunk.username
- name: SPLUNK_PASSWORD
valueFrom:
secretKeyRef:
name: credentials
key: splunk.password
volumeMounts:
- name: container-logs
mountPath: /var/log/splunk-fwd-myapp
У меня есть отдельный файл deploy.yaml для каждой среды (dev, stage, uat, qa, prod), и я должен иметь возможность передавать другой узел индексатора и порт SPLUNK_BASE_HOST на основе этих сред.Если я жестко закодирую хост и порт индексатора в output.conf, он примет одно и то же значение во всех средах, но я не хочу, чтобы это произошло.
Переменная среды $ {SPLUNK_BASE_HOST} в файле output.conf не ссылается на значение, указанное в файле развертывания yaml.