我已经设置了一个Kubernetes主节点和两个工作节点。我使用kubectl将两个web应用程序部署为一个pod。我部署了nginx-ingress-controller (图像:gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.6),并使用nodeport选项为其创建了一个服务。如何访问nginx-ingress-controller的错误日志?我可以在/var/log/nginx/下看到error.log,但它链接到/dev/stderr。
发布于 2019-05-31 04:45:29
TL;DR
kubectl logs -n <<ingress_namespace>> <<ingress_pod_name>>检查当前在其下运行入口控制器的名称空间。
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
helloworld-deployment-7dc448d6b-5zvr8 1/1 Running 1 3d20h
helloworld-deployment-7dc448d6b-82dnt 1/1 Running 1 3d20h
$ kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
kube-apiserver-minikube 1/1 Running 1 3d20h
nginx-ingress-controller-586cdc477c-rhj9z 1/1 Running 1 3d21h对我来说,它恰好是pod nginx-ingress-controller-586cdc477c-rhj9z上的kube-system名称空间。
现在,获取日志,就像您或任何其他pod使用
kubectl logs -n kube-system nginx-ingress-controller-586cdc477c-rhj9z发布于 2017-09-28 21:20:55
在大多数情况下,您将看到容器化应用程序将它们的日志输出到stdout/stderr,这意味着它们可以作为容器日志使用。在Kubernetes中,您可以通过ie访问这些日志。kubectl logs <pod>
更新:一个非常好的日志cli浏览工具- https://github.com/wercker/stern
发布于 2018-12-22 07:19:16
我更喜欢:kubectl logs -lapp=nginx-ingress
(获取标签为nginx-ingress的所有pod的日志)
https://stackoverflow.com/questions/46467929
复制相似问题