【问题标题】:Azure Kubernetes Service pods not starting health check is timing out and no error logs未启动运行状况检查的 Azure Kubernetes 服务 pod 超时且没有错误日志
【发布时间】:2021-04-26 03:42:11
【问题描述】:

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

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

在本地运行服务时,它会在 10-15 秒内启动

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

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

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

谢谢!

【问题讨论】:

    标签: azure-aks


    【解决方案1】:

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

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

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

    kubectl get events -n {namespace}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-23
      • 1970-01-01
      • 2021-12-31
      • 2021-07-09
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 2021-09-30
      相关资源
      最近更新 更多