培训
学习路径
Azure 上的 Kubernetes 简介 - Training
了解 Docker 容器的基础知识、通过 Kubernetes 实现的容器编排,以及 Azure Kubernetes 服务上的托管群集。
认证
Microsoft Certified: Azure Administrator Associate - Certifications
演示在 Microsoft Azure 中配置、管理、保护和管理关键专业功能的关键技能。
你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何使用 Kubernetes 事件监视和排查 Azure Kubernetes 服务 (AKS) 群集中的问题。
事件是 Kubernetes 中监视和故障排除问题的最突出来源之一。 它们捕获并记录各种 Kubernetes 对象的生命周期信息,例如 Pod、节点、服务和部署。 通过监视事件,可以了解群集的活动、识别问题并有效地排查问题。
Kubernetes 事件不会在整个群集生命周期内保留,因为不存在保留机制。 生成事件后,事件仅在一小时内可用。 要将事件存储更长时间,请启用容器见解。
下表列出了一些关键的 Kubernetes 事件对象:
字段名称 | 说明 |
---|---|
type | 类型基于事件的严重性: “警告”事件表示存在潜在问题的情况,例如 Pod 反复失败或节点资源耗尽。 它们需要注意,但可能不会导致立即失败。 “常规”事件表示例程操作,例如正在调度的 Pod 或部署纵向扩展。 它们通常表示群集行为正常。 |
reason | 生成事件的原因。 例如,FailedScheduling 或 CrashLoopBackoff。 |
message | 描述事件的用户可读消息。 |
命名空间 | 与事件关联的 Kubernetes 对象的命名空间。 |
firstSeen | 首次观测到事件的时间戳。 |
lastSeen | 最后一次观测到事件的时间戳。 |
reportingController | 报告事件的控制器的名称。 例如,kubernetes.io/kubelet 。 |
object | 与事件关联的 Kubernetes 对象的名称。 |
有关详细信息,请参阅官方 Kubernetes 文档。
使用 kubectl get events
命令列出群集中的所有事件。
kubectl get events
首先查找 Pod 的名称,然后使用 kubectl describe pod
命令查看特定 Pod 的事件。
kubectl get pods
kubectl describe pod <pod-name>
在 AKS 群集中,可能具有正在运行的各种命名空间和服务。 根据对象类型、命名空间或原因筛选事件有助于将结果范围缩小到最相关的信息。
例如,可以使用以下命令筛选特定命名空间中的事件:
kubectl get events --namespace <namespace-name>
为了确保及时响应 AKS 群集中的关键事件,请设置自动通知。 Azure 提供与 Azure Monitor 等监视和警报服务的集成。 可以将警报配置为基于特定事件模式触发。 这样,就可以立即了解需要关注的关键问题。
养成定期查看 AKS 群集中的事件的习惯。 这种主动方法可以帮助你识别趋势、尽早发现潜在问题并防止升级。 通过随时了解事件,可以保持应用程序的稳定性和性能。
现在,你已了解 Kubernetes 事件,可以通过启用容器见解继续监视和可观测性之旅。
培训
学习路径
Azure 上的 Kubernetes 简介 - Training
了解 Docker 容器的基础知识、通过 Kubernetes 实现的容器编排,以及 Azure Kubernetes 服务上的托管群集。
认证
Microsoft Certified: Azure Administrator Associate - Certifications
演示在 Microsoft Azure 中配置、管理、保护和管理关键专业功能的关键技能。