ISTIO故障注入的混沌工具箱扩展
chaostoolkit-istio的Python项目详细描述
ISTIO故障注入的混沌工具包扩展
这个项目是actions和probes的集合,作为 扩展到Chaos Toolkit。
安装
这个包需要python 3.5+
要从实验中使用,此包必须安装在python中 chaostoolkit已经存在的环境。
$ pip install -U chaostoolkit-istio
用法
要使用此包中的探测和操作,请将以下内容添加到 实验文件:
{"secrets":{"istio":{"KUBERNETES_CONTEXT":{"type":"env","key":"KUBERNETES_CONTEXT"}}},"method":[{"type":"action","name":"inject-fault-for-jason-only","provider":{"type":"python","module":"chaosistio.fault.actions","func":"add_delay_fault","secrets":["istio"],"arguments":{"virtual_service_name":"reviews","fixed_delay":"5s","percent":100,"routes":[{"destination":{"host":"reviews","subset":"v2"}}]}},"pauses":{"after":1}}],"rollbacks":[{"type":"action","name":"remove-fault-for-jason-only","provider":{"type":"python","module":"chaosistio.fault.actions","func":"remove_delay_fault","secrets":["istio"],"arguments":{"virtual_service_name":"reviews","routes":[{"destination":{"host":"reviews","subset":"v2"}}]}}}]}
就这样!
请查看代码以查看现有的探针和操作。
配置
这个扩展需要指定如何连接到kubernetes集群。这个
可以通过设置secrets
负载中的KUBERNETES_CONTEXT
来完成。
贡献
如果您希望为这个包贡献更多的功能,那么 欢迎这么做。请,派生此项目,按照 通常的PEP 8代码样式,附带测试并提交 回顾。
混沌工具包项目要求所有贡献者必须签署 Developer Certificate of Origin每次提交时,它们都希望合并 进入存储库的主分支。请确保你能遵守 提交PR前DCO的规则。
发展
如果您希望在此项目上进行开发,请确保安装开发 依赖关系。但首先,create a virtual environment然后安装 这些依赖。
$ pip install -r requirements-dev.txt -r requirements.txt
然后,将您的环境指向此目录:
$ python setup.py develop
现在,您可以编辑这些文件,您的
环境,即使在本地从chaos
命令运行时也是如此。
测试
要运行项目的测试,请执行以下操作:
$ pytest