Назад | Перейти на главную страницу

Контроллер Ingress не показывает журналы доступа / ошибок nginx

Я пытаюсь устранить ошибку 404 на моем входящем входе. Когда я просматриваю журналы, используя kubectl logs -n ingress-nginx ingress-nginx-controller-xxxxxx -f Я не вижу выходных данных при запросе URL-адреса. Есть ли особая настройка, которая позволяет мне просматривать журналы доступа / ошибок?

Я ищу то, что обычно вижу при просмотре /var/log/nginx/error.log или /var/log/nginx/access.log.

Вы можете запускать модули, используя kubectl exec <pod_name> -n <namespace> <command> и проверьте, создает ли ваше приложение файлы журнала по указанным вами путям. Если вы можете проверить существование этих файлов, вы можете добавить к развертыванию вспомогательный файл busybox, а также можете напрямую передавать свои журналы с помощью сопроводительного файла и отслеживать их с помощью kubectl logs

Вы можете использовать следующий шаблон, чтобы сделать то же самое:

Добавьте следующее подключение тома к существующему развертыванию

volumeMounts:
  - mountPath: /var/log/nginx
    name: logging-mount

А затем вы можете добавить коляску, используя следующий шаблон

- name: log-streaming-sidecar
  image: busybox
  args: [/bin/sh, -c, 'tail -n+1 -f /var/log/nginx/*']
  volumeMounts:
     - mountPath: /var/log/nginx
       name: logging-mount
volumes:
  - name: logging-mount
    emptyDir: {}

Обратите внимание, что при этом ваши ошибки и журналы доступа будут передаваться в один поток. Хотя правильным методом для этого является создание символических ссылок для журналов ошибок и доступа, в качестве альтернативы можно использовать упомянутый мной метод.

Надеюсь это поможет!