我有一个在英国南部托管的生产AKS kubernetes集群,该集群变得不稳定且没有响应:
从图像中,您可以看到我有几个Pod,它们处于未就绪状态(即终止/未知),并且无法运行正在运行的报表。
我从见解网格中看到,问题从昨晚9.50pm开始
我已经仔细检查了AKS服务本身的日志,并通过Kibana日志查看了故障发生时在集群上运行的应用程序,但我一直在努力寻找可能导致这种情况的任何东西。
幸运的是,我有两个集群在一个流量管理器下为生产提供服务,因此已将所有流量路由到健康的一个,但我担心的是我需要了解造成这种情况的原因,尤其是如果另一个在生产时也会发生在启动新群集时发生停机。
我的问题是,我是否缺少任何明显的地方来寻找有关导致此问题的原因的信息?任何可能指出问题所在的事件日志?
答案 0 :(得分:1)
我建议您在节点“未准备就绪”期间检查K8s事件日志。
尝试打开“ Insights”的“节点”选项卡,并在出现问题的时候从上至下选择时间范围。查看什么节点状态。有压力吗?您可以在节点列表右侧的属性面板中看到它。属性面板还包含指向该时间范围的事件日志的链接...但是,请注意,链接到节点属性面板上的事件日志会构造一个复杂的查询,以仅显示标记有该节点的事件。
您可以在日志中使用更简单的查询(也可以运行更多有趣的查询)来获取此信息。打开群集左侧菜单中的“日志”选项卡,然后执行与此查询类似的查询(将时间间隔更改为所需的时间间隔):
let startDateTime = datetime('2019-01-01T13:45:00.000Z');
let endDateTime = datetime('2019-01-02T13:45:00.000Z');
KubeEvents_CL
| where TimeGenerated >= startDateTime and TimeGenerated < endDateTime
| order by TimeGenerated desc
查看是否有事件指示出了什么问题。同样有趣的是,您可以查看集群上的节点清单。节点报告K8s状态。问题发生之前是“准备就绪” ...然后出了点问题-状态如何?磁盘意外丢失了吗?
let startDateTime = datetime('2019-01-01T13:45:00.000Z');
let endDateTime = datetime('2019-01-02T13:45:00.000Z');
KubeNodeInventory
| where TimeGenerated >= startDateTime and TimeGenerated < endDateTime
| order by TimeGenerated desc
答案 1 :(得分:0)
只是预感,但请检查https://github.com/Azure/AKS/issues/305是否存在识别和纠正此问题的步骤。