Splunk Universal Forwarder как коляска в Куберне - PullRequest
0 голосов
/ 01 мая 2019

Я настраиваю 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.

1 Ответ

0 голосов
/ 01 мая 2019

Вам необходимо создать сценарий инициализации, который должен получать имя хоста из переменной среды, и обновить его в файле output.conf с помощью команды sed.Наконец-то запустил slunk форвардер

...