混沌工具包kubernetes支持
chaostoolkit-kubernetes的Python项目详细描述
#混沌工具包kubernetes支持
[![构建状态](https://travis-ci.org/chaostoolkit/chaostoolkit-kubernetes.svg?branch=master)(https://travis ci.org/chaostoolkit/chaostoolkit kubernetes)
[![codecov](https://codecov.io/gh/chaostoolkit/chaostoolkit kubernetes/branch/master/graph/badge.svg)(https://codecov.io/gh/chaostoolkit/chaostoolkit kubernetes)
[![Python版本](https://img.shields.io/pypi/pyversions/chaostolkit kubernetes.svg)(https://www.python.org/)
[![下载](https://pepy.tech/badge/chaos toolkit kubernetes)(https://pepy.tech/project/chaostoolkit kubernetes)
python
[chaostoolkit][]已经存在的环境。
[chaostoolkit]:https://github.com/chaostoolkit/chaostoolkit
``````
$pip安装chaostoolkit kubernetes
```
在
实验文件中添加以下内容:
``json
{
“name”:“我们所有的微服务都应该是健康的”、
“type”:“probe”、
“tolerance”:“true”、
“provider”:{
“type”:“python”、
“module”:“chaosk8s.probes”、
“func”:“微服务可用且健康”,
“arguments”:{
“name”:“myapp”、
“ns”:“myns”
}
}
}、
{
“type”:“action”、
“name”:“terminate db pod”、
“provider”:{
“type”:“python”、
“module”:“chaosk8s.pod.actions”、
“func”:“terminate“pods”、
“arguments”:{
“标签选择器”:“app=my app”,
“名称模式”:“my app-[0-9]$”,
“rand”:true,
“ns”:“默认”
}
},
“暂停”:{
“after”:5
}
`````
就是这样!注意这个动作是如何随机地杀死一个荚的。< BR> > BR/>请探索现有的探针和动作的代码。
B./>发现< BR> > BR/>你可以使用混沌工具包来发现这个扩展的能力:
BR/>‘BR/>混沌发现FuxStokoKeKubNeNes——没有安装BR/> ` BR/> BR/>configuration
chaos工具包的这个扩展可以使用kubernetes配置
,该配置可以在`~/.kube/`'下的主目录中的通常位置找到,或者当
从kubernetes集群中的pod运行时,它将使用本地服务帐户。
在这种情况下,请确保将“chaostoolkit”in_pod环境变量
设置为“true”。
您还可以通过以下秘密传递凭据:
``json
{
“secrets”:{
“kubernetes”:{
“kubernetes”主机:“http://somehost”,
“kubernetes”api密钥“{
“type”:“env”,
“key”:“some_env_var”
}
}
}
}
}
````
>然后在探测或操作中:
``json
{
“name”:“我们所有的微服务都应该是健康的”、
“provider”:{
“type”:“python”、
“module”:“chaosk8s.probes”,
“func”:“microservice_available_and_healthy”,
“secrets”:[“kubernetes”],
“arguments”:{
“name”:“myapp”,
“ns”:“myns”
}
}
}
`````
您可以指定要使用的kubernetes上下文如下:
``json
“secrets”:{
“kubernetes”:{
“kubernetes_context”:“minikube”
}
}
}
````
>或通过环境:
``````
``````
$export kubernetes_context=minikube
````
使用:
```
$export kubeconfig=some/path/config
````
请分叉此项目,按照通常的[pep8][pep8]代码样式进行更改,添加适当的测试并提交pr以供
审阅。
[pep8]:https://pycodestyle.readthedocs.io/en/latest/
chaos toolkit项目要求所有参与者在每次提交时都必须签署
[开发人员原始证书][dco],他们希望将
合并到存储库的主分支中。请确保您在提交PR之前能够遵守DCO的规则。
[DCO]:https://github.com/probot/dco如何工作
[![构建状态](https://travis-ci.org/chaostoolkit/chaostoolkit-kubernetes.svg?branch=master)(https://travis ci.org/chaostoolkit/chaostoolkit kubernetes)
[![codecov](https://codecov.io/gh/chaostoolkit/chaostoolkit kubernetes/branch/master/graph/badge.svg)(https://codecov.io/gh/chaostoolkit/chaostoolkit kubernetes)
[![Python版本](https://img.shields.io/pypi/pyversions/chaostolkit kubernetes.svg)(https://www.python.org/)
[![下载](https://pepy.tech/badge/chaos toolkit kubernetes)(https://pepy.tech/project/chaostoolkit kubernetes)
python
[chaostoolkit][]已经存在的环境。
[chaostoolkit]:https://github.com/chaostoolkit/chaostoolkit
``````
$pip安装chaostoolkit kubernetes
```
在
实验文件中添加以下内容:
``json
{
“name”:“我们所有的微服务都应该是健康的”、
“type”:“probe”、
“tolerance”:“true”、
“provider”:{
“type”:“python”、
“module”:“chaosk8s.probes”、
“func”:“微服务可用且健康”,
“arguments”:{
“name”:“myapp”、
“ns”:“myns”
}
}
}、
{
“type”:“action”、
“name”:“terminate db pod”、
“provider”:{
“type”:“python”、
“module”:“chaosk8s.pod.actions”、
“func”:“terminate“pods”、
“arguments”:{
“标签选择器”:“app=my app”,
“名称模式”:“my app-[0-9]$”,
“rand”:true,
“ns”:“默认”
}
},
“暂停”:{
“after”:5
}
`````
就是这样!注意这个动作是如何随机地杀死一个荚的。< BR> > BR/>请探索现有的探针和动作的代码。
B./>发现< BR> > BR/>你可以使用混沌工具包来发现这个扩展的能力:
BR/>‘BR/>混沌发现FuxStokoKeKubNeNes——没有安装BR/> ` BR/> BR/>configuration
chaos工具包的这个扩展可以使用kubernetes配置
,该配置可以在`~/.kube/`'下的主目录中的通常位置找到,或者当
从kubernetes集群中的pod运行时,它将使用本地服务帐户。
在这种情况下,请确保将“chaostoolkit”in_pod环境变量
设置为“true”。
您还可以通过以下秘密传递凭据:
``json
{
“secrets”:{
“kubernetes”:{
“kubernetes”主机:“http://somehost”,
“kubernetes”api密钥“{
“type”:“env”,
“key”:“some_env_var”
}
}
}
}
}
````
>然后在探测或操作中:
``json
{
“name”:“我们所有的微服务都应该是健康的”、
“provider”:{
“type”:“python”、
“module”:“chaosk8s.probes”,
“func”:“microservice_available_and_healthy”,
“secrets”:[“kubernetes”],
“arguments”:{
“name”:“myapp”,
“ns”:“myns”
}
}
}
`````
您可以指定要使用的kubernetes上下文如下:
``json
“secrets”:{
“kubernetes”:{
“kubernetes_context”:“minikube”
}
}
}
````
>或通过环境:
``````
``````
$export kubernetes_context=minikube
````
使用:
```
$export kubeconfig=some/path/config
````
请分叉此项目,按照通常的[pep8][pep8]代码样式进行更改,添加适当的测试并提交pr以供
审阅。
[pep8]:https://pycodestyle.readthedocs.io/en/latest/
chaos toolkit项目要求所有参与者在每次提交时都必须签署
[开发人员原始证书][dco],他们希望将
合并到存储库的主分支中。请确保您在提交PR之前能够遵守DCO的规则。
[DCO]:https://github.com/probot/dco如何工作