首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    istio框架(istio故障注入)

    创建Deployment,SVC 1.创建Deployment 注:它们Pod标签都有app: nginx,service服务发现根据这个标签选择,version是为后面定义版本设置的 kubectl protocol: HTTPS tls: credentialName: all-test.com-credential mode: SIMPLE 根据域名进行路由分发 1.根据Pod ingressgatewayIP) test1.test.com (ingressgatewayIP) test2.test.com 分别访问这两个域名流量对应转到不同版本的Pod

    61630编辑于 2022-08-01
  • 来自专栏程序员吾真本

    故障创建与编排更胜一筹的K8S混沌工程开源平台Litmus

    可安排单次或 Cron定时故障注入场景。可以用例优先级标注故障注入实验。 通用实验,包括pod-delete、pod-dns-error、container-kill、pod-cpu-hog、pod-network-corruption、pod-memory-hog、pod-network-latency 、pod-memory-hog-exec、node-drain、pod-cpu-hog-exec、node-io-stress、node-restart、pod-autoscaler、pod-dns-spoof 、node-taint、pod-http-status-code、pod-http-latency、pod-network-partion、docker-service-kill、pod-http-reset-peer 、pod-http-modify-header、pod-http-modify-body。

    52410编辑于 2023-08-16
  • 来自专栏程序员吾真本

    故障创建与编排更胜一筹的K8S混沌工程开源平台Litmus

    通用实验,包括pod-delete、pod-dns-error、container-kill、pod-cpu-hog、pod-network-corruption、pod-memory-hog、pod-network-latency 、pod-network-loss、disk-fill、pod-io-stress、node-cpu-hog、pod-network-duplication、node-memory-hog、kubelet-service-kill 、pod-memory-hog-exec、node-drain、pod-cpu-hog-exec、node-io-stress、node-restart、pod-autoscaler、pod-dns-spoof 、node-taint、pod-http-status-code、pod-http-latency、pod-network-partion、docker-service-kill、pod-http-reset-peer 、pod-http-modify-header、pod-http-modify-body。

    92470编辑于 2023-08-15
  • 来自专栏腾讯云混沌工程团队

    【云顾问-混沌】PodNode CPU 故障注入

    本文将介绍如何使用混沌工具对 Pod/Node 进行 CPU 负载故障注入,以达到指定的 CPU 负载百分比。 2. 参数 在进行 CPU 负载故障注入时,我们可以通过以下参数来控制: nice:指定 CPU 负载进程的 nice 值(静态优先级),取值范围为[-20, 19]。 实现原理 混沌工具在进行 CPU 负载故障注入时,主要通过以下方式实现: 启动 chaos_burncpu 进程,空跑 for 循环来消耗 CPU 时间片。 通过以上方法,我们可以轻松地对 Pod/Node 进行 CPU 负载故障注入,从而验证系统在不同负载下的表现,以及监控告警、流量调度、弹性伸缩等能力。 使用腾讯云混沌演练平台实施 CPU 高负载。

    86110编辑于 2024-03-15
  • 云顾问混沌演练平台:如何精准实现容器负载类故障注入

    腾讯云云顾问混沌演练平台应运而生,通过精准的负载类故障注入,帮助企业提前发现并解决问题,提升系统稳定性。1. 什么是负载类故障注入? 负载类故障注入主要模拟系统在极端资源消耗情况下的表现,例如CPU满载、内存耗尽、IO压力过大等情况。这类故障注入帮助企业验证容器在资源紧张情况下的响应能力和弹性扩展机制。2. 云顾问混沌演练平台如何精准实现负载类故障注入?腾讯云云顾问混沌演练平台利用创新的技术,通过创建稳定的辅助执行环境(称为chaos-helper-pod),实现容器故障的精准注入。 具体步骤如下:动态部署混沌辅助执行Pod: 混沌工程控制平台接收到用户的故障注入请求后,会在目标业务容器所在的节点动态启动一个chaos-helper-pod,这个Pod内置了各种故障注入工具,如CPU 启动故障进程: chaos-helper-pod在自身环境中启动特定的故障进程,比如CPU压力进程(cpu-stressor)或内存消耗进程(mem-eater),同时获取这些进程在宿主机上的PID(进程标识符

    40421编辑于 2025-05-20
  • 来自专栏腾讯云智能顾问

    腾讯云Status Page(健康看板)容灾设计与混沌演练实践——下篇

    上篇 腾讯云Status Page(健康看板)容灾设计与混沌演练实践——上篇 我们讨论架构设计和部署,接下来的内容是关于相应故障演练验证的实践 故障注入主要通过腾讯云混沌演练平台实现,腾讯云有对外服务的版本 故障场景 为了验证上篇讨论的架构设计和部署方案是否达到预期,我们将全方位对不同场景进行演练,分别对接入层,逻辑层,数据层等实施以下故障注入: 接入层演练场景 部分ECDN主源VIP不可访问 全部ECDN 主源VIP不可访问 ECDN主源返回异常码 逻辑层演练场景 主源逻辑层地域所有POD异常 主源逻辑层单可用区所有POD异常 主源逻辑层单可用区内部分POD异常 数据层演练场景 单可用区DB连接异常 接入层故障演练 : 逻辑层故障演练 主源逻辑层地域所有POD异常 通过腾讯云混沌演练平台pod Failed注入 主源逻辑层单可用区所有POD异常 通过腾讯云混沌演练平台pod Failed注入 逻辑层地域所有POD异常和单可用区所有 POD异常2种故障注入后的请求示意图,都是主源VIP返回异常码后,进行备源重试: 主源逻辑层单可用区内部分POD异常 通过腾讯云混沌演练平台pod Failed注入,包括前后端不同场景 故障注入后的K8s

    1.2K81编辑于 2024-03-11
  • 来自专栏猫头虎博客专区

    故障注入实验:了解如何使用Chaos Engineering的方法,在服务网格中进行故障注入实验

    在这篇博文中,我将带领大家探索如何在服务网格中进行故障注入实验,分享Chaos Engineering的最佳实践,并深入研究服务网格如Istio中的故障注入功能。 引言 混沌工程不仅仅是故意制造故障,而是一种科学的方法,通过故障注入来发现系统中的潜在问题,并验证系统的弹性。 服务网格,作为微服务架构的通信层,为我们提供了强大的故障注入工具,帮助我们更好地进行混沌实验。 正文 1. 什么是混沌工程? 混沌工程是一种通过主动注入故障来验证系统健壮性的方法。 2.1 Istio的故障注入功能 Istio允许我们在服务间的通信中注入故障,如延迟、错误等。 3.3 运行实验 使用服务网格的工具,如Istio,进行故障注入。 3.4 分析实验结果 收集实验数据,分析系统在故障下的表现,找出潜在的问题。 4.

    51210编辑于 2024-04-09
  • 来自专栏k8s技术圈

    蚂蚁开源的云原生混沌工程平台 - ChaosMeta

    ,或者对云上/云下的目标进行管理以及注入故障,都有相应的部署方案可以满足 丰富的故障注入能力,云原生混沌工程 由于蚂蚁集团对攻防演练的高度重视,促成了大规模高频率的演练活动,进而推动了各种各样的故障注入能力建设 Client) 用户层主要是由 chaosmeta-platform 组件构成,其主要任务是降低用户使用的门槛,提供可视化界面,方便用户使用计划、编排、实验配置、实验记录详情、Agent管理(k8s集群的pod 提供对集群内的 Pod/Node 远程目标注入能力以及筛选能力(后续会在界面支持集群外的目标); 提供空间管理的能力,可以对数据按需分隔管理; 提供账号权限管理系统。 Pending Pod堆积、Completed Job堆积等;还有Deployment、Node、Pod等云原生资源实例异常比如Deployment实例副本扩缩容篡改、Pod实例Finalizer注入等 度量能力 monitor:对监控项的值进行预期判断,比如某个机器的 cpu 使用率监控值是否大于90%,默认支持 prometheus pod:对 pod 相关数据进行预期判断,比如某个应用的 pod

    2.3K10编辑于 2023-11-27
  • 故障注入在软件测试中实际应用

    一、为什么需要故障注入? 基础设施可靠性测试K8s/云平台故障恢复能力 节点宕机、Pod被杀、存储卷丢失 3. 数据层容灾演练验证DB/缓存故障时的数据一致性 主从切换、Redis OOM、慢查询 4. 系统层 Stress-ng, SysBench CPU/内存/磁盘压力测试 容器/K8s层Chaos Mesh, LitmusChaos 杀Pod 注入支付服务接口延迟(目标:payment-service Pod)blade create k8s pod-network delay \ --names payment-pod-xxx \ -- ❌ 无监控盲目注入 不知道系统是否真受影响 注入前建立基线,注入中实时看板❌ 一次性演练无闭环 问题重复发生 建立“发现→修复→验证”跟踪机制七、进阶:自动化故障注入流水线将故障注入融入

    74610编辑于 2025-09-17
  • 来自专栏积跬Coder

    Pod

    Pod是资源对象模型中由用户创建或部署的最小资源对象模型,也是K8s上运行容器应用的资源对象, 其他的资源对象都是用来支撑或扩展Pod对象的功能 比如 控制器对象是用来管控Pod对象 service或ingress 资源对象是用来暴露Pod引用对象 PersistentVolume资源对象是为Pod提供存储的 k8s 不会直接处理容器,而是PodPod由一个或多个container组成 Pod是K8s的最重要的概念,每一个Pod都有一个特殊的被称之为根容器的Pause容器。Pause容器对应的镜像属于K8s的一部分。 除了Pause容器,每个Pod还包含一个或多个紧密相关的用户业务容器 基本概念 最小部署单位 包含多个容器(一组容器的集合) 同一个Pod容器共享网络命名空间(同一个Pod,共享网络) Pod短暂存在 一个容器有进程,一个容器运行一个应用程序 Pod是“多进程”设计,运行多个应用程序 Pod的存在,为了亲密性 两个应用需要进行交互 网络外部隔离,内部互通 Pod共享实现机制 共享网络 容器本身之间相互隔离

    85311发布于 2020-12-18
  • 来自专栏测试开发技术

    6.2K star!推荐一款开源混沌工程测试平台:Chaos Mesh

    : Chaos Mesh支持多种故障注入方式,包括网络故障、节点故障、磁盘故障等,用户可以根据需求选择合适的故障注入方式进行测试。 灵活的调度策略: 用户可以根据自己的需求定义故障注入的调度策略,包括定时触发、周期性触发等,以便更好地控制故障注入的时机和频率。 : pod-kill:模拟 Kubernetes Pod 被 kill。 pod-failure:模拟 Kubernetes Pod 持续不可用,可以用来模拟节点宕机不可用场景。 network-delay:模拟网络延迟。 network-loss:模拟网络丢包。 4、Chaos Mesh 使用步骤 1、创建故障注入实验:使用 Chaos Mesh 控制台或命令行工具创建故障注入实验,选择故障类型、目标应用程序、注入时间等参数。

    1K11编辑于 2024-08-27
  • 来自专栏腾讯云混沌工程团队

    【云顾问-混沌】PodNode 内存高负载故障注入

    本文将介绍如何使用混沌工具对 Pod/Node 进行内存负载故障注入,以达到指定的内存占用百分比。腾讯云混沌演练平台故障动作:标准集群 Pod/普通节点-内存利用率高。 2. 参数 在进行内存负载故障注入时,我们可以通过以下参数来控制: percent:内存使用率,取值是 0 到 100 的整数,默认值为 100。此参数为可选。 实现原理 混沌工具在进行内存负载故障注入时,主要通过以下方式实现: ram 模式:启动进程 chaos_burnmem 不断申请内存,模拟主机/容器内存负载升高。 为了保护该进程在故障注入期间一直存在,不被杀死,可以打开 oomGuard 保护,降低该进程 oom-kill 权重,优先杀死其他进程。 设置高负载的内存故障注入后,可能会使得机器无法登入与控制,请谨慎使用。 cache 模式:通过挂载 tmpfs 来实现内存占用。

    55710编辑于 2024-03-15
  • DeepSeek 3FS源码分析(1) 故障注入

    CI/CD 动态性 支持运行时动态调整 需要重新编译 复杂度 高(分布式同步、持久化) 低(内存状态、线程局部) 故障类型 多样(失败、延迟、损坏等) 主要模拟操作失败 • Ceph 风格:用“命名的故障注入点 • 3FS 的故障注入框架基于 概率触发 + 作用域管理 的设计,通过 folly::RequestContext 实现跨协程的配置传递。 3fs设计特点 1 声明式 API: 通过 FAULT_INJECTION_SET(概率, 次数) 声明故障注入范围,具体故障类型由业务代码决定 2 RAII 自动管理: 利用 C++ 的 RAII 模式 FAULT_INJECTION_SET(10, 5) 是一个用于故障注入测试的宏,它会在当前代码作用域内设置故障注入参数: FaultInjection.h:16 • 第一个参数 (10): 表示故障注入的概率为 , 它本身不指定具体的故障类型(网络、服务或其) 具体注入什么故障取决于使用它的代码位置: 虽然 Rename.cc 本身不直接调用 FAULT_INJECTION(),但在实际运行中,故障注入会影响:

    23210编辑于 2025-11-20
  • 来自专栏Godev

    外包精通--Istio流量管理之故障注入(二)

    本小节演示如何通过故障注入来测试应用的弹性。 1. 创建一个故障注入的规则来延迟来自jason用户的流量。 Istio的故障注入规则可以帮助您在不影响最终用户的情况下识别这些异常。 4. 发送一个针对jason用户故障注入的HTTP终止类型 $ kubectl apply -f samples/bookinfo/networking/virtual-service-ratings-test-abort.yaml

    81170编辑于 2023-07-31
  • 来自专栏开源部署

    Pod 介绍

    一、什么是 PodPod 是 kubernetes 集群中最小的部署和管理的基本单元,协同寻址,协同调度。 ​Pod 是一个或多个容器的集合,是一个或一组服务(进程)的抽象集合。 ​ 同一个 Pod 里的容器之间仅需通过 localhost 就能互相通信。 二、Pod 的网络 每个Pod被分配了唯一的IP地址,该Pod内的所有容器共享一个网络空间,包括IP和端口。 同个Pod不同容器之间通过localhost通信,Pod内端口不能冲突。 不同Pod之间的通信则通过IP+端口的形式来访问到Pod内的具体服务(容器)。 Pod中,同个Pod中的多个容器之间互相访问可以通过localhost来通信。 ​ kebectl describe pod Pod名称 -n 空间名称,如果不指定则默认显示default空间内的 pod 删除 kubectl delete pod Pod名称 / kubectl delete

    6.7K14编辑于 2022-09-15
  • 来自专栏全栈程序员必看

    evicted Pod

    apiVersion: v1 kind: Pod metadata: annotations: checksum/config: 8476fd6406a3cc87e5471154d85fd7c50e6a629acda16989a09a5d90937bb5b0 app.kubernetes.io/instance: test-myapi-ingress app.kubernetes.io/name: myapi-ingress-controller pod-template-hash myapi-ingress-controller - ingress - --config-path - /ingress-myapi/conf/config.yaml env: - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: POD_NAME

    48230编辑于 2022-08-27
  • 来自专栏木二天空

    021.掌握Pod-Pod调度策略

    Pod生命周期管理 1.1 Pod生命周期 Pod在整个生命周期过程中被系统定义了如下各种状态。 1.2 Pod重启策略 Pod重启策略(RestartPolicy)应用于Pod内的所有容器,并且仅在Pod所处的Node上由kubelet进行判断和重启操作。 Kubernetes将Job氛围以下三类: Non-parallel Jobs 通常一个Job只启动一个Pod,除非Pod异常,才会重启该Pod,一旦此Pod正常结束,Job将结束。 都能独立判断和决定是否还有任务项需要处理; 如果某个Pod正常结束,则Job不会再启动新的Pod; 如果一个Pod成功结束,则此时应该不存在其他Pod还在工作的情况。 Pod的infrastructure容器更新时, Pod将会重启。 若Pod中的所有应用容器都终止了, 并且RestartPolicy=Always, 则Pod会重启。

    1.8K31发布于 2019-11-22
  • 来自专栏痴者工良

    Istio 入门(五):访问控制和流量管理

    Pod,VirtualService 也是如此。 故障注入 故障注入是 Istio 模拟故障的一种手段,通过故障注入我们可以模拟一个服务出现故障的情况,然后从实际请求中看到出现故障时,整个微服务是否会乱套。 主要有两种类型的故障注入:延迟(delay)和异常(abort)。 延迟故障注入 延迟故障注入用于在应答之前向请求添加指定的延迟时间。这可以测试应用程序在网络延迟或服务响应缓慢的情况下的表现。 异常故障注入 异常故障注入用于模拟请求失败的情况,例如 HTTP 错误状态码或 gRPC 状态码。这可以帮助测试应用程序在遇到故障时的恢复能力。 value: 100.0 httpStatus: 503 也可以将延迟故障注入 和 异常故障注入两者放在一起同时使用。

    1.4K50编辑于 2023-07-24
  • 来自专栏FunTester

    故障测试——微软工程手册

    何时需要故障注入测试 需要解决的问题 如今的软件系统就像搭积木,一个小组件出问题,整个系统都有可能受到牵连。 故障注入 vs. 混沌工程 故障注入测试和混沌工程有相似之处,但侧重点不同。前者主要是验证特定的故障场景,后者则更像是“随性破坏”,故意制造混乱,观察系统能否自行恢复。 Kubernetes 下的故障注入 随着 Kubernetes 成为云时代的主流平台,如何在 K8s 上进行故障注入测试,成了一个重要课题。 Kubernetes 的动态调度、自动扩展等特性,意味着我们可以模拟更真实的故障场景,比如: 强制删除某个 Pod,观察是否有新 Pod 被调度补上。 故障注入测试的最终目标,就是打造这样的系统,让它在面对各种突发问题时,依然稳如泰山。

    37410编辑于 2025-03-12
  • 来自专栏腾讯专有云

    MariaDB在Oscar故障演练平台的测试实践

    2.1 接入流程 Step1 新建组件演练库: Step2 选择经验库(也就是故障注入类型,包含网络、资源、主机等方面): Step3 设置经验库参数,包含通用参数(执行等待时间以及持续时长)和经验库的特定参数 : Step4 选择数据源以及注入对象(MariaDB 为自定义-Pod 类型),可通过对象筛选条件的命名空间、标签以及 Pod 状态定位到指定的 Pod: Step5 配置监控指标: Step6 这一步比较关键,数据源选择自定义-POD(k8s 集群),产品选择其他。通过命名空间、标签以及状态筛选出需要注入故障的 MariaDB 的 Pod,点击下一步。 故障注入节点 ping 其他两个节点已经不通,说明网络分区故障注入成功。 Oscar 有着丰富的故障注入场景,目前支持主机、容器类总共33种演练经验库。从演练案例耗时来看,Oscar 耗时2分钟,chaosblade 耗时20分钟。

    87920编辑于 2022-12-10
领券