Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Sandbox] krkn #44

@psuriset

Description

@psuriset

Application contact emails

[email protected] , [email protected], [email protected]

Project Summary

Krkn is a chaos and resiliency testing tool for Kubernetes with a focus on evaluating performance under load and scale

Project Description

Krkn is a chaos and resiliency testing tool for Kubernetes with a focus on evaluating performance under load and scale. It injects deliberate failures into the clusters to check if it is resilient to turbulent conditions and cluster as well as the components under test undergo minimal performance degradation to meet the SLOs and SLAs.
In addition to performance and resiliency evaluation, health of the entire cluster is also checked as disruption of one component might have an impact on other components.
Methodology is captured as part of the Chaos Testing Guide: https://redhat-chaos.github.io/krkn/.

Screenshot 2023-06-12 at 2 10 39 PM

Org repo URL

https://github.com/redhat-chaos

Project repo URL

All repos under in this org (https://github.com/redhat-chaos):

Primary project is krkn (https://github.com/redhat-chaos/krkn) & rest of them belong to krkn ecosystem.

Additional repos

Website URL

https://github.com/redhat-chaos/krkn and https://redhat-chaos.github.io/krkn/

Roadmap

https://github.com/redhat-chaos/krkn/blob/main/ROADMAP.md

Roadmap context

The roadmap items are prioritized based on the requests and feedback from the community. Each of the items added to the roadmap are thoroughly evaluated, discussed before adding the support in the tool.

Contributing Guide

https://github.com/redhat-chaos/krkn/blob/main/docs/contribute.md

Code of Conduct (CoC)

https://github.com/redhat-chaos/krkn/blob/main/CODE_OF_CONDUCT.md

Adopters

STARTX: French consulting and training company delivering expertise to build private and public cloud using Open-Source solutions. Red Hat: Engineering teams use it to chaos test Kubernetes, OpenShift and services running on top of it in CI environments like Prow. IBM Research: Engineering teams use it to develop chaos pipelines in software products - AI Framework integration to expand the capabilities after opening enhancements in Krkn and reviewed by maintainer and contributor Krkn team.

Contributing or Sponsoring Org

Red Hat Inc.

Maintainers file

https://github.com/redhat-chaos/krkn/blob/main/MAINTAINERS.md

IP Policy

  • If the project is accepted, I agree the project will follow the CNCF IP Policy

Trademark and accounts

  • If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF

Why CNCF?

Our team firmly believes that Krkn is a valuable addition to the CNCF's impressive range of projects and could greatly benefit from support, oversight and direction that CNCF provides. The Krkn community would benefit from CNCF donation by allowing additional contributions and maintainers from the broader CNCF community. Krkn also provides features and capabilities that are not covered by other CNCF projects so the greater CNCF community would find Krkn’s adoption valuable as well.
In addition, Krkn being part of CNCF will help adopt good principles of governance and get guidance to build it into an incubation level project moving forward.

Benefit to the Landscape

We would like to share the tooling and methodology of evaluating performance under chaotic conditions with the community involved in improving the performance, resilience and reliability of Kubernetes and services running on top of Kubernetes. As part of this, also maintain a chaos testing guide to help users get started: https://redhat-chaos.github.io/krkn/.

This will help the ecosystem and community in cross-pollinating the areas of resilience/chaos and performance for Kubernetes.

Cloud Native 'Fit'

No response

Cloud Native 'Integration'

No response

Cloud Native Overlap

Krkn share similar interests interms of chaos engineering with Litmus and Chaos-mesh but differs in terms of methodology especially considering performance as the main factor in addition to resilience.

Krkn provides the following capabilities that are not covered by Litmus or Chaos-mesh:

  1. Designed keeping performance evaluation under chaotic conditions as the focus in addition to fault injection and recovery checks to make sure the component under test has minimal impact on the SLOs and SLAs.
  2. Validates health of the entire cluster for pass/fail of a scenario as impact on one of the components can potentially disrupt other components.
  3. Active work to support scenarios to run in parallel under load to mimic real world outages where multiple things can go wrong at once.
  4. Runs outside the cluster to make sure it doesn’t become a victim of its own chaos running inside the cluster and reports the right results.

Similar projects

https://github.com/litmuschaos/litmus
https://github.com/chaos-mesh/chaos-mesh

Product or Service to Project separation

Krkn is an 100% open source project with a focus on community and not a product. Currently it’s under redhat-chaos github organization but will be a separate repository if accepted for CNCF sandboxing.

Project presentations

Blog post on introduction to Kraken: https://www.openshift.com/blog/introduction-to-kraken-a-chaos-tool-for-openshift/kubernetes
Discussion and demo on how Kraken can be leveraged to ensure Kubernetes/OpenShift is reliable, performant and scalable: https://www.youtube.com/watch?v=s1PvupI5sD0&ab_channel=OpenShift
Blog post emphasizing the importance of making Chaos part of Performance and Scale runs to mimic the production environments: https://www.openshift.com/blog/making-chaos-part-of-kubernetes/openshift-performance-and-scalability-tests
Blog post on findings from Chaos test runs: https://cloud.redhat.com/blog/openshift/kubernetes-chaos-stories

Project champions

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    ✅ Done

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions