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

    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

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

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

    通用实验,包括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。 开源许可证 Apache-2.0 license GitHub点赞数 3.8k 最近发布日期与版本 2023.07: 3.0.0-beta10 所属项目 CNCF云原生计算基金会项目

    67410编辑于 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-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。 开源许可证Apache-2.0 licenseGitHub点赞数3.8k最近发布日期与版本2023.07: 3.0.0-beta10所属项目CNCF云原生计算基金会项目* * *你还知道有什么好用的开源故障注入工具

    1.1K70编辑于 2023-08-15
  • 来自专栏君赏技术博客

    Xcode10发布 Pod lint错误

    我猜想是不是基于 Xcode10最新的编译系统导致的,幸亏保留了 Xcode9.4.1的包,安装切换为 Xcode9.4.1.验证成功 解决方法 基于 Xcode10以下进行验证和发布

    70440发布于 2018-12-25
  • 来自专栏k8s技术圈

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

    举个例子,比如一次演练的故障效果预期是某个服务的请求成功量下跌50%,并且预期对应的防御平 台能5分钟内发现并且10分钟内恢复,执行手段是通过CPU打满实现。 Pending Pod堆积、Completed Job堆积等;还有Deployment、Node、Pod等云原生资源实例异常比如Deployment实例副本扩缩容篡改、Pod实例Finalizer注入等 度量能力 monitor:对监控项的值进行预期判断,比如某个机器的 cpu 使用率监控值是否大于90%,默认支持 prometheus pod:对 pod 相关数据进行预期判断,比如某个应用的 pod && python -m SimpleHTTPServer 8080 > server.log 2>&1 & curl 127.0.0.1:8080 # 创建一个实验,给lo网卡注入2s网络延迟,10 分钟后自动恢复 chaosmetad inject network delay -i lo -l 2s --uid test-fg3g4 -t 10m # 查看实验信息,测试效果 chaosmetad

    2.5K10编辑于 2023-11-27
  • 来自专栏腾讯云混沌工程团队

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

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

    1.2K10编辑于 2024-03-15
  • 故障注入在软件测试中实际应用

    一、为什么需要故障注入? 基础设施可靠性测试K8s/云平台故障恢复能力 节点宕机、Pod被杀、存储卷丢失 3. 数据层容灾演练验证DB/缓存故障时的数据一致性 主从切换、Redis OOM、慢查询 4. 注入支付服务接口延迟(目标:payment-service Pod)blade create k8s pod-network delay \ --names payment-pod-xxx \ -- CPU 100% 30秒,模拟宕机# 同时运行SysBench压测sysbench oltp_write_only \ --mysql-host=proxy.xxx.com \ --threads=10 更新预案,沉淀知识└───────────────────────────┘六、关键成功要素 & 避坑指南✅ 成功要素:先小范围试点:从非核心服务开始,避免生产事故明确终止条件:设置自动回滚机制(如超时10

    1.2K10编辑于 2025-09-17
  • 云顾问混沌演练平台:如何精准实现容器负载类故障注入

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

    51321编辑于 2025-05-20
  • 来自专栏devops

    【架构实战】混沌工程:让系统更健壮的实践

    一、一次Redis宕机让我们损失了100万2019年双十一晚上10点,Redis集群突然挂了一条哨兵,整个系统瞬间雪崩。订单系统请求Redis失败,全部涌向数据库,数据库被打挂,然后是更多的失败。 从那以后,我们开始研究混沌工程,开始在生产环境做故障注入演练。 ───────────────────────────────────────────────────────┘三、故障注入工具3.1ChaosMesh展开代码语言:YAMLAI代码解释#ChaosMesh-Pod 故障注入apiVersion:chaos-mesh.org/v1alpha1kind:PodChaosmetadata:name:pod-kill-examplenamespace:chaos-testingspec =null){entry.exit();}}}/***模拟服务不可用*/publicvoidexperimentUnavailable(){//使用Sentinel模拟异常try{//模拟10%概率失败

    13910编辑于 2026-06-20
  • 来自专栏猫头虎博客专区

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

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

    68510编辑于 2024-04-09
  • 来自专栏腾讯云智能顾问

    腾讯云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.3K81编辑于 2024-03-11
  • 来自专栏腾讯专有云

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

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

    97920编辑于 2022-12-10
  • 来自专栏积跬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共享实现机制 共享网络 容器本身之间相互隔离

    97311发布于 2020-12-18
  • 来自专栏腾讯云混沌工程团队

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

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

    70810编辑于 2024-03-15
  • 来自专栏测试开发技术

    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 控制台或命令行工具创建故障注入实验,选择故障类型、目标应用程序、注入时间等参数。

    1.2K11编辑于 2024-08-27
  • 来自专栏网络安全技术点滴分享

    Chaos Monkey - 生产环境随机故障注入工具

    Chaos Monkey 随机终止生产环境中运行的虚拟机实例和容器。通过让工程师更频繁地面对故障,激励他们构建更具弹性的服务。

    19710编辑于 2026-04-29
  • 来自专栏CNCF

    使用服务网格接口和Linkerd进行故障注入

    传统上,你需要在服务代码中添加某种类型的故障注入库,以便进行应用程序故障注入。值得庆幸的是,服务网格为我们提供了一种注入应用程序故障的方法,而无需修改或重新构建我们的服务。 当这些故障以服务崩溃的形式出现时,Kubernetes通过创建新的pod来替换已经崩溃的pod,在治愈这些故障方面做得非常好。然而,失败也可能更加微妙,导致服务返回更高的错误率。 这允许我们以一种与实现无关、跨服务网格工作的方式进行故障注入。 为此,我们首先部署一个只返回错误的新服务。 例如,通过将服务流量的10%发送给错误服务,我们向该服务注入了一个人工的10%故障率。 让我们来看一个使用Linkerd作为服务网格实现的实例。 service: error-injector weight: 100m 和部署它: > kubectl apply -f error-split.yaml 我们现在可以看到从webapp调用到书籍10%

    1.6K20发布于 2019-12-04
  • DeepSeek 3FS源码分析(1) 故障注入

    模拟故障 本文 DeepSeek 3FS 测试用例举例说明 我也也没看太明白 就是FAULT_INJECTION_SET(10, 5);宏函数搞定 一、设计原理 维度 Ceph 方式 3FS 方式 配置方式 • 3FS 的故障注入框架基于 概率触发 + 作用域管理 的设计,通过 folly::RequestContext 实现跨协程的配置传递。 cluster = this->createMockCluster(); auto &meta = cluster.meta().getOperator(); FAULT_INJECTION_SET(10 FAULT_INJECTION_SET(10, 5) 是一个用于故障注入测试的宏,它会在当前代码作用域内设置故障注入参数: FaultInjection.h:16 • 第一个参数 (10): 表示故障注入的概率为 10% FaultInjection.h:13 • 第二个参数 (5): 表示最多注入 5 次故障 FaultInjection.h:14 #define FAULT_INJECTION_SET(prob

    39710编辑于 2025-11-20
  • 来自专栏开源部署

    Pod 介绍

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

    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 valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: POD_NAME httpGet: path: /healthz port: 8080 scheme: HTTP periodSeconds: 10 httpGet: path: /healthz port: 8080 scheme: HTTP periodSeconds: 10

    53330编辑于 2022-08-27
领券