Kubernetes 异常配置检测框架顾静, 阿里云 邓隽, 阿里云 Kubernetes 异常配置检测框架 我们来自阿里云容器服务 • 顾静,研发工程师 • 邓隽,技术专家 我们参与打造 • 容器服务(ACK/ASK) • 容器镜像服务(ACR) • 服务网格(ASM) • … 1 Kubernetes 典型异常 2 检测框架演进 3 生产实践 4 总结 Kubernetes 使用日常 • 应用部署 • FORWARD_IN_ZONES_SOURCE FORWARD_OUT_ZONES 容器网络不通 异常 VS 异常检测 ? 云原生操作系统 自检 安全模式 检测工具 … 操作系统 NPD 运行模式 • 集群节点(DaemonSet /Standalong) 问题检测 • 硬件(CPU、内存、磁盘) • 操作系统( NTP、内核死锁、文件系统异常) • Container Runtime(无响应) 需要特定版本来对接兼容的 K8s 版本 问题检测 • Kubernetes Conformance-testing(K8s 兼容性检查) • 节点上自定义数据的收集(依赖于自定义插件) 问题上报 • 需要采集和分析结果文件 Kube* CIS Kubernetes Benchmark 集群安全扫描 集群综合检查 执行 bpftrace 检测工具小结 工具 适用场景 局限性 kube-bench0 码力 | 31 页 | 9.57 MB | 1 年前3
k8s操作手册 2.3node 结点名 keyrm:NoExecute #先打上污点,驱 逐工作负载pod,等待几分钟,确认目标node结点上没有工作pod运行后,再删 除 master结点上# kubectl delete nodes 结点名 #将目标结点从集群里删除 node结点上# kubeadm reset be-proxy会使用负 载均衡机制。 ★每创建一个service资源,就会创建一个同名的EndPoints Endpoints:记录了service的targetPort与目标pod的 ip:port映射关系,当目标pod 漂移或重启时,endpoints会自动更新 service-ip:是虚拟的ip,是由kube-proxy去建立相应的iptables/ipvs规则进行流量 的转发 ★kube-proxy的代理规则模式有: k8s创建NodePort与Cluster-ip;云服务商云上的负载均衡器 去监测此k8s集群当发现有创建LoadBalancer时,就自动添加 相应的监听器(将用户的请求流量转发到pod所处node结点 上的目标service Port或node port,目标node上的ipvs规则是 直接将此node port/servce port转发到此node上的pod里) ExternalName 将服务映射到集群外部的某个资源,要求v10 码力 | 126 页 | 4.33 MB | 1 年前3
第29 期| 2023 年9 月- 技术雷达技术 © Thoughtworks, Inc. All Rights Reserved. 15 11. 基于风险的故障建模 试验 基于风险的故障建模是一种用于了解系统发生故障的可能性、潜在影响和检测手段的方法。交付团队逐渐开始使 用这种方法来设计和评估预防故障所需的控制措施。该方法源自故障模式与影响分析(FMEA)的实践。FMEA 是一种诞生于上世纪 40 年代的风险评分技术,成功运用于 ,我们不知道为什么这样做有效,但我们 的经验表明,在人工编写的代码中加入自然语言注释也会改善基于大语言模型的编码助手的输出质量。 13. 追踪健康债务状况 试验 通过将健康度评级与其他服务级目标(SLO)同等对待,并据此确定增强的优先级,而不是仅仅关注跟踪技术 债务,我们不断体验到团队对其生态系统的改进。通过有效分配资源来解决与健康状况相关的最有影响的问题, 团队和组织可以降低长期维护 是大语言模型驱动的自主代理的示例,它们朝着底层大语言模型理解所获得的目标方向努力。这些代理会记住 目标的进展程度,使用大语言模型来思考接下来该做什么,然后采取行动,并理解何时已经实现了目标。这通 常被称为思维链推理,而且实际上是可行的。我们的团队实现了一个作为自主代理的客户服务聊天机器人。如 果机器人无法达成客户的目标,它会认识到自己的限制并将客户引导到人工处理。这种方法显然仍处于早期发0 码力 | 43 页 | 2.76 MB | 1 年前3
第1930期:Kubernetes基础介绍(CNCF)并把Kubernetes作为种子技术来提供。目前最新的 版本是1.16版本。(https://github.com/kubernetes/kubernetes) Kubernetes 的目标旨在消除编排物理/虚拟计算,网络和存储基础设施的负担,并使应用程序运营商和开发人员完全将重点放 在以容器为中心的业务上进行自助运营。Kubernetes 也提供稳定、兼容的基础(平台),用于构建定制化的workflows 8s里所有资源对象的自动化控制中心,可以理解为 资源对象的“大总管”。运行着所有处理集群日常任务的控制器。包括节点控制器、副本控制器、端点控制器及服务账号 和令牌控制器。负责维护集群的状态,比如故障检测、自动扩展、滚动更新等。 Scheduler调度器(kube-scheduler):负责资源调度(Pod调度)的进程,相当于“调度室”。按照预定的调度策略 将Pod调度到相应的机器上 etcd: master调度到某个具体的node上并进行绑定,随后该pod被 对应的node上的kubelet进程实例化成一组相关的docker容器并启动起来。默认情况下,当pod中的某个容器停止时, K8s会自动检测到这个问题并重新启动这个pod(重启pod里面的所有容器),如果pod所在的node宕机,则会将这个 node上的所有pod重新调度到其他节点上。 静态pod:不存储在etcd中,而是存放在某个具0 码力 | 49 页 | 4.11 MB | 1 年前3
云计算白皮书二、我国云计算发展概述 (一)国家政策指引云计算创新发展,地方积极推进企 业上云用云 随着数字化转型进程的深入,数字经济已逐渐发展成为国民经 济增长的重要驱动力,数字中国建设上升为国家重要战略目标。过 去一年,国家及地方政府陆续出台了一系列数字产业相关政策,云 计算作为新兴数字产业之一,为数字经济发展提供强有力的基础支 撑,成为“十四五”期间重点发展产业之一。 国家层面,政策指引云计算应用创新,全面推动信息产业融合 (三)云计算技术不断推陈出新,满足多样性场景需求 助力产业升级 模式层面,应用现代化赋能全场景应用,加速产业数字化升级。 应用现代化是一个长期的、持续演进的,通过应用的现代化建设不 断贴近从而最终实现业务价值、达成企业战略目标的过程,涵盖旧 应用的现代化改造和新应用的现代化构建。云原生是云时代背景下 构建现代化应用的最典型技术方案,但应用现代化并非单纯依靠技 术手段达成,需要完整的建设方法论,具体包含五个方面,如图 制”。二是可观测性成系统“中枢神经”。可观测性提供了实时监测 和系统分析的能力,完善的系统可观测性相当于人体的“神经系统”, 感知系统状态、定位系统故障,协助进行容量治理及性能调优,并 通过建立基线模型和监测系统的行为模式,来检测和预测异常情况, 实现自动化运维和自愈能力。三是机器学习与人工智能提升稳定性 保障的建设成效。人工智能和机器学习技术将在系统稳定性保障技 术体系中发挥越来越重要的作用,并进一步提升落地成效。通过对0 码力 | 47 页 | 1.22 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
深度解析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
Kubernetes + OAM 让开发者更简单统一、标准化 理想中的应用管理平台 目标一:一个面向用户,应用为中心 CI/CD 流水线 应用 扩容策略 发布策略 分批策略 访问控制 流量配置 Pod Deployment Service Node Custom Resource 业务运维 业务研发 按需绑定 关键词:用户友好,应用层语义和抽象 平台工程师 Controller 目标二:一个高可扩展的应用管理平台 关键词: Function 抽象程度:高 抽象程度:低 发布策略 扩容策略 $ helm install traffic 流量策略 业务运维 业务研发 多样化场景,统一支持! 生态能力,一键上线! 目标三:一个统一、标准化的应用管理引擎 应用组件 运维能力 扩容策略 发布策略 分批策略 访问控制 流量配置 应用配置 应用管理引擎 能力注册 Docker Compose Dashboard0 码力 | 22 页 | 10.58 MB | 1 年前3
Kubernetes开源书 - 周立11.2) 14 K8s组件 本⽂概述了Kubernetes集群中所需的各种组件。 Master组件 Master组件提供K8s集群的控制⾯板。Master对集群进⾏全局决策(例如调度),以及检测和响应集群事件(例如:当 replication controller所设置的 replicas 不够时,启动⼀个新的Pod)。 Master可在集群中的任意节点上运⾏。然⽽,简单起⻅,设置脚 eplicaSet的过程中可能会阻塞,永远也⽆法完成。这可能是由于以下⼀些因素造成 的: 配额不⾜ 就绪探针探测失败 镜像拉取错误 权限不⾜ 范围限制 应⽤程序运⾏时配置错误 您可以检测到这种情况的⼀种⽅法,是在Deployment spec中指定⼀个期限参数:( spec.progressDeadlineSeconds )。 spec.progressDeadlineSeconds 于 node.alpha.kubernetes.io/unreachable ,也会有 tolerationSeconds=300 ⽤户⾃⾏设置。 这些⾃动添加的Toleration确保在检测到这些问题之⼀后默认保持绑定5分钟。是 DefaultTolerationSeconds admission controller 添加了这两个默认Toleration。 对于以下没有未设置 tolerationSeconds0 码力 | 135 页 | 21.02 MB | 1 年前3
Chaos Mesh让应用与混沌在 Kubernetes 上共舞-杨可奥Mesh 使用案例 混沌工程的动机 事故,任何时候都可能发生 AWS 事故,任何时候都可能发生 Github 关于混沌,我们能知道很多 我们的软件没有混沌现象! 科学的研究方法 ● 明确目标,问题 ● 作出假设 ● 进行尝试和实验 ● 观察现象 ● 分析和总结 Chaos Engineering 混沌工程正在受到重视 混沌工程正在受到重视 混沌实验?听上去很简单 混沌实验?听上去很简单 loss/delay/dup/c orrupt netem ipset+iptables partition Request bandwidth tbf NetworkChaos 实现方法 如何进入目标 Pod 的 Network Namespace ● setns 系统调用 ● nsenter 命令 或在其他进程中 setns ○ 开发、测试更加方便 ○ 使用起来更加简单 ● SideCar0 码力 | 30 页 | 1.49 MB | 9 月前3
共 18 条
- 1
- 2













