注册的集群接入事件中心能记录Kubernetes集群的状态变更,包括配置Pod及组件异常等。Kubernetes事件中心功能实时汇聚Kubernetes中的所有事件并提供存储、查询、分析、可视化、告警等能力。本文介绍如何通过容器服务Kubernetes版中的应用将事件中心接入至注册的Kubernetes集群。

前提条件

您已通过容器服务Kubernetes版接入一个注册的Kubernetes集群。具体操作步骤,请参见创建注册集群并接入本地数据中心集群

场景介绍

关于事件中心具体场景,请参见事件监控

步骤一:接入NPD

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,选择市场 > 应用目录
  3. 应用目录页面单击阿里云应用页签,选中并单击ack-node-problem-detector应用。
    阿里云应用包含较多应用,您可在页面右上角搜索ack-node-problem-detector,支持关键字搜索。
  4. 应用目录 - ack-node-problem-detector页面单击参数页签,设置相应的参数。
    参数 描述
    alibaba_cloud_plugins 删除ram_role_check

    另外,当机器没有GPU卡时,删除nvidia_gpu_check

    serviceaccount 填入拥有管理员权限的serviceaccount。您可以执行kubectl -n kube-system get sa查看serviceaccount。详情请查看在CloudShell上通过kubectl管理Kubernetes集群
    env 填入AccessKeyIdAccessKeySecretRegionId三个参数。
    sls enabled 如果需要将Event归档到日志服务,则设置enabledtrue
    topic 填写您的集群可读名称。
    project 填写您的集群对应的日志服务 Project名称。
    logstore 填写project下已有的某个logstore(如果要使用日志服务的事件中心功能,˙这里要填为k8s-event)。
    internal 如果有专线,则设置为true,否则为false
    dingtalk enabled 如果需要将Event告警发送到钉钉群,则设置enabledtrue
    monitorkinds 选择要接收的告警类型,取值:
    • Node
    • Pod
    如果告警只发送到钉钉,建议只选Node
    token 填入钉钉群助手的token。Token可以从钉钉群助手的URL中获取。
    eventbridge enabled 如果需要将Event告警发送到事件总线EventBridge,则设置enabledtrue
  5. 应用目录 - ack-node-problem-detector页面右侧创建区域,选择目标集群,然后单击创建

步骤二:创建事件中心

  1. 登录日志服务控制台
  2. 日志应用区域,单击K8s事件中心
  3. 事件中心管理页面的右上角,单击添加
  4. 创建事件中心面板,根据界面提示配置相关参数。
    • 选择已有Project,可从Project下拉框中选择已创建的Project。
      说明 Project为对应集群的日志服务 Project名称。
    • 选择从容器服务选择K8s集群,可从K8s集群下拉框中选择已创建的K8s集群。通过此方式创建事件中心,默认创建一个名为k8s-log-{cluster-id}的Project。
  5. 单击下一步,完成创建。
    说明 创建事件中心后,默认在您选择的日志服务Project中创建一个名为k8s-event的Logstore,并创建相关联的报表和告警等。

执行结果

配置成功后,即可使用事件中心功能。更多信息,请参见创建并使用Kubernetes事件中心

将事件中心接入注册的Kubernetes集群后,即可使用K8s事件中心,包括查看事件总览、查询事件详情、查看Pod生命周期、配置告警和自定义查询等操作。