K8s事件中心记录了集群的状态变更,包括创建Pod、运行Pod、删除Pod、组件异常等。K8s事件中心实时汇聚Kubernetes集群中的所有事件并提供存储、查询、分析、可视化、告警等能力。本文介绍创建及使用K8s事件中心的操作步骤。
前提条件
已创建Kubernetes集群(例如阿里云ACK集群、ACK Serverless集群等)。
费用说明
K8s事件中心具备如下条件时,免费使用。
-
K8s事件中心关联的Logstore的存储时间为90天(默认90天)。
-
每天写入K8s事件中心的数据量少于256 MB(大约25万条事件)。
例如:
-
不调整存储时间(默认90天),且K8s集群每天产生1000条事件,则K8s事件中心免费使用。
-
调整存储时间为105天,且K8s集群每天产生1000条事件,则超过90天后,K8s事件中心会产生Logstore存储费用(计费项为存储空间-日志存储),每天费用约0.1元。关于存储空间-日志存储计费项的更多信息,请参见按使用功能计费模式计费项。
产品试用
SLS Playground中的K8s事件中心Demo,内置了演示数据、可视化图表等资源,提供了完整的演示环境,便于您快速了解及体验功能。
您可以单击K8s事件中心,进行试用。
重要
SLS Playground中的数据为演示数据,请勿用于生产环境。
步骤一:创建K8s事件中心
-
登录日志服务控制台。
-
在日志应用区域的智能运维页签中,单击K8s事件中心。
-
在事件中心管理页面,单击添加。
-
在添加事件中心页面,配置相关参数。
-
如果选择已有Project,则从Project下拉框中选择已创建的Project,用于管理K8s事件中心相关资源(Logstore、仪表盘等)。
-
如果选择从容器服务选择K8s集群,则从K8s集群下拉框中选择已创建的K8s集群。通过此方式创建K8s事件中心,日志服务默认创建一个名为k8s-log-{cluster-id}的Project,用于管理K8s事件中心相关资源(Logstore、仪表盘等)。
说明
创建K8s事件中心后,日志服务自动在目标Project中生成一个名为k8s-event的Logstore,并生成相关联的仪表盘等。
-
-
单击下一步。
步骤二:部署eventer和node-problem-detector
您需要在Kubernetes集群中配置eventer和node-problem-detector后才能正常使用K8s事件中心。
阿里云Kubernetes配置方式
如果是ACK集群,则对应阿里云Kubernetes组件中的ack-node-problem-detector组件已集成eventer和node-problem-detector功能,您只需要部署该组件。更多信息,请参见事件监控。如果是ACK Serverless集群,您需要部署kube-eventer组件。
此处以ACK集群为例。
-
登录容器服务管理控制台。
-
在左侧导航栏中,单击集群。
-
在集群列表页面中,单击目标集群。
-
在左侧导航栏中,选择运维管理 > 组件管理。
-
在日志与监控页签中,找到ack-node-problem-detector,然后单击安装。
安装完成后,您可以选择运维管理 > 事件中心,查看事件中心仪表盘。
自建Kubernetes配置方式
-
部署eventer。
具体操作,请参见采集Kubernetes事件。
-
部署node-problem-detector。
具体操作,请参见Github。
步骤三:使用K8s事件中心
创建K8s事件中心并部署Eventer和NodeProblemDetector后,即可使用K8s事件中心,包括查看事件总览、查询事件详情、查看Pod生命周期、查看节点事件、查看核心组件事件、设置告警、自定义查询和更新版本等操作。
在K8s事件中心页面,找到目标K8s事件中心实例,单击图标,可进行如下操作。
操作 |
说明 |
查看事件总览 |
事件总览页面用于展示核心事件的汇总统计信息。例如事件总数、今天Error事件数与昨天的对比、告警项统计、Error事件趋势、Pod OOM详细信息等。 说明 目前Pod OOM信息不能精确到Pod,只能定位到事件发生的节点、进程名、进程号。您可以通过自定义查询查找Pod OOM发生时间点附近的Pod重启事件,以此定位到具体的Pod。 |
查询事件详情 |
事件详情查询页面用于展示经过各种维度(事件类型、事件目标、Host、Namespace、Name)过滤后的事件详细信息。 |
查看Pod生命周期 |
Pod生命周期页面以图形化方式展示Pod整个生命周期中的事件信息。您还可以通过事件等级筛选重要的Pod事件。 |
查看节点事件 |
节点事件页面用于展示节点事件详情。例如Node生命周期、事件列表等。 |
查看核心组件事件 |
核心组件事件页面用于展示核心组件事件详情。例如ECS重启失败、URL模式未执行等。 |
设置告警 |
在告警配置页面,您可以为K8s事件中心设置告警。具体操作,请参见设置告警。 |
自定义查询 |
在自定义查询页面,您可以自定义查询和分析语句。 K8s事件中心的所有事件都保存在Logstore中,您可以使用Logstore中的所有功能,例如自定义查询、消费事件、创建自定义报表、创建自定义告警等。更多信息,请参见查询和分析日志。 如果您要访问K8s事件中心所在的Project,可通过以下两种方式获取Project名称。
|
更新版本 |
在版本更新页面,您可以升级K8s事件中心的版本。 |
删除K8s事件中心
在K8s事件中心 > 事件中心管理页面中,找到目标K8s事件中心实例,单击图标,删除K8s事件中心。
常见问题
-
K8s事件中心无数据。
部署好K8s事件中心后,新产生的事件会自动采集到K8s事件中心,您可以在自定义查询页面进行搜索(建议将右上角时间范围调整到1天)。如果无数据,一般有两个原因:
-
部署K8s事件中心后,K8s集群还未产生事件。
您可以通过
kubectl get events --all-namespaces
命令检查集群内是否有新事件产生。 -
部署eventer和node-problem-detector时,参数填写错误。
-
如果您使用的是阿里云Kubernetes集群,请参考如下步骤。
-
登录容器服务控制台。
-
在集群页面中,单击目标集群。
-
在左侧导航栏中,选择应用 > Helm。
-
在Helm页面中,单击ack-node-problem-detector后的更新。
-
检查并修改参数配置。更多信息,请参见步骤二:部署eventer和node-problem-detector。
-
-
如果您使用的是自建Kubernetes集群,参数配置请参见采集Kubernetes事件。
-
-
-
如何查看事件对应容器的日志?
-
如果您使用的是阿里云Kubernetes集群,请参考如下步骤。
-
登录容器服务控制台。
-
在集群页面中,单击目标集群。
-
在左侧导航栏中,选择工作负载 > 容器组。
-
将命名空间选择为kube-system。
-
在容器组列表中,单击目标容器组对应的日志。
-
-
如果您使用的是自建Kubernetes集群,请查看namespace为kube-system下文件名前缀为eventer-sls的Pod日志。
-
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/165370.html