This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Aurora Disruption Scenario

    This scenario blocks a pod’s outgoing MySQL and PostgreSQL traffic, effectively preventing it from connecting to any AWS Aurora SQL engine. It works just as well for standard MySQL and PostgreSQL connections too.

    This uses the pod network filter scenario but set with specific parameters to disrupt aurora

    How to Run Aurora Disruption Scenarios

    Choose your preferred method to run aurora disruption scenarios:

    This scenario blocks a pod’s outgoing MySQL and PostgreSQL traffic, effectively preventing it from connecting to any AWS Aurora SQL engine. It works just as well for standard MySQL and PostgreSQL connections too.

    Example scenario file: aurora_disruption.yml

    Scenario config
    - id: pod_network_filter
      wait_duration: 0
      test_duration: 60
      label_selector: ''
      service_account: ''
      namespace: 'default'
      instance_count: 1
      execution: parallel
      ingress: false
      egress: true
      target: node
      interfaces: []
      ports: [3306,5432]
      taints: []
      protocols:
        - tcp
      image: quay.io/krkn-chaos/krkn-network-chaos:latest
    

    How to Use Plugin Name

    Add the plugin name to the list of chaos_scenarios section in the config/config.yaml file

    kraken:
        kubeconfig_path: ~/.kube/config                     # Path to kubeconfig
        ..
        chaos_scenarios:
            - network_chaos_ng_scenarios:
                - scenarios/<scenario_name>.yaml
    

    Run

    python run_kraken.py --config config/config.yaml
    

    This scenario disrupts a targeted zone in the public cloud by blocking egress and ingress traffic to understand the impact on both Kubernetes/OpenShift platforms control plane as well as applications running on the worker nodes in that zone. More information is documented here

    Run

    podman run -v ~/.kube/config:/home/krkn/.kube/config:z -e TEST_DURATION="60" \
        -e INGRESS="false" -e EGRESS="true" -e PROTOCOLS="tcp" -e PORTS="3306,5432" \
        -e POD_NAME="target-pod" quay.io/krkn-chaos/krkn-hub:pod-network-filter
    

    To run aurora-disruption using krknctl, feel free to adjust the pod-name as needed for the name of the pod on your cluster

    krknctl run pod-network-filter \
     --chaos-duration 60 \
     --pod-name target-pod \
     --ingress false \
     --egress true \
     --protocols tcp \
     --ports 3306,5432