Azure Kubernetes 服务 pods 未启动运行状况检查超时且无错误日志

Azure Kubernetes Service pods not starting health check is timing out and no error logs

我正在使用 Azure Kuerbets 服务,我有一个很大的问题来检测为什么 pods(特定类型)没有启动......唯一发生的事情是当新的 pods 启动时健康检查超时,AKS 静静地返回到旧部署的有效服务...我在服务中做了很多跟踪输出,以检测它在外部调用被阻止等情况下失败的地方,我有一个全局 try/catch 在 Program.cs 但没有信息出来...AKS 监听 stdout 并在那里抓取日志并将它们推送到外部工具....我试图在健康检查应该开始时增加值等如下但与没有结果

 livenessProbe:
         .
         .
         initialDelaySeconds: 60
         periodSeconds: 10
 readinessProbe:
          .
          .
          initialDelaySeconds: 50
          periodSeconds: 15

当 运行 本地服务在 10-15 秒内启动

显然,在服务启动之前事情似乎失败了,或者某些事情超时了,我想知道...

  1. 我可以获取日志或监控正在发生的事情吗?为什么 pods 在 AKS 中启动 pods 时速度如此之慢?
  2. 是否可以监控属于 AKS 群集的虚拟机上的 stdout 输出的内容?

感觉我已经测试了所有内容,但我找不到任何健康监控拒绝请求的原因。

谢谢!

如果您在创建集群时启用了 Azure Monitor for Container,您的应用程序的日志将被推送到 table ContainerLog 中的 Log Analytics 工作区。如果未启用 Azure Monitor,您可以使用 kubectl 通过以下命令查看输出到 stdoutsdterr 的内容:

kubectl logs {pod-name} -n {namespace}

您还可以检查 kubernetes 事件,您会看到事件表明探测失败如果这确实是问题所在:

kubectl get events -n {namespace}