0


Acto: Kubernetes Operators 和 Controllers 的端到端测试工具

Acto: Kubernetes Operators 和 Controllers 的端到端测试工具

acto Push-Button End-to-End Testing of Kubernetes Operators/Controllers 项目地址: https://gitcode.com/gh_mirrors/ac/acto

项目介绍

Acto 是一个完全自动化的端到端测试工具,专门用于 Kubernetes Operators 和 Controllers。Acto 采用状态中心的方法来测试目标 Operator 及其管理的系统。它持续指示 Operator 将系统协调到不同的状态,并检查系统是否达到这些期望状态。Acto 将操作建模为状态转换,并系统地实现状态转换序列,以在不同场景中执行支持的操作。Acto 的自动化或检查器检查系统的状态是否符合预期。Acto 是完全自动化的,只需要 Operator 的部署脚本作为输入。测试在本地 Kubernetes 环境中进行,支持 Kind、Minikube 和 K3d 等后端。

项目快速启动

前提条件

在开始使用 Acto 之前,请确保您的系统满足以下要求:

  • Docker
  • Golang
  • Kubernetes Kind 集群
  • Python >= 3.10 及依赖项
  • kubectl(可选)
  • Helm(可选)

安装依赖

首先,安装 Python 依赖项:

python3 -m pip install -r requirements.txt

如果您在开发环境中使用 Acto,还需要安装开发依赖项:

python3 -m pip install -r requirements-dev.txt

构建 Acto

运行以下命令来构建 Acto 的共享对象:

make

运行示例测试

要运行一个示例测试,请执行以下命令:

python3 -m acto.reproduce --reproduce-dir test/e2e_tests/test_data/cassop-330/trial-demo --config data/cass-operator/config.json

此命令将使用 Kind 启动一个本地 Kubernetes 集群,并部署 cass-operator。Acto 将自动生成 CR 序列来触发一个已知的 bug,并检测系统中的不一致性。

应用案例和最佳实践

应用案例

Acto 已被应用于 11 个流行的 Kubernetes Operator,发现了 50 多个新 bug(其中许多已被确认,28 个已修复)。Acto 的自动化测试能力显著提高了 Kubernetes Operator 的可靠性。

最佳实践

  1. 自动化测试:使用 Acto 进行自动化端到端测试,确保 Operator 在不同状态下的行为符合预期。
  2. 持续集成:将 Acto 集成到 CI/CD 管道中,每次代码提交后自动运行测试,确保代码质量。
  3. Bug 修复:利用 Acto 发现的 bug 报告,快速定位并修复 Operator 中的问题。

典型生态项目

Kubernetes Operators

  • Prometheus Operator:用于管理 Prometheus 监控系统的 Operator。
  • Elasticsearch Operator:用于管理 Elasticsearch 集群的 Operator。
  • Cassandra Operator:用于管理 Cassandra 数据库集群的 Operator。

Kubernetes Controllers

  • Kubebuilder:用于构建 Kubernetes Controllers 的框架。
  • Operator SDK:用于构建 Kubernetes Operators 的 SDK。

通过 Acto 的自动化测试,这些生态项目可以显著提高其稳定性和可靠性,确保在生产环境中的高效运行。

acto Push-Button End-to-End Testing of Kubernetes Operators/Controllers 项目地址: https://gitcode.com/gh_mirrors/ac/acto

标签:

本文转载自: https://blog.csdn.net/gitblog_00008/article/details/142839474
版权归原作者 柳旖岭 所有, 如有侵权,请联系我们删除。

“Acto: Kubernetes Operators 和 Controllers 的端到端测试工具”的评论:

还没有评论