c
c
chaosblade-help-zh-CN
Search…
c
c
chaosblade-help-zh-CN
README
blade
blade create
blade create cpu load
blade create disk burn
blade create disk fill
blade create mem load
blade create network delay
blade create network dns
blade create network drop
blade create network loss
blade create network corrupt
blade create network reorder
blade create network duplicate
blade create network occupy
blade create process kill
blade create process stop
blade create script delay
blade create script exit
blade create docker
blade create k8s
blade create k8s node-cpu
blade create k8s node-network
blade create k8s node-process
blade create k8s node-disk
blade create k8s pod-pod
blade create k8s pod-IO
blade create k8s pod-network
blade create k8s container-cpu
blade create k8s container-network
blade create k8s container-process
blade create k8s container-container
blade prepare jvm
blade create jvm
blade create servlet
blade server
blade status
blade version
Powered By
GitBook
blade create k8s container-container
介绍
Kubernetes 下 container 资源自身的场景,比如删容器,需要注意,执行容器场景,必须先确定 Pod,所以需要配置 Pod 相关参数
命令
支持场景命令如下
blade create k8s container-container remove
删除容器
参数
1
--container-ids string 容器ID,支持配置多个
2
--container-names string 容器名称,支持配置多个
3
--docker-endpoint string Docker server 地址,默认为本地的 /var/run/docker.sock
4
--namespace string Pod 所属的命名空间,只能填写一个值,必填项
5
--evict-count string 限制实验生效的数量
6
--evict-percent string 限制实验生效数量的百分比,不包含 %
7
--labels string Pod 资源标签,多个标签之前是或的关系
8
--names string Pod 资源名
9
--kubeconfig string kubeconfig 文件全路径(仅限使用 blade 命令调用时使用)
10
--waiting-time string 实验结果等待时间,默认为 20s,参数值要包含单位,例如 10s,1m
11
--force 是否强制删除
Copied!
案例
删除 default 命名空间下,Pod 名为 frontend-d89756ff7-szblb 下的 container id 是 072aa6bbf2e2e2 的容器
yaml 配置方式
1
apiVersion
:
chaosblade.io/v1alpha1
2
kind
:
ChaosBlade
3
metadata
:
4
name
:
remove
-
container
-
by
-
id
5
spec
:
6
experiments
:
7
-
scope
:
container
8
target
:
container
9
action
:
remove
10
desc
:
"remove container by id"
11
matchers
:
12
-
name
:
container
-
ids
13
value
:
[
"072aa6bbf2e2e2"
]
14
# pod name
15
-
name
:
names
16
value
:
[
"frontend-d89756ff7-szblb"
]
17
-
name
:
namespace
18
value
:
[
"default"
]
Copied!
保存为 yaml 文件,比如 remove_container_by_id.yaml,使用 kubectl 命令执行:
1
kubectl apply -f remove_container_by_id.yaml
Copied!
实验状态查询:
1
kubectl get blade remove-container-by-id -o json
Copied!
返回结果如下(省略了一部分):
1
{
2
"apiVersion"
:
"v1"
,
3
"items"
:
[
4
{
5
"apiVersion"
:
"chaosblade.io/v1alpha1"
,
6
"kind"
:
"ChaosBlade"
,
7
"metadata"
:
{
8
"finalizers"
:
[
9
"finalizer.chaosblade.io"
10
],
11
"generation"
:
1
,
12
"name"
:
"remove-container-by-id"
,
13
"resourceVersion"
:
"9429224"
,
14
"selfLink"
:
"/apis/chaosblade.io/v1alpha1/chaosblades/remove-container-by-id"
,
15
"uid"
:
"bb1482ea-ff76-11e9-8883-00163e0ad0b3"
16
},
17
"status"
:
{
18
"expStatuses"
:
[
19
{
20
"action"
:
"remove"
,
21
"resStatuses"
:
[
22
{
23
"id"
:
"f5bfa325da504cac"
,
24
"kind"
:
"container"
,
25
"name"
:
"php-redis"
,
26
"nodeName"
:
"cn-hangzhou.192.168.0.205"
,
27
"state"
:
"Success"
,
28
"success"
:
true
,
29
"uid"
:
"072aa6bbf2e2e286ec77b4b05440107b48aeebae6aea06e8e3a65b40e4f40326"
30
}
31
],
32
"scope"
:
"container"
,
33
"state"
:
"Success"
,
34
"success"
:
true
,
35
"target"
:
"container"
36
}
37
],
38
"phase"
:
"Running"
39
}
40
}
41
],
42
}
Copied!
执行前后,可以看到 Pod 内容器的变化:
执行以下命令停止实验:
1
kubectl delete -f remove_container_by_id.yaml
Copied!
或者直接删除 blade 资源:
1
kubectl delete blade remove-container-by-id
Copied!
删除容器后,执行销毁实验命令不会恢复容器,需要靠容器自身的管理拉起!
blade 执行方式
1
blade create k8s container-container remove --container-ids 060833967b0a37 --names frontend-d89756ff7-szblb --namespace default --kubeconfig config
Copied!
如果执行失败,会返回详细的错误信息;如果执行成功,会返回实验的 UID:
1
{"code":200,"success":true,"result":"17d7021c777b76e3"}
Copied!
可通过以下命令查询实验状态:
1
blade query k8s create 17d7021c777b76e3 --kubeconfig config
2
3
{"code":200,"success":true,"result":{"uid":"17d7021c777b76e3","success":true,"error":"","statuses":[{"id":"205515ad8fcc31da","uid":"060833967b0a3733d10f0e64d3639066b8b7fbcf371e0ace2401af150dbd9b12","name":"php-redis","state":"Success","kind":"container","success":true,"nodeName":"cn-hangzhou.192.168.0.205"}]}}
Copied!
销毁实验:
1
blade destroy 17d7021c777b76e3
Copied!
删除容器后,执行销毁实验命令不会恢复容器,需要靠容器自身的管理拉起!
常见问题
其他问题参考 [blade create k8s](blade create k8s.md) 常见问题
Previous
blade create k8s container-process
Next
blade prepare jvm
Last modified
8mo ago
Copy link
Contents
介绍
命令
参数
案例
常见问题