当前位置:网站首页>[chaosblade: node CPU load, node network delay, node network packet loss, node domain name access exception]
[chaosblade: node CPU load, node network delay, node network packet loss, node domain name access exception]
2022-07-07 08:59:00 【Fairy Xiao Xiaole】
node CPU load
The goal is : Specify a node , do CPU load 80% experiment
node_cpu_load.yaml Content :
apiVersion: chaosblade.io/v1alpha1
kind: ChaosBlade
metadata:
name: cpu-load
spec:
experiments:
- scope: node
target: cpu
action: fullload
desc: "increase node cpu load by names"
matchers:
- name: names
value:
- "docker20"
- name: cpu-percent
value:
- "80"
Select a node , modify node_cpu_load.yaml Medium names value .
Carry out orders :
$ kubectl apply -f node_cpu_load.yaml
Check the status
perform kubectl get blade cpu-load -o json command , Check the experiment status .
View results
Access to the Node node , Use top Command can see this node CPU Achieve the desired effect .
stop it
Carry out orders :kubectl delete -f node_cpu_load.yaml
Or delete blade resources :kubectl delete blade cpu-load
Node network related scenarios
Before operation , Please log in first node node , Use ifconfig Command to view network card information , Not all system default network card names are eth0
Node network delay scenario
The goal is : Specify the local of the node 32436 Port add 3000 Millisecond access delay , The delay time fluctuates up and down 1000 millisecond
Select a node , modify delay_node_network_by_names.yaml Medium names value
Yes docker20 Node local port 32436 Access packet loss rate 100%.
delay_node_network_by_names.yaml Content :
apiVersion: chaosblade.io/v1alpha1
kind: ChaosBlade
metadata:
name: delay-node-network-by-names
spec:
experiments:
- scope: node
target: network
action: delay
desc: "delay node network loss"
matchers:
- name: names
value: ["docker20"]
- name: interface
value: ["ens33"]
- name: local-port
value: ["32436"]
- name: time
value: ["3000"]
- name: offset
value: ["1000"]
Carry out orders :
$ kubectl apply -f delay_node_network_by_names.yaml
Check the status
perform kubectl get blade delay-node-network-by-names -o json command , Check the experiment status .
View results
# Access... From the experiment node Guestbook
$ time echo "" | telnet 192.168.1.129 32436
Trying 192.168.1.129...
Connected to 192.168.1.129.
Escape character is '^]'.
Connection closed by foreign host.
echo "" 0.00s user 0.00s system 35% cpu 0.003 total
telnet 192.168.1.129 32436 0.01s user 0.00s system 0% cpu 3.248 total
stop it
Carry out orders :kubectl delete -f delay_node_network_by_names.yaml
Or delete blade resources :kubectl delete blade delay-node-network-by-names
Node network packet loss scenario
The goal is : Of the specified node 32436 Packet loss rate of port injection 100% Failure of
Select a node , modify loss_node_network_by_names.yaml Medium names value .
loss_node_network_by_names.yaml Content :
apiVersion: chaosblade.io/v1alpha1
kind: ChaosBlade
metadata:
name: loss-node-network-by-names
spec:
experiments:
- scope: node
target: network
action: loss
desc: "node network loss"
matchers:
- name: names
value: ["docker20"]
- name: percent
value: ["100"]
- name: interface
value: ["ens33"]
- name: local-port
value: ["32436"]
Carry out orders , Start :
$ kubectl apply -f loss_node_network_by_names.yaml
Check the status
perform kubectl get blade loss-node-network-by-names -o json command , Check the status .
View results
The port is Guestbook nodeport The port of , No response when accessing the experimental port , However, the port that accesses the unopened experiment can be used normally :
# Access to the node IP
$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
docker20 Ready worker 3d16h v1.17.6 192.168.1.129 <none> Ubuntu 18.04.4 LTS 4.15.0-101-generic docker://19.3.11
kk Ready controlplane,etcd,worker 4d16h v1.17.6 192.168.4.210 <none> Ubuntu 18.04.4 LTS 4.15.0-101-generic docker://19.3.11
# Access from the operation node Guestbook - cannot access
$ telnet 192.168.1.129 32436
Trying 192.168.1.129...
telnet: connect to address 192.168.1.129: Operation timed out
telnet: Unable to connect to remote host
# Access from non operational nodes Guestbook - Normal visit
$ telnet 192.168.4.210 32436
Trying 192.168.4.210...
Connected to 192.168.4.210.
Escape character is '^]'.
You can also access address verification directly from the browser .
stop it
Carry out orders :kubectl delete -f loss_node_network_by_names.yaml
Or delete blade resources :kubectl delete blade loss-node-network-by-names
Node domain name access exception scenario
The goal is : This experiment is modified Node Of hosts, Tamper with domain name address mapping , simulation Pod Abnormal scenario of internal domain name access .
Select a node , modify dns_node_network_by_names.yaml Medium names value .
dns_node_network_by_names.yaml Content :
apiVersion: chaosblade.io/v1alpha1
kind: ChaosBlade
metadata:
name: dns-node-network-by-names
spec:
experiments:
- scope: node
target: network
action: dns
desc: "dns node network by names"
matchers:
- name: names
value:
- "docker20"
- name: domain
value: ["www.baidu.com"]
- name: ip
value: ["10.0.0.1"]
Carry out orders , Start the experiment :
$ kubectl apply -f dns_node_network_by_names.yaml
Check the experiment status
perform kubectl get blade dns-node-network-by-names -o json command , Check the experiment status .
View experiment results
# Enter the experiment node
$ ssh [email protected]
# Ping www.baidu.com
$ ping www.baidu.com
# No response
You can see Node Of /etc/hosts The document was modified , Simulated dns Analyze abnormal scenarios .
stop it
Carry out orders :kubectl delete -f dns_node_network_by_names.yaml
Or delete blade resources :kubectl delete blade dns-node-network-by-names
边栏推荐
- 徽商期货公司评级是多少?开户安全吗?我想开户,可以吗?
- Enterprise manager cannot connect to the database instance
- Calculation s=1+12+123+1234+12345 C language
- Digital triangle model acwing 1027 Grid access
- The longest ascending subsequence model acwing 1017 Strange thief Kidd's glider
- Alibaba P8 teaches you how to realize multithreading in automated testing? Hurry up and stop
- LED模拟与数字调光
- 面板显示技术:LCD与OLED
- OpenGL三维图形绘制
- Greenplum 6.x monitoring software setup
猜你喜欢
Greenplum6.x搭建_安装
C语言指针(中篇)
Greenplum 6.x build_ install
UnityShader入门精要个人总结--基础篇(一)
Unityshader introduction essentials personal summary -- Basic chapter (I)
【Istio Network CRD VirtualService、Envoyfilter】
NVIC中断优先级管理
Why choose cloud native database
Recommended by Alibaba P8, the test coverage tool - Jacobo is very practical
Oracle makes it clear at one time that a field with multiple separators will be split into multiple rows, and then multiple rows and columns. Multiple separators will be split into multiple rows, and
随机推荐
A bug using module project in idea
个人力扣题目分类记录
Skills that testers must know: Selenium's three waiting ways are interpreted clearly
QT charts use (rewrite qchartview to realize some custom functions)
数字三角形模型 AcWing 1027. 方格取数
Markdown editor Use of MD plug-in
徽商期货公司评级是多少?开户安全吗?我想开户,可以吗?
Greenplum 6.x reinitialization
Reflections on the way of enterprise IT architecture transformation (Alibaba's China Taiwan strategic thought and architecture practice)
[Nanjing University] - [software analysis] course learning notes (I) -introduction
Alibaba P8 teaches you how to realize multithreading in automated testing? Hurry up and stop
C language for calculating the product of two matrices
Data analysis methodology and previous experience summary 2 [notes dry goods]
LeetCode 736. Lisp 语法解析
2022-07-06 unity core 9 - 3D animation
Image segmentation in opencv
Count the number of words C language
Digital triangle model acwing 275 Pass a note
Shell script for changing the current folder and the file date under the folder
NCS Chengdu Xindian interview experience