1. 名称空间
1.1. 功能截图
1.2. 知识点
说明管理K8S集群中的名称空间,不同的基础资源分布于不用的名称空间即不同的域。不用的名称空间起到隔离的作用,默认不指定名称空间则使用默认的名称空间。
1.3. 功能详述
1.3.1. 新增
通过输入需要新增的名称空间名称来新增名称空间
1.3.2. 删除
点击操作中的删除按钮即可删除相应的名称空间。系统使用的名称空间不提供删除功能。
名称空间中要是存在多种资源,在删除操作之后需要一定时间删除。一般资源较多的名称空间不建议通过该种方式来删除。
1.3.3. 收藏
点击操作中的收藏按钮可以收藏相应的名称空间。在收藏页面可以方便查看关注的名称空间列表。
1.3.4. 详情
点击列表中名称空间的名称跳转名称空间详情页面。展示了该名称空间的相关的POD、服务代理、应用(deployment、deamonset、cronjob、job)资源
POD
展示该名称空间下的所有pod资源,包含了pod的状态、创建时间、所处节点。点击pod名称可以跳转该pod详细的页面
服务代理
展示该名称空间下的所有服务代理资源,包含了服务代理的类型(clusterIP、nodePort等)、IP、端口,点击服务代理名称可以跳转到服务代理的详细页面
应用
展示了该名称空间下的所有deployment、deamonset、cronjob、job,点击相应的应用名称可以跳转到相应应用详细页面
2. POD管理
2.1. 功能截图
2.2. 知识点
说明POD为K8S基础的管理资源对象,POD中可以包含多个容器,不用控制器可以控制不同类型的pod。该功能展示了K8S集群中所有的POD资源,提供POD监控预警、查询检索、日志查询、新增、更新、删除等功能
2.3. 功能详述
2.3.1. 新增
通过该功能可以提交、删除、试运行pod基础资源的yaml文件或者在线输入yaml内容。相同的资源将做更新操作,其他资源类型不能操作。
2.3.2. 删除
点击操作列中的删除按钮进行pod资源的删除操作,点击删除之后pod的状态将更新为停止状态,当后台停止完成之后进行删除操作,列表中才删除相应的资源。
2.3.3. 列表查询
提供了标签和字段两种基本查询条件检索查询,两者的运算符包含了=、!=,其中标签的key和value值可以自由输入,字段包含了名称、状态、节点主机名、名称空间4种条件。标签和字段都可以多种自由组合查询,不同运算符相符结合方式。默认查询使用无条件检索查询,即查询出所有pod资源。
2.3.4. 监控
页面的右上角是否开启监控,当开启时候会采集所有pod的基础监控指标(cpu、内存等),当关闭时候不会采集基础监控指标。
2.3.5. 日志
读取指定pod的相应日志内容,可以通过pod选项列表来快速切换不同的pod,多个容器的pod可以选择不同的容器日志,以及每次展示的日志行数。开启实时跟踪表示日志会每间隔3秒拉取一次。
2.3.6. 终端
连接指定pod命令终端,可以通过pod选项来快速切换不同的pod,多个容器pod可以选择不同的容器,选择不用解释器等来连接。(需要在该pod所在宿主机保存好相应的用户名和密码)
2.3.7. 事件
展示指定pod的相关事件信息,方便排查pod异常信息
2.3.8. 详情
点击pod名称跳转到pod的详情页面,该页面展示了pod 的基本信息、监控、标签/注释、容器组、存储、调度等信息
基本信息
展示了pod的名称、所有名称空间(点击可以跳转到相应的名称空间详细页面)、容器数量、状态、所处节点(点击可以跳转掉相应的宿主机管理)、条件等
监控
pod内存、cpu使用监控以及所处的节点监控,当 是否监控的开关开启时候才有监控数据
标签/注释
展示该pod的标签和注释列表,可以新增、删除、更新等操作,系统自带的标签和注释不允许删除
容器组
列举了该pod所包含的容器列表,点击容器名称或者镜像名称可以跳转相应的容器和镜像管理页面。该列表还展示了pod种资源限制、资源要求、存活 就绪 启动停止等k8s健康检查信息
存储
列举了该pod的挂载信息,不同挂载类型分段展示,有挂载类型、挂载路径、创建策略等
调度
展示了pod 的亲和、节点亲和、节点选择器、污点容忍等列表信息
pod亲和:分为硬亲和和软亲和,通过不同的匹配规则表示和哪些pod运行一起
节点亲和:分为硬亲和和软亲和,通过不同的匹配规则表示运行在哪些节点
节点选择器:选择运行在哪些节点上
污点容忍:可以容忍哪些污点,不同的节点拥有的不同的污点
3. 控制器
3.1. 功能截图
3.2. 知识点
说明> 控制器又称之为工作负载,分别包含(deployment、cronjob、job、deamonset)类型的控制器,控制器决定资源的类型。pod与控制器之间的关系,可以理解为控制器是控制pod类型和属性的。
3.3. 功能详述
3.3.1. 列表查询
不同控制器分为不同的tag展示,每种控制器类型都有自己的不同的属性。
每个控制器查询提供了标签和字段两种基本查询条件检索查询,两者的运算符包含了=、!=,其中标签的key和value值可以自由输入,字段包含了名称、名称空间2种条件。标签和字段都可以多种自由组合查询,不同运算符相符结合方式。默认查询使用无条件检索查询,即查询出所有控制器资源。
3.3.2. 新增
通过该功能可以提交、删除、试运行控制器基础资源的yaml文件或者在线输入yaml内容。相同的资源将做更新操作,其他资源类型不能操作。
3.3.3. 删除
点击操作列中的删除按钮进行控制器资源的删除操作,点击删除之后会随即删除控制器控制的pod资源。
3.3.4. 添加到项目
这里的添加到项目指的是添加到 K8S->应用管理->自定义项目 种,方便自定义项目的查看和管理。
3.3.5. 详情
包括了控制器的详细信息、标签/注释、关联POD等信息
详细信息
展示了名称、名称空间、创建时间、策略类型、更新策略、容器、镜像、标签选择、条件。
策略类型
针对deployment类型控制器,有recreate、rollingUpdate两种类型。
recreate表示先删除旧的pod然后创建新的pod,
rollingUpdate表示根据maxSurge maxUnavailable来滚动更新,这种方式不会先停止旧的pod
更新策略
针对deployment类型控制器,有maxSurge、maxUnavailable两种类型。
maxSurge表示最大允许超出个数,值允许为百分比(向上取整)或者具体的数值。设置为100%,表示立即启动所有新的版本pod。
maxUnavailable最大允许不可用的个数,值允许为百分比(向下取整)或者具体的数值。设置为0表示在新 Pod 启动并就绪之前,不要关闭任何旧 Pod。
标签选择
通过该属性决定控制哪些pod
标签/注释
该控制器的标签和注释列表,可以新增、删除、修改等操作
关联POD
展示该控制器控制的pod列表,点击pod列表中的名称可以跳转指定pod 的详细页面,详细可见pod管理功能介绍
3.3.6. yaml
展示该控制器的yaml内容
4. 服务代理
4.1. 功能截图
4.2. 知识点
说明服务代理(Service)可以为一组具有相同功能的Pod提供一个统一的入口地址,并且将请求进行负载分发到后端的各个Pod上。
一般来说,对外提供服务的应用程序需要通过某种机制来实现,对于容器应用最方便的方式就是通过TCP/IP及监听IP和端口号的方式来实现。直接通过Pod的IP地址和端口号访问应用,但是Pod的IP地址是会变的,当Pod所在的Node发生故障,K8S会把Pod重新调度到另一台Node上,这样Pod的IP将发生变化。重要的是,容器本身是分布式的部署方式,通过多个实例共同提供服务,需要在这些实例的前端设置一个负载均衡器来实现请求的分发,K8S中的Service就是用来解决该问题的核心组件。
4.3. 功能详述
服务代理支持新增、查询、删除、添加到项目,以及查看服务代理详情、yaml、事件等操作。
4.3.1. 列表查看
点击服务代理菜单展示服务代理列表页面。
字段说明:
- 名称:服务代理的名称,不能重复。
- 名称空间:名称空间(namespace)是K8S提供的组织机制,用于给集群中的任何对象组进行分类、筛选和管理。例如,可以使用名称空间来划分应用程序生命周期环境(如开发、测试、生产)。
- 类型:支持NodePort和ClusterIP两种。NodePort表示为服务在集群内每台机器上绑定一个端口,这样K8S集群外就可以通过节点IP和节点端口方式来访问集群内服务;ClusterIP表示分配一个仅集群内部可以访问的虚拟IP,集群外无法访问该服务。
- 集群IP:集群内部可以访问的虚拟IP,不指定则自动分配。
- 外部访问IP:集群外部的IP地址,集群外服务可以通过该IP访问集群内服务。
- 端口:如果服务代理类型为NodePort,则展示格式为集群内部服务之间访问的端口:节点端口/协议;如果服务代理类型为ClusterIP,则展示格式为集群内部服务之间访问的端口/协议。
- 选择器:服务代理(Service)通过选择器来筛选和分组具有相同功能的Pod,然后为这些Pod提供一个统一的入口地址,并且将请求进行负载分发到后端的各个Pod上。
4.3.2. 查询
支持通过标签和字段查询服务列表,字段查询支持名称和名称空间,标签和字段都支持多个条件查询。
4.3.3. 新增
点击新增按钮跳转到服务代理新增页面,新增方式支持yaml文件和在线创建两种,如果存在相同资源将做更新操作。yaml文件方式支持上传yaml格式文件,支持在线预览文件内容,在线创建支持在线编写yaml文件配置。点击试运行按钮可以预执行文件,检查文件格式是否正确,点击删除按钮可以删除相应文件的服务代理。
4.3.4. yaml
点击yaml按钮,可以查看服务代理yaml格式配置。
4.3.5. 添加到项目
点击添加到项目按钮,选择项目名称,可以将当前服务代理添加到指定自定义项目中。
4.3.6. 删除
点击删除按钮删除服务代理。
4.3.7. 事件
点击事件按钮查看服务代理事件。
4.3.8. 服务代理详情
点击服务代理名称,跳转到详情页面。展示基本信息、标签选择、关联POD子菜单。
展示基本信息。
点击标签选择子菜单,查看标签选择列表。
点击关联POD子菜单,查看当前服务代理关联的Pod列表。点击Pod名称可以跳转到Pod详情页面,支持查看Pod日志、终端、事件、yaml文件。字段说明参照基础资源->POD管理功能。
5. 存储配置
5.1. 功能截图
5.2. 知识点
说明PV的全称是PersistentVolume,翻译过来为持久化存储卷,是对底层的共享存储的一种抽象,PV由管理员进行创建和配置,主要含存储能力、访问模式、存储类型、回收策略、后端存储类型等主要信息,它和具体的底层的共享存储技术的实现方式有关,比如NFS、Hostpath、RBD等。
PVC的全称是PersistenVolumeClaim(持久化卷声明),PVC是用户存储的一种声明,PVC和Pod类似,Pod是消耗节点Node资源,PVC消耗的是PV资源,Pod可以请求CPU和内存,而PVC可以请求特定的PV存储空间和访问模式。存储工程师把分布式存储系统上的总空间划分成一个一个小的存储块,K8S的集群管理员将存储块和PV进行一一对应,用户通过PVC对存储进行申请,比如可以指定具体容量的大小,访问模式或者存储类型,这样的好处是用户不需要关心底层的存储实现细节,只需要直接申请使用PVC即可,若申请的PVC所对应的PV不能满足用户的要求,不会生效,直到有合适的PV生成,PVC会自动与PV完成绑定,存储工程师、K8S管理员、用户之间业务解耦,灵活性更强。
PV和PVC模式是需要运维人员先创建好PV,然后开发人员定义好PVC进行一对一的Bound,但是如果PVC请求成千上万,那么就需要创建成千上万的PV,对于运维人员来说维护成本很高,K8S提供一种自动创建PV的机制,叫SC,全称为StorageClass。它的作用就是创建PV的模板。StorageClass会定义以下两部分:PV的属性,比如存储的大小、类型等;创建这种PV需要使用到的存储插件,比如NFS等;有了这两部分信息,K8S就能够根据用户提交的PVC,找到对应的StorageClass,然后K8S就会调用StorageClass声明的存储插件,创建出需要的PV。
在应用部署时,通常我们是把配置文件放置在指定目录下,通过配置文件使应用修改的灵活性更高。但是如果我们把应用打包成容器镜像后,容器内的镜像文件就不容易修改了,一般我们会采用以下方式修改容器中的配置文件,一种是通过环境变量传入;另一种是通过外挂文件,在容器启动时引入。但是以上两种方式在进行大规模集群部署时,对多个容器进行不同的配置会变得比较复杂。这种不方便不仅针对容器,对于传统运维来讲,也是存在的,因此配置中心这个概念就应运而生了,例如Apollo,就是将配置信息存储在数据库中,然后对外提供API,这样就能集中化管理不同应用的不同配置,而且修改后实时生效。k8S作为集中化运维管理实施方案,也提供了集中配置管理方案ConfigMap。
Secret解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod的配置中。
Secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod的配置中。
5.3. 功能详述
存储配置支持PV、PVC、SC、ConfigMap和Secret 5个子菜单。存储配置支持新增、查询、删除,以及查看存储配置详情、yaml、事件等操作。
5.3.1. PV
- 列表查看
点击存储配置菜单展示PV列表页面。
字段说明:
- 名称:PV名称,不能重复。
- 状态:PV状态,如果PV被PVC绑定,则状态为Bound(绑定)。否则状态为Available(可用)。
- 大小:PV的存储空间大小。
- 读写模式:PV的访问模式,支持ReadWriteOnce、ReadOnlyMany、ReadWriteMany三种模式。ReadWriteOnce表示该PV只能被单个节点以读写的方式映射;ReadOnlyMany表示该PV可以被多个节点以只读方式映射;ReadWriteMany表示该PV可以被多个节点以读写的方式映射。
- 移除策略:PV的回收策略,支持Retain 、Recycle、Delete 三种策略。Retain 表示表示保留PV中存在的数据,在PV下次被PVC绑定时,数据还存在;通常都使用这种回收策略,该模式为默认模式;Recycle表示将删除PV里面的数据,并将其状态置为空闲状态,供其他PVC去绑定;Delete 表示如果PVC删除了,那么PV也随之删除,数据会被清除。
- PVC:PV被哪个PVC绑定。
- SC:PV被哪个SC绑定。
- 创建时间:PV的创建时间。
查询
支持通过标签和字段查询PV列表,字段查询支持名称,标签和字段都支持多个条件查询。
新增
点击新增按钮跳转到PV新增页面,新增方式支持yaml文件和在线创建两种,如果存在相同资源将做更新操作。yaml文件方式支持上传yaml格式文件,支持在线预览文件内容,在线创建支持在线编写yaml文件配置。点击试运行按钮可以预执行文件,检查文件格式是否正确,点击删除按钮可以删除相应文件的PV。
yaml
点击yaml按钮,可以查看PV yaml格式配置。
删除
点击删除按钮删除PV。状态为Bound(绑定)状态的PV无法删除。
事件
点击事件按钮查看PV事件。
PV详情
点击PV名称,跳转到详情页面。展示基本信息、标签/注释子菜单。
展示基本信息,点击PVC名称可以跳转到PVC详情页面。
点击标签/注释子菜单,查看标签/注释列表。
5.3.2. PVC
- 列表查看
点击存储配置菜单展示PVC列表页面。
字段说明:
- 名称:PVC名称,不能重复。
- 状态:PVC状态,如果PVC绑定了PV,则状态为Bound(绑定)。否则状态为Pending(待定),PVC没有找到满足条件的PV进行绑定。
- 名称空间:名称空间(namespace)是K8S提供的组织机制,用于给集群中的任何对象组进行分类、筛选和管理。例如,可以使用名称空间来划分应用程序生命周期环境(如开发、测试、生产)。
- 大小:PV的存储空间大小,只有PVC状态为Bound才有值。
- 读写模式:PV的访问模式,只有PVC状态为Bound才有值,字段说明参照存储配置->PV->列表查看。
- 挂载模式:卷模式,支持Filesystem(文件系统)和Block(块)两种模式,默认为Filesystem。Filesystem表示卷会被 Pod 挂载(Mount) 到某个目录, 如果卷的存储来自某块设备而该设备目前为空,K8S会在第一次挂载卷之前在设备上创建文件系统。Block表示将卷作为原始块设备来使用,这类卷以块设备的方式交给Pod使用,其上没有任何文件系统,这种模式对于为Pod提供一种使用最快的方式来访问卷而言很有帮助,Pod 和卷之间不存在文件系统层。另外,Pod 中运行的应用必须知道如何处理原始块设备。
- PV:PVC绑定的PV名称。
- SC:PVC绑定的SC名称。
- 创建时间:PVC的创建时间。
查询
支持通过标签和字段查询PVC列表,字段查询支持名称和名称空间,标签和字段都支持多个条件查询。
新增
点击新增按钮跳转到PVC新增页面,新增方式支持yaml文件和在线创建两种,如果存在相同资源将做更新操作。yaml文件方式支持上传yaml格式文件,支持在线预览文件内容,在线创建支持在线编写yaml文件配置。点击试运行按钮可以预执行文件,检查文件格式是否正确,点击删除按钮可以删除相应文件的PVC。
yaml
点击yaml按钮,可以查看PVC yaml格式配置。
删除
点击删除按钮删除PVC。
事件
点击事件按钮查看PVC事件。
PVC详情
点击PVC名称,跳转到详情页面。展示基本信息、标签/注释子菜单。
展示基本信息,点击名称空间可以跳转到名称空间详情页面,点击PV名称可以跳转到PV详情页面。
点击标签/注释子菜单,查看标签/注释列表。
5.3.3. SC
- 列表查看
点击存储配置菜单展示SC列表页面。
字段说明:
- 名称:SC名称,不能重复。
- 提供者:SC的提供者。
- 回收策略:SC会自动创建PV,这里的回收策略就是PV的回收策略,支持Retain 、Recycle、Delete 三种策略。Retain 表示表示保留PV中存在的数据,在PV下次被PVC绑定时,数据还存在;通常都使用这种回收策略,该模式为默认模式;Recycle表示将删除PV里面的数据,并将其状态置为空闲状态,供其他PVC去绑定;Delete 表示如果PVC删除了,那么PV也随之删除,数据会被清除。
- 卷绑定模式:支持Immediate和WaitForFirstConsumer,默认为Immediate。Immediate表示当 PVC 创建后就绑定PV。WaitForFirstConsumer表示K8S会将PV的绑定延迟,直到有一个使用了对应PVC的Pod被创建出来且该Pod被调度完毕。这时候才会将PV和PVC进行绑定。
- 存储卷是否允许扩展:默认为false。设置为true表示可以修改PVC的存储容量大小,自动触发与其绑定的PV的扩容,不是创建新的PV,而是在原有基础上修改。
- 创建时间:SC的创建时间。
查询
支持通过标签和字段查询SC列表,字段查询支持名称,标签和字段都支持多个条件查询。
新增
点击新增按钮跳转到SC新增页面,新增方式支持yaml文件和在线创建两种,如果存在相同资源将做更新操作。yaml文件方式支持上传yaml格式文件,支持在线预览文件内容,在线创建支持在线编写yaml文件配置。点击试运行按钮可以预执行文件,检查文件格式是否正确,点击删除按钮可以删除相应文件的SC。
yaml
点击yaml按钮,可以查看SC yaml格式配置。
删除
点击删除按钮删除SC。
事件
点击事件按钮查看SC事件。
SC详情
点击SC名称,跳转到详情页面。展示基本信息、标签/注释子菜单。
展示基本信息。
点击标签/注释子菜单,查看标签/注释列表。
5.3.4. ConfigMap
- 列表查看
点击存储配置菜单展示ConfigMap列表页面。
字段说明:
- 名称:配置名称,不能重复。
- 名称空间:名称空间(namespace)是K8S提供的组织机制,用于给集群中的任何对象组进行分类、筛选和管理。例如,可以使用名称空间来划分应用程序生命周期环境(如开发、测试、生产)。
- 数据量:配置数。
- 创建时间:配置的创建时间。
查询
支持通过标签和字段查询ConfigMap列表,字段查询支持名称和名称空间,标签和字段都支持多个条件查询。
新增
点击新增按钮跳转到ConfigMap新增页面,新增方式支持yaml文件和在线创建两种,如果存在相同资源将做更新操作。yaml文件方式支持上传yaml格式文件,支持在线预览文件内容,在线创建支持在线编写yaml文件配置。点击试运行按钮可以预执行文件,检查文件格式是否正确,点击删除按钮可以删除相应文件的ConfigMap。
yaml
点击yaml按钮,可以查看ConfigMap yaml格式配置。
删除
点击删除按钮删除ConfigMap。
事件
点击事件按钮查看ConfigMap事件。
ConfigMap详情
点击ConfigMap名称,跳转到详情页面。展示基本信息、标签/注释子菜单。
展示基本信息,点击名称空间可以跳转到名称空间详情页面。
点击标签/注释子菜单,查看标签/注释列表。
5.3.5. Secret
- 列表查看
点击存储配置菜单展示Secret列表页面。
字段说明:
- 名称:Secret名称,不能重复。
- 名称空间:名称空间(namespace)是K8S提供的组织机制,用于给集群中的任何对象组进行分类、筛选和管理。例如,可以使用名称空间来划分应用程序生命周期环境(如开发、测试、生产)。
- 类型:Secret支持Service Account、Opaque和kubernetes.io/dockerconfigjson三种类型。Service Account用于访问 Kubernetes API,由 K8S 自动创建。Opaque表示base64编码格式的Secret,用来存储密码、密钥等。kubernetes.io/dockerconfigjson用来存储私有docker镜像仓库的认证信息。
- 数据量:密码、token、密钥等敏感数据的配置数。
- 创建时间:Secret的创建时间。
查询
支持通过标签和字段查询Secret列表,字段查询支持名称和名称空间,标签和字段都支持多个条件查询。
新增
点击新增按钮跳转到Secret新增页面,新增方式支持yaml文件和在线创建两种,如果存在相同资源将做更新操作。yaml文件方式支持上传yaml格式文件,支持在线预览文件内容,在线创建支持在线编写yaml文件配置。点击试运行按钮可以预执行文件,检查文件格式是否正确,点击删除按钮可以删除相应文件的Secret。
yaml
点击yaml按钮,可以查看Secret yaml格式配置。
删除
点击删除按钮删除Secret。类型中包含kubernetes.io的不能删除。
事件
点击事件按钮查看Secret事件。
Secret详情
点击Secret名称,跳转到详情页面。展示基本信息、标签/注释子菜单。
展示基本信息。
点击标签/注释子菜单,查看标签/注释列表。
6. 弹性伸缩
6.1. 功能截图
6.2. 知识点
说明弹性伸缩(Horizontal Pod Autoscaler)是K8S的一种资源对象,能够根据某些指标对应用的Pod数量进行动态伸缩,使运行在集群中的应用对指标的变化有一定的自适应能力。目前支持设置CPU和内存阈值,当Pod使用的CPU或者内存大于设置的阈值时,则动态扩容Pod数量来缓解集群的压力;当Pod使用的CPU或者内存小于设置的阈值时,则动态收缩Pod数量。弹性伸缩适用流量波动较大,机器资源紧张,服务数量多的业务场景。
6.3. 功能详述
弹性伸缩支持新增、删除、修改,以及查看弹性伸缩详情、yaml等操作。
6.3.1. 列表查看
点击弹性伸缩菜单展示弹性伸缩列表页面。
字段说明:
- 名称:弹性伸缩规则的名称,不能重复。
- 应用:需要弹性伸缩的应用。
- 规则配置:显示当前CPU和内存的值,以及CPU和内存阈值。如果当前值超过阈值,则触发规则进行自动扩容。
- 最小副本数:收缩后Pod的最小数量不能小于设置的副本数。
- 最大副本数:扩容后Pod的最大数量不能大于设置的副本数。
- 当前副本数:应用的当前Pod数量。
- 创建时间:弹性伸缩规则创建的时间。
- 描述:弹性伸缩规则的描述信息。
6.3.2. 新增
点击新增按钮,输入弹性伸缩配置进行新增。
6.3.3. 修改
点击修改按钮修改弹性伸缩配置。
6.3.4. yaml
点击yaml按钮,可以查看弹性伸缩yaml格式配置。
6.3.5. 删除
点击删除按钮删除弹性伸缩。
6.3.6. 弹性伸缩详情
点击弹性伸缩名称,跳转到详情页面。展示概览、规则信息、运行状态、事件子菜单。
点击规则信息子菜单,查看规则信息。
点击运行状态子菜单,查看运行状态列表。
点击事件子菜单,查看事件列表。