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 年前3
⾸云容器产品Kubernetes操作指南TCP和UDP)、端⼝ 环境变量:配置所启动容器所需的环境变量(key/value的形式) 健康检查和就绪检查:⽀持健康检查(liveness)和就绪检查(Readiness)。健康检查⽤于 检测何时重启容器;就绪检查⽤于确定容器是否已经就绪,且可以接受流量。更多信息,请参 ⻅https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness- 1~65535。 HTTP 头:即 HTTPHeaders,HTTP 请求中⾃定义的请求头,HTTP 允许重复的 header。 ⽀持键值对的配置⽅式。 运⾏多久后开始检测(秒):即 initialDelaySeconds,容器启动后第⼀次执⾏检测时需要等 待多少秒,默认为 3 秒。 检查间隔(秒):即 periodSeconds,指执⾏检查的时间间隔,默认为 10 秒,最⼩为 1 秒。 不健康阈 timeoutSeconds,探测超时时间。默认 1 秒,最⼩ 1 秒。 不健康阈值:探测成功后,最少连续探测失败多少次才被认定为失败。默认是 3,最⼩值是 1。 命令⾏ 通过在容器中执⾏探针检测命令,来检测容器的健康情况。⽀持的参数包括: 命令⾏:⽤于检测容器健康情况的探测命令。 延迟探测时间(秒):即 initialDelaySeconds,容器启动后第⼀次执⾏探测时需要等待多少 秒,默认为 5秒。 执⾏探测频率(秒):即0 码力 | 94 页 | 9.98 MB | 1 年前3
第29 期| 2023 年9 月- 技术雷达技术 © Thoughtworks, Inc. All Rights Reserved. 15 11. 基于风险的故障建模 试验 基于风险的故障建模是一种用于了解系统发生故障的可能性、潜在影响和检测手段的方法。交付团队逐渐开始使 用这种方法来设计和评估预防故障所需的控制措施。该方法源自故障模式与影响分析(FMEA)的实践。FMEA 是一种诞生于上世纪 40 年代的风险评分技术,成功运用于 负载,检测配置错误、漏洞和合规性问 题。它支持云虚拟机、无服务器函数、容器以及已部署工作负载的 Kubernetes 上部署的应用。这些内置的安 全规则会定期更新,以跟上不断演进的合规标准和威胁向量。由于 Orca 无需代理,因此提供了良好的开发者 体验,并且易于设置。另一个显著的特点是它促进了安全的左移。我们的团队使用 Orca CLI 来扫描容器镜像 和 IaC 模板,以检测漏洞和配置错误,作为预提交钩子或 project 。 32. Wiz 试验 Wiz 是日渐成熟的云安全平台领域里又一竞争者,它能让用户在一个平台上预防、检测和应对安全风险和威胁。 Wiz 能对尚未部署到生产环境的构建产物(容器镜像、基础设施代码)以及生产工作负载(容器、虚拟机和云 服务)的错误配置、漏洞和泄漏的机密数据进行检测并发出警报。 它还能将发现的问题置于特定客户的云环境 的上下文中,使响应团队能够更好地了解问题并确定修复优先级。我们的团队在使用0 码力 | 43 页 | 2.76 MB | 1 年前3
深度解析CNCF社区⾸个基于Kubernetes的边缘计算平台KubeEdge� ➔ 对监控视频智能分析,实时感知⼊入侵、⼈人流量量⼤大等异常事件,降低园区的⼈人⼒力力成本。� ➔ 端侧⼈人脸抓取,视频分析在边缘侧执⾏行行。云端管理理边缘应⽤用全⽣生命周期,⽆无缝升级。云端AI模型训练,边缘侧推理理。� 端� 边� 云� ⼈人脸 检测 模型� 容器器� ⼈人脸检测� ⼈人流分析� 周界检测� 模型和应⽤用推送、应⽤用管理理、边缘设备托管� ⼈人流 监控 监控 模型� 容器器� 容器器� 数据上传� 周界 检测 模型� 边缘计算应⽤用场景——智能家居� ➔ 基于边缘计算打造⾼高效、舒适、安全、便便利利、环保的智能家居环境。� ➔ 云端推送边缘应⽤用,实现应⽤用全⽣生命周期管理理和边缘设备托管。� ➔ 端侧涵盖多种智能设备,边缘侧就近处理理隐私数据,回传必要数据到云端。� 端� 边� 云� 容器器� 摄像头� 语⾳音设备� KubeEdge设备管理理——从云端同步期望设备状态到边缘� 应⽤用场景:智能家居设备远程控制� KubeEdge设备管理理——从边缘上报实际设备状态到云端� 应⽤用场景:智能家居设备状态远程检测� KubeEdge实战——从云端分发应⽤用到边缘Demo演示� K8S API Server� KubeEdge Cloud� KubeEdge Edge� Wait for pod update�0 码力 | 20 页 | 2.08 MB | 1 年前3
第1930期:Kubernetes基础介绍8s里所有资源对象的自动化控制中心,可以理解为 资源对象的“大总管”。运行着所有处理集群日常任务的控制器。包括节点控制器、副本控制器、端点控制器及服务账号 和令牌控制器。负责维护集群的状态,比如故障检测、自动扩展、滚动更新等。 Scheduler调度器(kube-scheduler):负责资源调度(Pod调度)的进程,相当于“调度室”。按照预定的调度策略 将Pod调度到相应的机器上 etcd: master调度到某个具体的node上并进行绑定,随后该pod被 对应的node上的kubelet进程实例化成一组相关的docker容器并启动起来。默认情况下,当pod中的某个容器停止时, K8s会自动检测到这个问题并重新启动这个pod(重启pod里面的所有容器),如果pod所在的node宕机,则会将这个 node上的所有pod重新调度到其他节点上。 静态pod:不存储在etcd中,而是存放在某个具 Failed。这个状态下,Pod 里至少有一个容器以不正常的状态(非 0 的返回码)退出。这个状态的出现,意味着你得想办 法 Debug 这个容器的应用,比如查看 Pod 的 Events 和日志。 5.Unknown。这是一个异常状态,意味着 Pod 的状态不能持续地被 kubelet 汇报给 kube-apiserver,这很有可能是主从 节点(Master 和 Kubelet)间的通信出现了问题。 更进一步地,Pod 对象的0 码力 | 49 页 | 4.11 MB | 1 年前3
云计算白皮书各 模块之间依赖关系错综复杂,给服务性能分析、故障定位、根因分 析等带来了诸多困难;云上系统故障率随设备数量的增加而呈指数 级增长,单一节点问题可能会被无限放大,日常运行过程中一定会 伴随“异常”发生;同时,节点分布范围更广,节点数量更多,对 日常运维过程中的日志采集、变更升级等都带来了新的挑战。基于 以上挑战,系统稳定性保障领域呈现以下特点:一是“稳保体系” 创新促进业务稳定运行。稳定的业务系统保障了企业的连续运营、 观测性提供了实时监测 和系统分析的能力,完善的系统可观测性相当于人体的“神经系统”, 感知系统状态、定位系统故障,协助进行容量治理及性能调优,并 通过建立基线模型和监测系统的行为模式,来检测和预测异常情况, 实现自动化运维和自愈能力。三是机器学习与人工智能提升稳定性 保障的建设成效。人工智能和机器学习技术将在系统稳定性保障技 术体系中发挥越来越重要的作用,并进一步提升落地成效。通过对 算力资源也从最初的 物理机部署发展为容器化部署,实现了算力分发从命令式到声明式 的转变,即以分发结果为核心,分发过程交付给容器化部署技术自 动执行,一方面在保证分发结果的同时排除人为操作引入的异常, 极大降低出错概率与人力成本;另一方面将用户的精力从资源运维 集中到业务开发,进一步降低了云计算的使用门槛和时间成本。阿 里云公开数据显示,其云上容器服务产品基于开源的声明式算力分 发方式进行改进,可以实现几十秒内完成0 码力 | 47 页 | 1.22 MB | 1 年前3
k8s操作手册 2.3#检测tcp端口是否可连接 port: 80 ini�alDelaySeconds: 10 #pod刚拉起时延迟10秒再检测,默认0秒 �meoutSeconds: 2 #检测超时2秒,默认1秒 periodSeconds: 3 #隔3秒再进行下一次检测,默认1秒 failureThreshold: 2 #2次失败,则判定pod启动失败,默认3次 successThreshold: 1 #1次检测成功,则判定pod启动成功了,默认1次 readinessProbe: #pod就绪性探测,对应READY,失败后不会重启pod, 只是服务不可访问 tcpSocket: #pod存活性探测,失败后根据restartPolicy决定是否重启 tcpSocket: #检测tcp端口是否可连接 port: 80 ini�alDelaySeconds: 10 #pod刚拉起时延迟10秒再检测,默认0秒 readinessProbe: #pod就绪性探测,失败后不会重启pod,只是服务不可访0 码力 | 126 页 | 4.33 MB | 1 年前3
逐灵&木苏-阿里巴巴 K8S 超大规模实践经验风险识别自愈能力升级 • 传统运维体系的效率问题 - 应用启动流程复杂 - 决策链路较长 - 状态一致性风险 容器平台 监控 VIP 服务注册 配置中心 运维平台 观察者 异常消费 基础设施 异常来源• 统一容器与应用实例的生命周期 • 下沉应用的冗余度信息 容器即应用 运维平台 监控 VIP 服务注册 配置中心 启动完成 应用实例的生命周期 API Server Eviction • UnitedDeployment (coming soon) https://openkruise.iok8s 规模及性能优化实践性能优化 RT/QPS 资源使用率 链路RT/QPS 服务异常 队列长度 gRPC监控 长连接分布 请求分布 限流 Authorization Authenticatio n 序列化 压缩 版本转换 Admission Cache Storage Filter0 码力 | 33 页 | 8.67 MB | 6 月前3
202106 KubeOperator:开源的轻量级 Kubernetes 发行版
Prometheus,⽀支持对集群、节点、Pod、Container 的全⽅方位监控和告警;内置 EFK、Loki ⽇日志⽅方案;内置 Grafana 作为监控和⽇日志展示; ⽀支持消息中⼼心,通过钉钉、微信通知各种集群异常事件(X-Pack); 升级 ⽀支持集群升级; 伸缩 ⽀支持增加或者减少 Worker 节点; 备份 ⽀支持 etcd 定期备份和⽴立即备份; 恢复 ⽀支持 etcd 备份策略略⽂文件恢复和本地⽂文件恢复; 经验、使⽤用技 巧等相关知识。 KubeOperator X-Pack 增强包功能 增强功能持续增加中 对接 LDAP/AD 界⾯面⾃自定义 消息中⼼心, 通过钉钉、微信通知各种 集群异常事件 集群健康评分 通过 F5 Big IP 对外暴暴露露服务 多集群配置管理理 多云时代技术领先的企业级软件提供商 www.fit2cloud.com THANK YOU www.fit2cloud0 码力 | 20 页 | 1.62 MB | 1 年前3
腾讯基于 Kubernetes 的企业级容器云实践-罗韩梅组件自身HA机制,如docker; • 多地域多可用区的容灾设计 • 管理机挂掉:对应用无影响 • 计算节点挂掉:跨机迁移 • 健康探针 ① 存活探针 ② 就绪探针 • 负载均衡 • 重启机制 ① 区分异常原因 ② 本地重启/跨机重启 • 黑名单机制 • 集群核心数据的备份和恢复 ① Etcd ② 核心数据库 • 云盘机制保护应用数据 • 举例:1.4升级1.9版本 • Pod Hash发生变化 • cluster1。该应用有25个实例,每个实例需要2个GPU卡。用 来提供图片识别的OCR服务。 • 当该服务要升级新的版本时,如果对所有实例停止,则会造 成服务中断;如果采用滚动升级,无法保证升级过程是否有 异常,以及无法充分验证新版本的可用性(即使经过了测试 阶段的测试)。 • 通常采用灰度升级的方式:即选择某一个或N个实例先升级到 新版本,在充分稳定验证后,再考虑升级其他实例,而该灰 度的过程可以分为任意批次。有时为了验证多个版本,一个0 码力 | 28 页 | 3.92 MB | 1 年前3
共 16 条
- 1
- 2













