cilium插件测试_[译] 基于 Envoy、Cilium 和 eBPF 实现透明的混沌测试(2019)

这篇博客介绍了如何使用Envoy、Cilium和eBPF进行透明混沌测试,这是一种在生产环境中进行的故障注入测试方法,以检查系统在异常情况下的容错能力。通过Go Extension定制Envoy,实现应用层的故障模拟,而Cilium和eBPF则确保测试的透明性。博主分享了混沌测试的背景、目的、故障注入的概念,并通过一个服务A到服务B的通信示例,详细阐述了如何配置和运行这套测试系统。
摘要由CSDN通过智能技术生成

[译] 基于 Envoy、Cilium 和 eBPF 实现透明的混沌测试(2019)

Published at 2019-06-02 | Last Update 2019-06-04

译者序

本文内容来自 2019 年的一个技术分享 Transparent Chaos Testing with Envoy, Cilium

and eBPF

,演讲嘉宾是 Cilium 项目的创始人和核心开发者,演讲为英文。

本文翻译了其中的技术性内容,少量非技术内容(例如开场白)已略过。如有疑

问,请观看 原视频 或

PPT。

以下是译文。

在座有些人可能会觉得奇怪,以前我的分享都是关于网络、BPF、安全等主题,为什么今

天变成了 混沌测试 (chaos testing)?直接原因是:我们当前确实在做这件事情。

如果我们自己开发的工具能用来做混沌测试,那为什么不试试看呢?所以今天给大家分享

的就是我们如何利用三个工具:Envoy、Cilium 和 eBPF 来做混沌测试的。

那么这三者是如何组成一个系统的?如何基于这个系统来做混沌测试?到底什么是透

明的混沌测试(transparent chaos testing)?这些都是我们今天要深入探讨的主题。

我们的透明混沌测试基于如下技术栈:

Envoy Go Extensions

Envoy

Cilium

eBPF

首先,我们会用到 Envoy 的 Go Extension(Go 语言扩展)。如果你还没听说过

Envoy,那应该尽快去了解一下。简单来说,Go Extension 提供了一种让 Go 编写的程

序和 Envoy 本身一起运行的能力。这使得开发者可以扩展和定制化 Envoy,而且使

用的是 Go 而非 C++ (Envoy 本身用 C++编写)。Envoy 还提供了其他语言扩展,不限

于 Go。

其次,我们会用到 Envoy (本身)。稍后我会对 Envoy 做一个快速介绍。

其次,用到 Cilium。运行在 Envoy 的下面,作为 CNI plugin 和 Load Balancing plugin。

最后,eBPF,这是一项内核里的强大技术,允许我们透明、高效地做类似这样的事情。

接下来会对这几项内容深入展开,介绍我们混沌测试的技术栈和其中的各个组件。

什么是混沌测试(chaos testing)?

如果搜索 Chao Testing,你可能首先会搜到 Chaos Engineering (混沌工程 )的定义:

Chaos engineering is the discipline of experimenting on a software system in

production in order to build confidence in the system’s capability to

withstand turbulent and unexpected conditions. [1]

(混沌工程是一门在生产环境对系统进行实验、测试系统在混乱或非预期情

况下的容错能力、以构建对系统容错能力信心的学科。)

Chaos Testing 就是从 Chaos Engineering 发展出来的一个分支,而 Chaos Engineering

是从 Netflix 的一个叫 Chaos Monkey 的项目发展而来的。从定义来说,混沌工程是要在

生产环境进行的。我不知道多少人理解这句话的分量,也不清楚有多少人真正在生产环境

做过这种测试。但总体来说,它意味着主动向基础设施引入混沌(chaos),以更好地了解

故障模式(failure modes)。

今天我们主要关注的是 故障注入(fault injection)。故障注入是混沌测试的一个子

集,其基本原理就是向正常运行的系统主动注入故障,以模拟服务中断(outage)或服务故

障(service failure)等等。

故障注入非常有用,因为它可以测试系统在特定情况下是如何运行的࿰

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值