添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
无邪的橙子  ·  Converting Points ...·  5 天前    · 
捣蛋的硬盘  ·  同场活动 Co-Located ...·  2 周前    · 
调皮的凉面  ·  FTTH 2GE ...·  3 周前    · 
瘦瘦的木耳  ·  CGAL 6.0 - Polygon ...·  3 周前    · 
酒量大的青蛙  ·  Polygon Mesh Processing·  3 周前    · 
稳重的冰淇淋  ·  JavaScript ...·  7 月前    · 
呐喊的打火机  ·  Flutter/Dart release ...·  8 月前    · 
Skip to main content

模拟时间故障

TimeChaos 介绍

Chaos Mesh 提供的 TimeChaos 实验类型可用于模拟时间偏移的场景。本文档介绍如何创建 TimeChaos 实验以及相关的配置文件说明。

注意

TimeChaos 只影响 容器中 PID 命名空间的 PID 1 进程,以及 PID 1 的子进程。例如,通过 kubectl exec 启动的进程不会被影响。

你可以在 Chaos Dashboard 中创建实验,也可以使用 YAML 配置文件的方式创建实验。

使用 Chaos Dashboard 创建实验

打开 Chaos Dashboard 面板,单击实验页面中“ 新的实验 ”按钮创建实验:

在“ 选择目标 ”区域选择“ 时钟偏移 ”,然后填写选定的时钟和偏移量。

填写实验信息,指定实验范围以及计划的实验运行时间:

提交实验。

使用 YAML 方式创建实验

将实验配置写入到 YAML 配置文件中。本文档以 time-shift.yaml 文件为例,内容如下所示:

apiVersion: chaos-mesh.org/v1alpha1
kind: TimeChaos
metadata:
name: time-shift-example
namespace: chaos-mesh
spec:
mode: one
selector:
labelSelectors:
'app': 'app1'
timeOffset: '-10m100ns'

该实验配置会使指定 Pod 中进程的时间向前偏移 10 分钟 100 纳秒。

准备好配置文件后,使用 kubectl 创建实验,命令如下:

kubectl apply -f time-shift.yaml

以上 YAML 配置文件中的字段说明如下:

参数 类型 说明 默认值 是否必填 示例
timeOffset string 指定时间偏移的长度 -5m
clockIds []string 指定时间偏移作用的时钟,详见 clock_gettime 文档 ["CLOCK_REALTIME"] ["CLOCK_REALTIME","CLOCK_MONOTONIC"]
mode string 指定实验的运行方式,可选择的方式包括: one (表示随机选出一个符合条件的 Pod)、 all (表示选出所有符合条件的 Pod)、 fixed (表示选出指定数量且符合条件的 Pod)、 fixed-percent (表示选出占符合条件的 Pod 中指定百分比的 Pod)、 random-max-percent (表示选出占符合条件的 Pod 中不超过指定百分比的 Pod) one
value string 取决于 mode 的配置,为 mode 提供对应的参数。例如,当你将 mode 配置为 fixed-percent 时, value 用于指定 Pod 的百分比 1
containerNames []string 指定注入的容器名称 ["nginx"]
selector struct 指定注入故障的目标 Pod,详情请参考 定义实验范围