入口控制器未显示 nginx 访问/错误日志

入口控制器未显示 nginx 访问/错误日志

我正在尝试解决我的入口上的 404 消息。当我使用查看日志时,kubectl logs -n ingress-nginx ingress-nginx-controller-xxxxxx -f在向 URL 发出请求时看不到任何输出。是否有特定的设置允许我查看访问/错误日志?

我正在寻找查看/var/log/nginx/error.log或时通常会看到的内容/var/log/nginx/access.log

答案1

您可以使用 exec 进入 podkubectl exec <pod_name> -n <namespace> <command>并检查您的应用程序是否在您提到的路径中创建日志文件。如果您能够验证这些文件的存在,则可以将 busybox sidecar 添加到部署中,然后可以使用 sidecar 直接流式传输日志并使用 tail 跟踪它们kubectl logs

您可以使用以下模板执行相同操作:

将以下卷挂载添加到现有部署

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

然后你可以使用以下模板添加 sidecar

- 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: {}

请注意,这会将错误日志和访问日志流式传输到同一个流中。虽然正确的方法是为错误日志和访问日志创建符号链接,但我提到的方法可以作为替代方法。

希望这可以帮助!

相关内容