对 kubernetes 上的入口进行故障排除

Troubleshooting ingress on kubernetes

我将入口控制器部署到我的 kubernetes 集群。但是,当我尝试访问 pod 时,我收到 HTTP 503。所以我试图通过访问入口控制器的日志来查找问题:

kubectl logs controllername-nginx-ingress-controller-6f486779b5-dnm8k -n kube-system

我感兴趣的日志文件部分如下所示:

10.244.0.1 - [10.244.0.1] - - [10/Dec/2018:16:54:12 +0000] "GET /identity HTTP/2.0" 503 599 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36" 271 0.000 [] - - - - d7f7ffd22d584e4a5da2b0fa2fae5665

如您所见,我在那里完全看不到任何有趣的东西。我想知道它是否是整个日志消息,因为我在末尾看到了一堆破折号和一个 guid 值。

接下来我决定丰富 ingress 的日志文件:

kubectl edit deploy -n kube-system controllername-nginx-ingress-controller

部署文档出现,我想在 args 部分添加额外的行:

  spec:
      containers:
      - args:
        - /nginx-ingress-controller
        - --v=5     < ------------ this line
        - other arguments here

关闭部署文档后,我看到此消息:

error: deployments "misty-marmot-nginx-ingress-controller" is invalid

所以我做错了什么?日志消息真的很完整吗,在当前的形式中,它没有一点点地描述错误。还有为什么我不能更改日志记录级别?

由于编辑 nginx-ingress-controller Kubernetes 资源的格式问题而出现此问题,并且已成功修复。然而,即使对于社区贡献者的共同研究,我还是建议查看任何相关 Kubernetes 集群问题的通用 Troubleshooting 指南以及解决这些问题的步骤。