如何模拟 Kubernetes 集群/服务器?

Ani*_*ilJ 5 mocking kubernetes

Kubernetes OpenAPI 规范在这里托管。

https://github.com/kubernetes/kubernetes/tree/master/api/openapi-spec
Run Code Online (Sandbox Code Playgroud)

此外,此处提供了 Kubernetes 的各种客户端 API:

https://kubernetes.io/docs/reference/using-api/client-libraries/
Run Code Online (Sandbox Code Playgroud)

使用 OpenAPI 规范,我能够生成提供 REST 服务的服务器代码。但是,使用这些 K8s 客户端 API(以 Go、Java 等任一语言编写)的应用程序不直接使用这些 REST API。

我的目标是模拟 K8s 服务器以用于测试自动化并构建一个受控环境来创建各种测试场景。

是否有任何现成的 Kubernetes 模拟可用?如果没有,我们如何将客户端 API 与上述 OpenAPI 生成的 REST 服务器接口?这样,应用程序将继续使用客户端 API,但在内部,它们将与模拟的 K8s 服务器而不是真正的服务器进行通信。

请帮助选择选项。

.

web*_*ars 2

并不是对你的问题的直接回答,但我见过的大多数解决方案并不是试图模拟 k8s API,而是通过 k3s(来自 rancher labs)或 KinD 项目(官方方式)真正使用它

然后像普通的 kubernetes 集群一样连接到它

  • 问题不在于使用真正的 K8 或其变体。挑战在于如何让真实的行为变得糟糕,即进行一些测试。模拟 API 是一种方法。 (4认同)