Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
chaos-operator — Operador de Kubernetes para inyectar experimentos de caos en cargas de trabajo nativas de la nube, automatizando las pruebas de resiliencia y el endurecimiento de cargas de trabajo mediante CRDs declarativas. | Kitploit
Herramientas/GitHubGitHub/litmuschaos/chaos-operator
Seguridad de Infraestructura en la NubeSeguridad en la NubeDevSecOpsIngeniería del Caos
GitHublitmuschaos/chaos-operator

chaos-operator

Operador de Kubernetes para inyectar experimentos de caos en cargas de trabajo nativas de la nube, automatizando las pruebas de resiliencia y el endurecimiento de cargas de trabajo mediante CRDs declarativas.

Ver Repositorio
157106hace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Litmus chaos-operator para inyectar experimentos de caos en Kubernetes

Slack Channel GitHub Workflow Docker Pulls GitHub issues Twitter Follow Codacy Badge Go Report Card CII Best Practices FOSSA Status codecov YouTube Channel

El operador de caos de Litmus es utilizado por desarrolladores de aplicaciones Kubernetes y SREs para inyectar caos en las aplicaciones y en la infraestructura Kubernetes de forma gestionada. Su objetivo es hacer que el proceso de validación y endurecimiento de las cargas de trabajo de aplicaciones en Kubernetes sea fácil mediante la automatización de la ejecución de experimentos de caos. Un flujo de trabajo de inyección de caos de ejemplo podría ser tan simple como:

  • Instalar los componentes de infraestructura de Litmus (RBAC, CRDs), el Operador y los paquetes de recursos personalizados de Experimentos mediante el manifiesto del operador
  • Anotar la aplicación bajo prueba (AUT), habilitándola para el caos
  • Crear un recurso personalizado ChaosEngine vinculado a la AUT, que describa el experimento que se va a ejecutar

Los beneficios proporcionados por el Chaos Operator incluyen:

  • Especificación estandarizada de experimentos de caos
  • Paquetes de caos categorizados para casos sin estado / con estado / específicos de proveedor
  • Resiliencia de ejecución de pruebas
  • Capacidad de ejecutar el caos como un servicio en segundo plano basado en anotaciones

¿Qué es un operador de caos y cómo está construido?

El Operador de Caos es un Operador de Kubernetes, que no son más que controladores personalizados con acceso directo a la API de Kubernetes que pueden gestionar el ciclo de vida de ciertos recursos o aplicaciones, intentando siempre asegurar que el recurso se encuentre en el "estado deseado". La lógica que garantiza esto se denomina comúnmente función "reconcile".

El Operador de Caos está construido utilizando el popular framework Operator-SDK, que proporciona soporte de arranque para nuevos proyectos de operadores, permitiendo a los equipos centrarse en la lógica de negocio/operativa.

El Operador de Caos de Litmus ayuda a reconciliar el estado del ChaosEngine, un recurso personalizado que contiene la intención de caos especificada por un desarrollador/ingeniero devops sobre un despliegue Kubernetes específico sin estado o con estado. El operador realiza acciones específicas ante el CRUD del ChaosEngine, su recurso principal. El operador también define un recurso secundario (el pod runner del engine), que es creado y gestionado por él para implementar las funciones de reconciliación.

¿Qué es un chaos engine?

El ChaosEngine es el esquema central que define el flujo de trabajo de caos para una aplicación determinada. Actualmente, define lo siguiente:

  • Información de la aplicación (namespace, labels, kind) de las aplicaciones principales (AUT) y auxiliares (dependientes)
  • ServiceAccount utilizado para la ejecución del experimento
  • Indicador (flag) para activar/desactivar las comprobaciones de anotaciones de caos en las aplicaciones
  • Experimento de caos que se ejecutará en la aplicación
  • Atributos de los experimentos (anula los valores predeterminados especificados en los CR de experimentos)
  • Indicador (flag) para conservar/limpiar los recursos de caos después de la ejecución del experimento

El ChaosEngine se referencia como el propietario del recurso secundario (de reconciliación), y la deletePropagation de Kubernetes asegura que estos también se eliminen al borrar el CR del ChaosEngine.

Aquí hay un ejemplo de ChaosEngineSpec como referencia: https://v1-docs.litmuschaos.io/docs/getstarted/#prepare-chaosengine

¿Qué es un litmus chaos chart y cómo puedo usarlo?

Los Litmus Chaos Charts se utilizan para instalar "Paquetes de Experimentos de Caos" y se categorizan según la naturaleza de los experimentos (caos general de Kubernetes, caos específico de proveedor/vendedor - como OpenEBS o caos específico de aplicación, por ejemplo NuoDB). Consisten en recursos personalizados que contienen parámetros de caos (prueba) de bajo nivel que el operador consulta para ejecutar los experimentos. Los fields de spec.definition y sus correspondientes values se utilizan para construir el artefacto de ejecución final que ejecuta el experimento de caos (normalmente, el litmusbook, que es un recurso de trabajo de K8s). También define los permisos necesarios para ejecutar el experimento.

Aquí hay un ejemplo de ChaosEngineSpec como referencia:

root@kitploit:~
apiVersion: litmuschaos.io/v1alpha1
description:
  message: |
    Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
  name: pod-delete
  labels:
    name: pod-delete
    app.kubernetes.io/part-of: litmus
    app.kubernetes.io/component: chaosexperiment
    app.kubernetes.io/version: latest
spec:
  definition:
    scope: Namespaced
    permissions:
      - apiGroups:
          - ""
          - "apps"
          - "batch"
          - "litmuschaos.io"
        resources:
          - "deployments"
          - "jobs"
          - "pods"
          - "configmaps"
          - "chaosengines"
          - "chaosexperiments"
          - "chaosresults"
        verbs:
          - "create"
          - "list"
          - "get"
          - "patch"
          - "update"
          - "delete"
    image: "litmuschaos/go-runner:latest"
    imagePullPolicy: Always
    args:
    - -c
    - ./experiments -name pod-delete
    command:
    - /bin/bash
    env:

    - name: TOTAL_CHAOS_DURATION
      value: '15'

    # Period to wait before/after injection of chaos in sec
    - name: RAMP_TIME
      value: ''

    - name: FORCE
      value: 'true'

    - name: CHAOS_INTERVAL
      value: '5'

    ## percentage of total pods to target
    - name: PODS_AFFECTED_PERC
      value: ''

    - name: LIB
      value: 'litmus'    

    - name: TARGET_PODS
      value: ''

    ## it defines the sequence of chaos execution for multiple target pods
    ## supported values: serial, parallel
    - name: SEQUENCE
      value: 'parallel'
    labels:
      name: pod-delete
      app.kubernetes.io/part-of: litmus
      app.kubernetes.io/component: experiment-job
      app.kubernetes.io/version: latest

¿Cómo empezar?

Consulte la documentación de LitmusChaos litmus docs

¿Cómo contribuyo?

Puedes contribuir reportando problemas, mejorando la documentación, contribuyendo al framework central y a las herramientas, etc.

Dirígete a la guía de contribución

Licencia

FOSSA Status

Descargar herramienta