معرفی شرکت ها


chaos-mesh-1.2.9


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

A client to create experiments in ChaosMesh
ویژگی مقدار
سیستم عامل -
نام فایل chaos-mesh-1.2.9
نام chaos-mesh
نسخه کتابخانه 1.2.9
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Vishrant Gupta
ایمیل نویسنده vishrant.gupta@gmail.com
آدرس صفحه اصلی https://github.com/vishrantgupta/chaos-mesh
آدرس اینترنتی https://pypi.org/project/chaos-mesh/
مجوز -
# Chaos Mesh Client ## Introduction Chaos Mesh is an open source cloud-native Chaos Engineering platform that allows you to simulate various faults and orchestrate fault scenarios in your kubernetes cluster. This client is written in Python and provides a single point of entry to create and manage experiments in Chaos Mesh. ## Getting Started To start using Chaos Mesh, please follow the installation steps in the [documentation](https://chaos-mesh.org/docs/). To create a Chaos Mesh client, you can use the following code: ```python from chaosmesh.client import Client, Experiment from chaosmesh.k8s.selector import Selector # creating the ChaosMesh client client = Client(version="v1alpha1") # target pods selector; by labelSector or by pods in specified namespaces selector = Selector(labelSelectors={"app": "filebeat"}, pods=None, namespaces=None) ``` ## Supported API Version - `chaos-mesh.org/v1alpha1` ## Experiment Types Chaos Mesh supports various types of experiments, including Pod faults, stress tests, JVM faults, and Host faults. ### Pod Faults - Pod failure - Pod kill - Container kill ### Stress Tests - CPU - Memory ### JVM Faults - GC - Exception ### Host Faults - CPU - Memory ### Host Disk Fault - Read payload - Write payload - Fill ### Network Attack - Partition - Bandwidth ## Experiment Examples Here are some examples of how you can create experiments in Chaos Mesh: ### Pod Failure Experiment ```python # name of the experiment exp_name = str(uuid.uuid4()) # starting up the pod failure experiment client.start_experiment(Experiment.POD_FAILURE, namespace="default", name=exp_name, selector=selector) ``` ### Pod Kill Experiment ```python exp_name = str(uuid.uuid4()) # starting up the pod kill experiment client.start_experiment(Experiment.POD_KILL, namespace="default", name=exp_name, selector=selector) ``` ### Container Kill Experiment ``` exp_name = str(uuid.uuid4()) # starting up the pod kill experiment client.start_experiment(Experiment.CONTAINER_KILL, namespace="default", name=exp_name, selector=selector, container_names=['main']) ``` ### CPU Stress Test Experiment ```python exp_name = str(uuid.uuid4()) # starting up the pod kill experiment client.start_experiment(Experiment.POD_STRESS_CPU, namespace="default", name=exp_name, selector=selector, container_names=['main']) ``` ### Memory Stress Test Experiment ```python exp_name = str(uuid.uuid4()) # starting up the pod kill experiment client.start_experiment(Experiment.POD_STRESS_MEMORY, namespace="default", name=exp_name, selector=selector, container_names=['main']) ``` ### GC Experiment ```python # name of the experiment exp_name = str(uuid.uuid4()) client.start_experiment(Experiment.GC, namespace="default", name=exp_name, selector=selector, port=8080) ``` ### Exception Experiment ```python exp_name = str(uuid.uuid4()) client.start_experiment(Experiment.RAISE_EXCEPTION, namespace="default", name=exp_name, selector=select ``` ### Host CPU stress ```python exp_name = str(uuid.uuid4()) # starting up the host cpu stress experiment client.start_experiment(Experiment.HOST_STRESS_CPU, namespace="default", name=exp_name, address=["10.225.66.224", "10.225.67.213", "10.225.66.231", "10.225.66.138", "10.225.66.192", "10.225.67.52", "10.225.67.103"], load=1000) ``` ### Host Memory stress ```python exp_name = str(uuid.uuid4()) # starting up the host memory stress experiment client.start_experiment(Experiment.HOST_STRESS_MEMORY, namespace="default", name=exp_name, address=["10.225.66.224", "10.225.67.213", "10.225.66.231", "10.225.66.138", "10.225.66.192", "10.225.67.52", "10.225.67.103"], size="30GB") ``` ### Host Disk Fault Read payload ```python exp_name = "disk-fault-read-payload-" + random.randint(0, 1000000).__str__() # starting up the read payload experiment client.start_experiment(Experiment.HOST_READ_PAYLOAD, namespace="default", name=exp_name, selector=selector, address=["address"], size="1024K", path="/", payload_process_num=1) ``` ### Host Disk Fault Write payload ```python exp_name = "disk-fault-write-payload-" + random.randint(0, 1000000).__str__() # starting up the write payload experiment client.start_experiment(Experiment.HOST_WRITE_PAYLOAD, namespace="default", name=exp_name, selector=selector, address=["address"], size="1024K", path="/", payload_process_num=1) ``` ### Host Disk Fill ```python exp_name = "disk-fault-fill-" + random.randint(0, 1000000).__str__() # starting up the disk fill experiment client.start_experiment(Experiment.HOST_DISK_FILL, namespace="default", name=exp_name, selector=selector, address=["address"], size="1024K", path="/", fill_by_fallocate=True) ``` ### Network Partition ```python exp_name = "network-partition-" + random.randint(0, 1000000).__str__() # starting up the network partition experiment client.start_experiment(Experiment.NETWORK_PARTITION, namespace="default", name=exp_name, selector=selector, external_targets=["target"], direction="both") ``` ### Network Bandwidth ```python exp_name = "network-bandwidth-" + random.randint(0, 1000000).__str__() # starting up the network bandwidth experiment client.start_experiment(Experiment.NETWORK_BANDWIDTH, namespace="default", name=exp_name, selector=selector, rate="1bps", buffer=1, limit=1, direction="to", external_targets=["target"]) ``` ## Pause an experiment In order to pause an experiment you can use the following command ```python # pausing the experiment client.pause_experiment(Experiment.POD_STRESS_MEMORY, namespace="default", name=exp_name) ``` ## Delete the experiment The experiment can be removed from the k8s cluster using the following command ```python client.delete_experiment(Experiment.POD_STRESS_MEMORY, namespace="default", name=exp_name) ``` ## Schedule experiments Schedule an experiment using the following command ```python client.schedule_experiment(Experiment.POD_STRESS_CPU, namespace="default", name=exp_name, cron_schedule="*/2 * * * *", selector=selector, container_names=['main']) ``` ## Logging Initializing the ChaosMesh logger ```python import logging, sys logging.getLogger("chaosmesh") logging.basicConfig(stream=sys.stdout, level=logging.DEBUG) ```


نیازمندی

مقدار نام
==0.2.0 auto-mix-prep
==21.7.0 kubernetes
==0.3.2 polling
==67.2.0 setuptools


نحوه نصب


نصب پکیج whl chaos-mesh-1.2.9:

    pip install chaos-mesh-1.2.9.whl


نصب پکیج tar.gz chaos-mesh-1.2.9:

    pip install chaos-mesh-1.2.9.tar.gz