技术领域
[0001] 本发明涉及容器编排管理平台领域,特别涉及应用于容器编排管理平台集群的节点管理方法及相关组件。
相关背景技术
[0002] K8s(Kubernetes)是一个开源、可扩展的容器编排管理平台,利用声明式配置以及自动化处理来完成容器的管理。K8s集群是主从分布式架构,分为控制节点与工作节点,控制节点负责维护集群的预期状态,工作节点则负责应用和工作负载的实际运行。在分布式环境下,会出现各种软硬件故障,造成K8s集群中容器故障、容器组故障等,为了保证K8s集群的正常运行,需要对存在故障的工作节点执行故障补救操作,目前实现上述故障补救操作需要运行该故障容器组、故障容器的节点能够和控制节点通信,对于挂载RWO(Read Write Once,单次读写)持久卷的容器组或者statefulset(是一种用于管理有状态应用的资源对)等具有最多有一个负载使用的资源,故障节点无法和控制节点连通时,可能带来数据丢失或损坏的风险,会造成其它节点上重启失败。而且目前的方案中故障节点不会进行自动修复,需要人工介入,故障恢复时间长。
[0003] 因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
具体实施方式
[0055] 本发明的核心是提供一种应用于容器编排管理平台集群的节点管理方法及相关组件,能够及时将故障节点上的工作负载迁移,避免故障节点上存储的数据丢失或损坏,实现故障节点自愈,无需人工干预,提高节点修复效率。
[0056] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0057] 第一方面,本发明提供了一种应用于容器编排管理平台集群的节点管理方法,所述容器编排管理平台集群包括至少一个控制节点和多个工作节点,应用于任一个所述工作节点,请参照图1,图1为本发明所提供的第一种应用于容器编排管理平台集群的节点管理方法的步骤流程图,该节点管理方法包括:
[0058] S101:当检测到容器编排管理平台集群创建有节点自愈资源,基于节点自愈资源中的节点故障信息判断自身是否为当前故障节点;节点自愈资源还包括修复策略信息,节点自愈资源为控制节点基于各个工作节点的节点状态判定存在故障节点时创建的;
[0059] 本实施例中,容器编排管理平台集群包括但不限于K8s集群。在控制节点中部署监控模块,在容器编排管理平台集群中创建NodeFailureMonitor(节点故障监控)资源,该资源是一种自定义资源,包含故障参数和自愈修复策略两个类型数据集合,故障数据中定义了故障类型、故障条件和阈值,自愈修复策略数据中包含了策略类型、策略名称和命名空间等。
[0060] 控制节点在节点故障监控资源中配置节点故障判定条件(包括但不限于故障类型、故障条件和阈值)和自愈修复策略信息,节点故障判定条件和自愈修复策略信息均可以为多条,监控模块获取各个工作节点的节点状态,具体可以接收节点问题检测工具上报的各个工作节点的节点状态,将各个节点状态和预先配置的节点故障判定条件进行匹配,判断是否存在一个或多个节点状态满足任一节点故障判定条件,若是,说明工作节点中存在故障节点,在配置了正确的自愈修复策略的场景下,监控模块根据自愈修复策略信息和节点故障信息实例化NodeHeal(节点自愈)。
[0061] 具体的,根据节点状态以及节点状态所满足的节点故障判定条件确定故障节点及故障原因,基于故障节点的故障节点信息、故障原因确定对应的自愈修复策略,并故障节点的故障节点信息、故障原因确定对应的自愈修复策略在容器编排管理平台集群创建节点自愈资源,基于故障原因确定自愈修复策略能够进一步提高修复效率,保证集群运行的安全性和可靠性。
[0062] 对监控模块实现节点故障监控流程进行说明,包括:启动时初始化各组件,更新rbac(role based access control,基于角色的权限访问控制)权限,监测NodeFailureMonitor自定义资源的状态变化,当创建、变更、删除时或节点状态变化时执行控制器操作,验证资源配置合法性,获取节点列表状态信息,判断节点状态是否符合故障条件,并将健康节点存在的节点自愈资源则删除,对符合故障条件的故障节点进行自愈修复,如果节点自愈资源不存在,则创建。
[0063] 工作节点上配置节点自愈模块,自愈模块对容器编排管理平台集群是否创建有节点自愈资源进行监控,如果监控到容器编排管理平台集群创建有节点自愈资源说明容器编排管理平台集群中存在故障节点,后续根据节点自愈资源进行对应的操作。
[0064] S102:若自身不为当前故障节点,向控制节点上报包含节点故障信息的隔离指令,以使控制节点根据隔离指令中的节点故障信息对当前故障节点进行隔离操作;隔离操作包括通过调度程序将故障节点上的工作负载移动到目标节点上,目标节点为容器编排管理平台集群中任一个处于健康状态的工作节点;
[0065] 每一工作节点在检测到容器编排管理平台集群创建有节点自愈资源后,判定容器编排管理平台集群中存在故障节点,根据故障节点的故障节点信息和自身的节点信息进行匹配,判断是否一致,若不一致说明自身不是故障节点,此时为了避免故障节点和控制节点断开连接,而导致控制节点不能及时将故障节点的工作负载迁移,当判定自身不是故障节点时,向控制节点上报包含故障节点信息的隔离指令,以使控制节点根据隔离指令中的故障节点信息对故障节点进行隔离操作,隔离操作包括通过调度程序将故障节点上的工作负载移动到目标工作节点上,并且在故障节点的工作负载迁移完成后,将故障节点的节点对象从容器编排管理平台集群中删除,让故障节点上的工作负载在其他工作节点上成功创建,提高控制节点对故障节点控制的及时性和可靠性。
[0066] S103:若自身为当前故障节点,则根据修复策略信息执行节点修复操作。
[0067] 若自身为故障节点,从节点自愈资源中获取自愈修复策略信息进行节点修复操作,待节点恢复正常状态后,故障节点中的节点自愈模块将该节点还原到工作状态,重新加入到容器编排管理平台集群中,故障节点恢复后能够自动再次加入集群,能够保障容器编排管理平台集群对外提供的工作负载能力,减少业务中断时间。
[0068] 可见,本实施例中,当控制节点基于各个工作节点的节点状态判定存在故障节点时,在容器编排管理平台集群创建节点自愈资源,该节点自愈资源包括节点故障信息和修复策略信息,各个工作节点均可以访问节点自愈资源,根据节点自愈资源中的节点故障信息判断自身是否为当前故障节点,如果自身不是当前故障节点,则向控制节点上报节点故障信息,以便控制节点及时将故障节点上的工作负载迁移,避免故障节点和控制节点通信异常时导致的故障节点上存储的数据丢失或损坏,若自身为当前故障节点,则从节点自愈资源中获取修复策略信息,进行节点修复操作,实现节点自愈,无需人工干预,提高节点修复效率。
[0069] 在上述实施例的基础上:
[0070] 在一示例性实施例,当检测到容器编排管理平台集群创建有节点自愈资源,基于节点自愈资源中的节点故障信息判断自身是否为当前故障节点之前,节点管理方法还包括:
[0071] 获取自身与任一其他工作节点之间的第一通信状态;
[0072] 获取自身与控制节点之间的第二通信状态;通信状态包括连通状态和断开状态;
[0073] 判断第二通信状态是否为连通状态;
[0074] 若第二通信状态为连通状态,直接访问控制节点的应用程序服务器接口,以检测容器编排管理平台集群中是否创建有节点自愈资源;
[0075] 当第二通信状态为断开状态,判断第一通信状态是否为连通状态;
[0076] 若第一通信状态为连通状态,通过其他工作节点访问控制节点的应用程序服务器接口,以检测容器编排管理平台集群中是否创建有节点自愈资源;
[0077] 若第一通信状态为断开状态,判定自身成为孤立节点并开始计时,当自身成为孤立节点的计时时间超过预设时间执行重启修复策略。
[0078] 本实施例中,工作节点上的节点自愈模块会和控制节点的api‑server(application programming interface‑server,应用程序编程接口‑服务器)组件通信,用来检查自身所在工作节点与控制节点之间的连通状态,查询和设置容器编排管理平台集群中的资源对象的参数或状态,协调K8s集群中的工作负载调度等。也会和其他工作节点上的节点自愈模块通信,检查自身所在工作节点与其他工作节点的连通状态,并且能够在自身与控制节点失去联系时获取相关信息,相关控制器程序参数如对等节点检查、控制节点连接检查,间隔和超时等参数策略会在节点自愈模块启动前配置,本实施例中的其他工作节点是K8s集群中除自身所在工作节点之外的任一个工作节点。
[0079] 当故障节点具有控制节点的应用程序服务器接口api‑server访问权限时,它可以正常检测节点自愈资源,根据节点自愈资源中的节点自愈策略自动执行修复程序或重启。流程包括:启动时读取相关配置,初始化各组件,更新rbac权限,在容器编排管理平台集群中配置并创建HealStrategy(自愈策略)自定义资源,在该自定义资源中创建自愈修复策略,控制器启动监测NodeHeal自定义资源的状态变化,当创建、变更、删除时执行控制器操作。
[0080] 示例性地,当控制节点中的监控模块监测到工作节点a故障,针对工作节点a和其故障原因以及针对故障原因的自愈修复策略,创建NodeHeal资源,其他处于健康状态的工作节点查询控制节点的api‑server以从节点资源中获知工作节点a故障,请求控制节点设置工作节点a不可调度,工作节点a的节点自愈模块获知自身故障,会根据自愈恢复策略,执行相关程序,根据需要清理相关资源,不影响恢复后重新调度。其他处于健康状态的工作节点请求控制节点删除故障节点a上工作负载,如需要则会备份故障节点a上的资源(以便稍后可以还原节点),并删除节点对象,控制节点会在其他处于健康状态的工作节点上重建故障节点a上的工作负载,故障节点a自愈后,创建节点资源加入容器编排管理平台集群,节点a恢复调度,正常使用。本实施例中,各工作节点中的节点自愈模块中的控制器会监控NodeHeal和HealStrategy这两种自定义资源的状态,并根据不同故障场景进行节点自愈程序修复。
[0081] 可以理解,故障节点还可能会失去与其他节点的任何连接,在这种情况下,故障节点无法获取故障和修复的相关信息,由于其他正常运行的工作节点期望隔离故障节点,并让调度程序将工作负载移动到其他处于健康状态的工作节点,仅当故障节点不再运行任何工作负载时,从容器编排管理平台集群中删除节点对象,否则将违反某些应用程序的run‑once(仅执行一次)语义。如果故障节点失去与其他节点的任何连接,此时判断故障节点为孤立节点,并对故障节点成为孤立节点的时间开始计时,当故障节点成为孤立节点超过一定时间,会执行重启的修复策略,进行节点重启,如果故障节点重启后正常运行,其它正常运行的节点监测到后,会重新创建节点资源将恢复后的故障节点加入集群。故障节点和控制节点失联场景和成为孤立节点场景的故障自修复方法是通过其他处于健康状态的工作节点作代理和控制节点建立联系,进行正确的资源清理保证工作负载在处于健康状态的工作节点上重建,从而进一步降低故障节点无法和控制节点连通时可能带来数据丢失或损坏的风险、造成在其他工作节点上重启失败的可能。
[0082] 在一示例性实施例,直接访问控制节点的应用程序服务器接口之后,节点管理方法还包括:
[0083] 判断自身对控制节点的应用程序服务器接口的直接访问是否成功;
[0084] 若否,通过其他工作节点访问控制节点的应用程序服务器接口;
[0085] 判断自身对控制节点的应用程序服务器接口的间接访问是否成功;
[0086] 若否,判定应用程序服务器接口故障,不执行重启修复策略。
[0087] 本实施例中,针对故障节点无法从控制节点api‑server获取响应的场景,故障节点的程序无法获取故障和修复的相关信息,则会向其他工作节点查询,并将其他工作节点用作api‑server的代理,这样故障节点就可以获取节点故障和修复相关的信息,如果其他工作节点也无法访问api‑server,定义这是api‑server故障,不执行任何操作,避免在容器编排管理平台集群中创建频繁的重启操作,保证集群运行的稳定性。
[0088] 在一示例性实施例,根据修复策略信息执行节点修复操作的过程包括:
[0089] 获取与修复策略信息对应的自愈修复策略对应的配置操作;
[0090] 按配置操作执行节点修复策略;
[0091] 其中,获取与修复策略信息对应的自愈修复策略对应的配置操作的过程包括:
[0092] 当修复策略信息对应的自愈修复策略为针对目标组件或容器运行时的修复策略,配置操作包括配置对应修复脚本或修复程序;
[0093] 和/或,
[0094] 当修复策略信息对应的自愈修复策略为针对内核故障的修复策略,配置操作包括配置重启策略、配置工作节点中看门狗设备的文件路径、配置软件重新启动中的至少一项;
[0095] 当修复策略信息对应的自愈修复策略为配置资源清除的修复策略,配置操作包括删除故障节点上的容器组、删除关联挂接指定卷、删除故障节点的节点对象中的至少一项。
[0096] 本实施例中,节点自愈模块包含两种自定义资源NodeHeal和HealStrategy,NodeHeal资源表示节点故障需要修复,是节点故障监控模块创建出的自定义资源实例,其中包含节点信息,故障信息和故障自愈策略HealStrategy等信息。HealStrategy为自愈修复策略,在NodeHeal资源中引用,里面配置不同修复策略需要的配置,根据自愈策略创建不同的自定义资源实例。针对在目标组件(kubllet组件)或容器运行时修复,配置对应修复脚本或修复程序;比如针对内核故障,配置重启策略、配置工作节点中看门狗设备的文件路径、配置软件重新启动策略;还可以配置资源清除策略,资源清除策略包括删除故障节点上的容器组Pod、删除关联挂接指定卷VolumeAttachment、删除故障节点的节点对象。
[0097] 综上,使用operator的方式,通过自定义资源NodeFailureMonitor和NodeHeal,结合对应控制器实现,在K8s中实现自动化的节点故障的监测并对故障节点进行修复自愈,节点自愈方案能够配置故障条件和修复方式,能够灵活扩展处理多种故障场景,自动实现节点的自愈,减少人工干预,故障节点和控制节点失联场景和成为孤立节点场景的故障自修复方法通过其它节点做代理和控制节点建立联系,进行正确的资源清理保证工作负载在正常节点上重建,故障节点成为孤立节点后自动资源清理并执行故障自愈程序。采用云原生的开发方式,能够和容器编排系统很好的融合。实现了节点故障的自动化监控和修复,能够自定义配置故障条件及相应的故障修复方法,并且针对故障节点和控制节点失联或成为孤立节点的场景,能够正确的清除相关资源保证工作负载在正常节点上重建。故障节点恢复后能够自动的再次加入集群,特别是对于节点数量相对紧张的集群,保障集群对外提供的工作负载能力,减少业务中断时间。
[0098] 第二方面,本发明还提供了一种应用于容器编排管理平台集群的节点管理方法,容器编排管理平台集群包括至少一个控制节点和多个工作节点,应用于控制节点,请参照图2,图2为本发明所提供的第二种应用于容器编排管理平台集群的节点管理方法的步骤流程图,该节点管理方法包括:
[0099] S201:在容器编排管理平台集群中创建节点故障监控资源,对节点故障监控资源配置多个故障判定条件和参考修复策略信息;
[0100] 本实施例中,容器编排管理平台集群包括但不限于K8s集群。在控制节点中部署监控模块,在容器编排管理平台集群中创建NodeFailureMonitor(节点故障监控)资源,该资源是一种自定义资源,包含故障参数和自愈修复策略两个类型数据集合,故障数据中定义了故障类型、故障条件和阈值,自愈修复策略数据中包含了策略类型、策略名称和命名空间等。
[0101] 控制节点在节点故障监控资源中配置节点故障判定条件(包括但不限于故障类型、故障条件和阈值)和自愈修复策略信息,节点故障判定条件和自愈修复策略信息均可以为多条。
[0102] S202:获取各个工作节点的节点状态,判断是否存在满足故障判定条件的节点状态,根据满足故障判定条件的节点状态确定节点故障信息、并在多个参考修复策略信息中确定目标修复策略信息;
[0103] S203:基于节点故障信息及目标修复策略信息在容器编排管理平台集群中创建节点自愈资源,以便当工作节点根据节点自愈资源确定自身为当前故障节点后按节点自愈资源中目标修复策略信息执行自愈操作;
[0104] 监控模块获取各个工作节点的节点状态,具体可以接收节点问题检测工具上报的各个工作节点的节点状态,将各个节点状态和预先配置的节点故障判定条件进行匹配,判断是否存在一个或多个节点状态满足任一节点故障判定条件,若是,说明工作节点中存在故障节点,在配置了正确的自愈修复策略的场景下,监控模块根据自愈修复策略信息和节点故障信息实例化NodeHeal(节点自愈)。
[0105] 具体的,根据节点状态以及节点状态所满足的节点故障判定条件确定故障节点及故障原因,基于故障节点的故障节点信息、故障原因确定对应的自愈修复策略,并故障节点的故障节点信息、故障原因确定对应的自愈修复策略在容器编排管理平台集群创建节点自愈资源,基于故障原因确定自愈修复策略能够进一步提高修复效率,保证集群运行的安全性和可靠性。
[0106] 工作节点上配置节点自愈模块,自愈模块对容器编排管理平台集群是否创建有节点自愈资源进行监控,如果监控到容器编排管理平台集群创建有节点自愈资源说明容器编排管理平台集群中存在故障节点,后续根据节点自愈资源进行对应的操作。具体的,若自身为故障节点,从节点自愈资源中获取自愈修复策略信息进行节点修复操作,待节点恢复正常状态后,故障节点中的节点自愈模块将该节点还原到工作状态,重新加入到容器编排管理平台集群中,故障节点恢复后能够自动再次加入集群,能够保障容器编排管理平台集群对外提供的工作负载能力,减少业务中断时间。
[0107] S204:当接收到任一工作节点发送的隔离指令,按隔离指令中的节点故障信息对当前故障节点进行隔离操作,隔离操作包括:通过调度程序将故障节点上的工作负载移动到目标节点上,目标节点为容器编排管理平台集群中任一个处于健康状态的工作节点。
[0108] 每一工作节点在检测到容器编排管理平台集群创建有节点自愈资源后,判定容器编排管理平台集群中存在故障节点,根据故障节点的故障节点信息和自身的节点信息进行匹配,判断是否一致,若不一致说明自身不是故障节点,此时为了避免故障节点和控制节点断开连接,而导致控制节点不能及时将故障节点的工作负载迁移,当判定自身不是故障节点时,向控制节点上报包含故障节点信息的隔离指令,以使控制节点根据隔离指令中的故障节点信息对故障节点进行隔离操作,隔离操作包括通过调度程序将故障节点上的工作负载移动到目标工作节点上,并且在故障节点的工作负载迁移完成后,将故障节点的节点对象从容器编排管理平台集群中删除,让故障节点上的工作负载在其他工作节点上成功创建,提高控制节点对故障节点控制的及时性和可靠性。
[0109] 对监控模块实现节点故障监控流程进行说明,包括:启动时初始化各组件,更新rbac(role based access control,基于角色的权限访问控制)权限,监测NodeFailureMonitor自定义资源的状态变化,当创建、变更、删除时或节点状态变化时执行控制器操作,验证资源配置合法性,获取节点列表状态信息,判断节点状态是否符合故障条件,并将健康节点存在的节点自愈资源则删除,对符合故障条件的故障节点进行自愈修复,如果节点自愈资源不存在,则创建。
[0110] 在一示例性实施例,获取各个工作节点的节点状态之后,节点管理方法还包括:
[0111] 根据各个工作节点的节点状态,确定处于健康状态的工作节点;
[0112] 判断容器编排管理平台集群中是否存在处于健康状态的工作节点对应的待删除节点自愈资源;
[0113] 若存在,将待删除节点自愈资源从容器编排管理平台集群中删除。
[0114] 本实施例中,考虑到某些故障节点在进行自愈修复策略后,会变成处于健康状态的工作节点重新加入集群,但是容器编排管理平台集群中可能还存在该工作节点对应的节点自愈资源,为了避免后续对该工作节点进行错误处理,本实施例在确定各个工作节点的节点状态后,先确定容器编排管理平台集群中是否存在于处于健康状态的工作节点相对应的节点自愈资源,若存在,将该节点自愈资源确定为待删除节点自愈资源,将该待删除节点自愈资源从容器编排管理平台集群中中删除,避免已经恢复正常的工作节点重新执行自愈策略,以及其他工作节点向控制节点请求再次对该工作节点进行隔离,保证该正常的工作节点上的容器组正常运行,从而进一步保障容器编排管理平台集群对外提供的工作负载能力,减少业务中断时间。
[0115] 本实施例中,可以按预设周期判断容器编排管理平台集群中是否存在处于健康状态的工作节点对应的待删除节点自愈资源,也可以在接收到触发指令后判断容器编排管理平台集群中是否存在处于健康状态的工作节点对应的待删除节点自愈资源,根据实际工程需要选择即可,本实施例在此对判断容器编排管理平台集群中是否存在处于健康状态的工作节点对应的待删除节点自愈资源的触发条件不做具体限定。
[0116] 第三方面,本发明提供了一种应用于容器编排管理平台集群的节点管理系统,容器编排管理平台集群包括至少一个控制节点和多个工作节点,应用于任一个工作节点,请参照图3,图3为本发明所提供的第一种应用于容器编排管理平台集群的节点管理系统的结构示意图,该节点管理系统包括:
[0117] 监控模块01,用于当检测到容器编排管理平台集群创建有节点自愈资源,基于节点自愈资源中的节点故障信息判断自身是否为当前故障节点;节点自愈资源还包括修复策略信息,节点自愈资源为控制节点基于各个工作节点的节点状态判定存在故障节点时创建的;
[0118] 上报模块02,用于若自身不为当前故障节点,向控制节点上报包含节点故障信息的隔离指令,以使控制节点根据隔离指令中的节点故障信息对当前故障节点进行隔离操作;隔离操作包括通过调度程序将故障节点上的工作负载移动到目标节点上,目标节点为容器编排管理平台集群中任一个处于健康状态的工作节点;
[0119] 自愈模块03,用于若自身为当前故障节点,则根据修复策略信息执行节点修复操作。
[0120] 在一示例性实施例,节点管理系统还包括:
[0121] 第一获取模块,用于获取自身与任一其他工作节点之间的第一通信状态;
[0122] 第二获取模块,获取自身与控制节点之间的第二通信状态;通信状态包括连通状态和断开状态;
[0123] 直接访问模块,用于判断第二通信状态是否为连通状态,若第二通信状态为连通状态,直接访问控制节点的应用程序服务器接口,以检测容器编排管理平台集群中是否创建有节点自愈资源;
[0124] 间接访问模块,用于当第二通信状态为断开状态,判断第一通信状态是否为连通状态,若第一通信状态为连通状态,通过其他工作节点访问控制节点的应用程序服务器接口,以检测容器编排管理平台集群中是否创建有节点自愈资源;
[0125] 自愈模块03,还用于若第一通信状态为断开状态,判定自身成为孤立节点并开始计时,当自身成为孤立节点的计时时间超过预设时间执行重启修复策略。
[0126] 在一示例性实施例,节点管理装置还包括:
[0127] 第一处理模块,用于判断自身对控制节点的应用程序服务器接口的直接访问是否成功,若是,通过其他工作节点访问控制节点的应用程序服务器接口;
[0128] 第二处理模块,用于判断自身对控制节点的应用程序服务器接口的间接访问是否成功,判定应用程序服务器接口故障,不执行重启修复策略。
[0129] 在一示例性实施例,根据修复策略信息执行节点修复操作的过程包括:
[0130] 获取与修复策略信息对应的自愈修复策略对应的配置操作;
[0131] 按配置操作执行节点修复策略。
[0132] 在一示例性实施例,获取与修复策略信息对应的自愈修复策略对应的配置操作的过程包括:
[0133] 当修复策略信息对应的自愈修复策略为针对目标组件或容器运行时的修复策略,配置操作包括配置对应修复脚本或修复程序;
[0134] 和/或,
[0135] 当修复策略信息对应的自愈修复策略为针对内核故障的修复策略,配置操作包括配置重启策略、配置工作节点中看门狗设备的文件路径、配置软件重新启动中的至少一项;
[0136] 当修复策略信息对应的自愈修复策略为配置资源清除的修复策略,配置操作包括删除故障节点上的容器组、删除关联挂接指定卷、删除故障节点的节点对象中的至少一项。
[0137] 在一示例性实施例,通过调度程序将故障节点上的工作负载移动到目标节点上后,隔离操作还包括:
[0138] 将故障节点对应的节点对象从容器编排管理平台集群中移除;
[0139] 节点管理方法还包括:
[0140] 当自身恢复为健康状态后,控制自身重新加入容器编排管理平台集群。
[0141] 第四方面,本发明还提供了一种应用于容器编排管理平台集群的节点管理系统,容器编排管理平台集群包括至少一个控制节点和多个工作节点,应用于控制节点,请参照图4,图4为本发明所提供的第二种应用于容器编排管理平台集群的节点管理系统的结构示意图,该节点管理系统包括:
[0142] 第一创建模块11,用于在容器编排管理平台集群中创建节点故障监控资源,对节点故障监控资源配置多个故障判定条件和参考修复策略信息;
[0143] 确定模块12,用于获取各个工作节点的节点状态,判断是否存在满足故障判定条件的节点状态,根据满足故障判定条件的节点状态确定节点故障信息、并在多个参考修复策略信息中确定目标修复策略信息;
[0144] 第二创建模块13,用于基于节点故障信息及目标修复策略信息在容器编排管理平台集群中创建节点自愈资源,以便当工作节点根据节点自愈资源确定自身为当前故障节点后按节点自愈资源中目标修复策略信息执行自愈操作;
[0145] 隔离模块14,用于当接收到任一工作节点发送的隔离指令,按隔离指令中的节点故障信息对当前故障节点进行隔离操作,隔离操作包括:通过调度程序将故障节点上的工作负载移动到目标节点上,目标节点为容器编排管理平台集群中任一个处于健康状态的工作节点。
[0146] 在一示例性实施例,节点管理系统还包括:
[0147] 预处理模块,用于在获取各个工作节点的节点状态之后,根据各个工作节点的节点状态,确定处于健康状态的工作节点,判断容器编排管理平台集群中是否存在处于健康状态的工作节点对应的待删除节点自愈资源,若存在,将待删除节点自愈资源从容器编排管理平台集群中删除。
[0148] 第五方面,请参照图5,本发明还提供了一种电子设备,包括:
[0149] 存储器21,用于存储计算机程序;
[0150] 处理器22,用于执行计算机程序时实现如上文任一个实施例所描述的容器编排管理平台集群的节点管理方法的步骤。
[0151] 该电子设备还包括:
[0152] 输入接口23,经通信总线26与处理器22相连,用于获取外部导入的计算机程序、参数和指令,经处理器22控制保存至存储器21中。该输入接口可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板。
[0153] 显示单元24,经通信总线26与处理器22相连,用于显示处理器22发送的数据。该显示单元可以为液晶显示屏或者电子墨水显示屏等。
[0154] 网络端口25,经通信总线26与处理器22相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术、通用串行总线、高清多媒体接口、无线保真技术、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
[0155] 对于本发明所提供的一种电子设备的介绍请参照上述实施例,本发明在此不再赘述。
[0156] 本发明所提供的电子设备具有和上述容器编排管理平台集群的节点管理方法相同的有益效果。
[0157] 第六方面,请参照图6,本发明还提供了一种计算机可读存储介质30,计算机可读存储介质30上存储有计算机程序31,计算机程序31被处理器执行时实现如上文任一个实施例所描述的容器编排管理平台集群的节点管理方法的步骤。
[0158] 其中,该计算机可读存储介质30可以包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0159] 对于本发明所提供的一种计算机可读存储介质的介绍请参照上述实施例,本发明在此不再赘述。
[0160] 本发明所提供的计算机可读存储介质具有和上述容器编排管理平台集群的节点管理方法相同的有益效果。
[0161] 第七方面,本发明还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上文任意一个实施例所描述的容器编排管理平台集群的节点管理方法的步骤。
[0162] 对于本发明所提供的一种计算机程序产品的介绍请参照上述实施例,本发明在此不再赘述。
[0163] 本发明所提供的计算机程序产品具有和上述容器编排管理平台集群的节点管理方法相同的有益效果。
[0164] 还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0165] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。