Kubernetes 异常配置检测框架
顾静, 阿里云 邓隽, 阿里云 Kubernetes 异常配置检测框架 我们来自阿里云容器服务 • 顾静,研发工程师 • 邓隽,技术专家 我们参与打造 • 容器服务(ACK/ASK) • 容器镜像服务(ACR) • 服务网格(ASM) • … 1 Kubernetes 典型异常 2 检测框架演进 3 生产实践 4 总结 Kubernetes 使用日常 • 应用部署 • • 集群扩容 • 组件升级 • … • 找出集群不正常工作的原因 : ( Kubernetes 典型异常 组件异常 • API Server Load Balancer 异常 • API Server Pod 异常 影响 • 通过 API Server 访问集群概率失败 • 升级集群失败 Load Balancer Service Master API Server Pod Server Pod Kubernetes 典型异常 网络异常 • 安全组、路由表配置错误 • 节点防火墙软件等修改 iptables、内核参数 • 网络链路长,手动排查成本高 异常影响 • 应用间无法正常通信 • 集群内 Controller 无法正常工作 YUM 安装自动运维工具 自动安装依赖 firewalld 网络未知原因导致异常 Node Pod eth0 调用 iptables0 码力 | 31 页 | 9.57 MB | 1 年前3Pod 容忍节点异常时间调整
Pod 容忍节点异常时间调整 容忍节点异常时间调整 1. 原理说明 原理说明 Kubernetes 集群节点处于异常状态之后需要有⼀个等待时间,才会对节点上的 Pod 进⾏驱逐。那么针对部分关键业务,是否可以调整这个时间,便于在节点发⽣异常时及时将 Pod 驱逐 并在别的健康节点上重建? 要解决这个问题,我们⾸先要了解 Kubernetes 在节点异常时驱逐 Pod 的机制。 在 Kubernetes 参数,指定当节点出现异常(如 NotReady)时 Pod 还将在这个节点上运⾏多⻓的时间。 那么,节点发⽣异常到 Pod 被驱逐的时间,就取决于两个参数:1. 节点实际异常到被判断为不健康的时间;2. Pod 对节点不健康的容忍时间。 Kubernetes 集群中默认节点实际异常到被判断为不健康的时间为 40s,Pod 对节点 NotReady 的容忍时间为 5min,也就是说,节点实际异常 5min40s(340s)后,节点上的 nodeStatusUpdateFrequency 参数(Kubelet 向主控节点汇报节点状态的时间间隔)⼤ N 倍; 这⾥ N 指的是 kubelet 发送节点状态的重试次数。 Pod 容忍节点异常时间调整 Copyright © 2012-2021 UCloud 优刻得 1/4 如需修改该参数,请逐台在三台 逐台在三台 Master 节点上 节点上进⾏如下操作: 1. 在 ControllerManager0 码力 | 4 页 | 104.64 KB | 1 年前3Java 应用与开发 - 异常处理
大纲 异常的概念及分类 Java 异常处理机制 Java 应用与开发 异常处理 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 October 30, 2018 大纲 异常的概念及分类 Java 异常处理机制 学习目标 1. 掌握 Java 异常的概念和分类 2. 深入理解 Java 异常处理机制 大纲 异常的概念及分类 Java 异常处理机制 大纲 异常的概念及分类 异常的概念及分类 Java 异常处理机制 大纲 异常的概念及分类 Java 异常处理机制 C++ 中的异常处理 O 《The C++ Programming Language》 ▶ 一个库的作者可以检测出发生了运行时错误,但一般不知道 怎样去处理它们(因为和用户具体的应用有关); ▶ 另一方面,库的用户知道怎样处理这些错误,但却无法检查 它们何时发生(如果能检测,就可以再用户的代码里处理 了,不用留给库去发现)。 提供异常处理机制的的基本思想 让一个函数在发现了自己无法处理的错误时抛出(throw)一个 异常,然后它的(直接或者间接)调用者能够处理这个问题。 O 《C++ primer》 将问题检测和问题处理相分离。 (Exceptions let us separate problem detection from problem resolution.) 大纲 异常的概念及分类 Java0 码力 | 33 页 | 626.40 KB | 1 年前3基于Rust-vmm实现Kubernetes运行时
0 码力 | 27 页 | 34.17 MB | 1 年前3Object Pascal 参考手册(Ver 0.1)
TForm1(继承自 TForm)和它的一个实例 Form1。TForm1 包含一个按钮 Button1,它是 TButton 的一个实例;还包含一个过程 TForm1.Button1Click,在运行时,当用户按 下 Button1 时 它 将 被 执 行 。 TForm1.Button1Click 隐 藏 Form1 并 显 示 Form2 ( 调 用 Form2.ShowModal),Form2 CancelButtonClick 将 被 调 用 , 它 关 闭 Form2 。 这 个 过 程 ( 以 及 Unit1 单 元 的 TForm1.Button1Click)是作为事件句柄,因为它们响应程序运行时发生的事件。事件句柄通过窗体 文件(Windows 下是 .dfm,Linux 下是 .xfm)赋给指定的事件(事件是一种特殊的属性)。 当 Greeting 程序启动时,显示 Form1 而隐藏 heading) • 一个 uses 子句(可选),和 • 一个包含声明和命令语句的块(block) 程序头指定程序的名称;uses 子句列出了程序引用的单元;块包含声明和命令语句,当程序运行时, 这些命令将被执行。IDE 期望在一个工程文件(.dpr)中找到以上三种元素。 下面的实例显示了一个叫做 Editor 的程序: 1 program Editor; 2 30 码力 | 168 页 | 868.25 KB | 1 年前3openEuler 23.09 技术白皮书
进行免重启修复,原理主要在于如何完成动态函数替换, openEuler 上的 livepatch 与 Linux 主线上的实现略有不同,采用直接修改指令的方法,而非主线基于 ftrace 实现, 在运行时直接跳转至新函数,无需经过查找中转,效率较高。 • Sharepool 共享内存:Sharepool 共享内存是一种在多个进程之间共享数据的技术。它允许多个进程访问同一块内存 区域,从而实现数据 虚拟化方案、openAMP 轻量化混合部署方案,用户可以根据自己的使用场景选择最优的 部署方案。同时支持 ROS humble 版本,集成 ros-core、rosbase、SLAM 等核心软件包,满足 ROS2 运行时要求。未来 openEuler Embedded 将协同 openEuler 社区生态伙伴、用户、开发者,逐步扩展支持 RISC-V、龙芯等芯片架构,丰富 工业中间件、ROS 中间件、仿真系统等能力,打造嵌入式领域操作系统解决方案。 混合关键性部署框架 openEuler Embedded 的混合关键性部署框架构建在融合弹性底座之上,通过一套统一的框架屏蔽下层融合弹性底座 形态的不同,从而实现 Linux 和其他 OS 运行时便捷地混合部署。依托硬件上的多核能力使得通用的 Linux 和专用的实时 操作系统有效互补,从而达到全系统兼具两者的特点,并能够灵活开发、灵活部署。 混合关键性部署框架的组成主要有四大部分:生命周期管理、跨0 码力 | 52 页 | 5.25 MB | 1 年前3《Java 应用与开发》课程讲义 - 王晓东
149 12 异常处理 150 12.1 异常的概念及分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 12.1.1 什么是异常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 12.1.2 Java 异常分类 . . 152 12.1.4 常见异常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 12.2 Java 异常处理机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 12.2.1 捕获异常 . . . . . . . 156 viii 12.2.3 操纵异常对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 12.2.4 捕获和处理 IOException . . . . . . . . . . . . . . . . . . . . . . . . 158 12.2.5 声明抛出异常 . . . . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3Python 标准库参考指南 3.13
. . . . . . . . . . . . . . . . 96 5 内置异常 97 5.1 异常上下文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.2 从内置异常继承 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5.4 具体异常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.4.1 OS 异常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.6 异常组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.7 异常层次结构 . . . . . . . . . . . . . . . . . . . .0 码力 | 2246 页 | 11.74 MB | 9 月前3Python 标准库参考指南 3.13
. . . . . . . . . . . . . . . . 96 5 内置异常 97 5.1 异常上下文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.2 从内置异常继承 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5.4 具体异常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.4.1 OS 异常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.6 异常组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.7 异常层次结构 . . . . . . . . . . . . . . . . . . . .0 码力 | 2242 页 | 11.73 MB | 9 月前3Apache ShardingSphere ElasticJob 中文文档 2023 年 11 月 01 日
4; 服务器 B = 5,6,7,8,9。在不丢失分片 项的情况下,最大限度的利用现有资源提高吞吐量。 5.2.3 高可用 当作业服务器在运行中宕机时,注册中心同样会通过临时节点感知,并将在下次运行时将分片转移至仍 存活的服务器,以达到作业高可用的效果。本次由于服务器宕机而未执行完的作业,则可以通过失效转 移的方式继续执行。如下图所示。 5.2. 弹性调度 9 Apache ShardingSphere 。 • 定时任务触发时,如需重新分片,则通过主服务器分片,分片过程中阻塞,分片结束后才可执行任 务。如分片过程中主服务器下线,则先选举主服务器,再分片。 • 通过上一项说明可知,为了维持作业运行时的稳定性,运行过程中只会标记分片状态,不会重新分 片。分片仅可能发生在下次任务触发前。 • 每次分片都会按服务器 IP 排序,保证分片结果不会产生较大波动。 • 实现失效转移功能,在某台服务器 下次调度之前才开启重新分片流程。当作业执 行过程中服务器宕机,失效转移允许将该次未完成的任务在另一作业节点上补偿执行。 5.3.1 概念 失效转移是当前执行作业的临时补偿执行机制,在下次作业运行时,会通过重分片对当前作业分配进行 调整。举例说明,若作业以每小时为间隔执行,每次执行耗时 30 分钟。如下如图所示。 图中表示作业分别于 12:00,13:00 和 14:00 执行。图中显示的当前时间点为0 码力 | 98 页 | 1.97 MB | 1 年前3
共 793 条
- 1
- 2
- 3
- 4
- 5
- 6
- 80