【发布时间】:2020-02-13 09:13:54
【问题描述】:
Kubernetes OpenAPI 规范托管在这里。
https://github.com/kubernetes/kubernetes/tree/master/api/openapi-spec
此外,这里还提供了 Kubernetes 的各种客户端 API:
https://kubernetes.io/docs/reference/using-api/client-libraries/
使用 OpenAPI 规范,我能够生成提供 REST 服务的服务器代码。但是,使用这些 K8s 客户端 API(以 Go、Java 等任何一种语言编写)的应用程序并不直接使用这些 REST API。
我的目标是模拟 K8s 服务器以用于测试自动化并构建一个受控环境来创建各种测试场景。
是否有任何现成的 Kubernetes mock 可用?如果没有,我们如何将客户端 API 与上述 OpenAPI 生成的 REST 服务器连接起来?这样,应用程序将继续使用客户端 API,但在内部,它们将与模拟的 K8s 服务器而不是真实的服务器进行通信。
请帮助选择选项。
.
【问题讨论】:
-
您是否考虑过使用
Microk8s或Prism stoplight.io/open-source/prism ? -
Prism 是一个 HTTP 模拟服务器,我也使用过 WireMock。我的问题不是模拟 K8s REST API,而是如何将 K8s 客户端 API 连接到这个模拟 REST API 以构建可配置和受控的 K8s 集群,用于测试 K8s 应用程序。
标签: kubernetes mocking