我正在围绕kubernetes Go Operator进行POC,以在应用程序中执行一些异步操作,我希望从python应用程序获得一个回调到Operator中,然后可以继续更新资源元数据,例如对资源状态字段。
我知道Kubernetes Go Operator SDK使用的 Controller 使用在特定端口上运行的API服务器。但是可以将其用作自定义API服务器,在其中我可以设置网络挂钩的路径吗?
预期的回调API的示例:

curl -XPOST http://cyber-operator.svc/application/updateClusterState
我希望在调用此API时在运算符内运行一个过程。
我搜索了文档,但找不到相关的内容。我可以在运算符(operator)中运行单独的API服务器吗?如果它必须监听与内置 Controller 不同的端口,我很好。

最佳答案

operator-sdk不会启动服务器,通常会列出监视k8s资源并进行协调,除非您显式添加验证/变异webhook(https://github.com/operator-framework/operator-sdk/blob/7e029625dde8f0d4cb88ac914af4deb7f5f85c4a/website/content/en/docs/building-operators/golang/webhooks.md)
即使有可能,我建议不要这样做,只需在新端口上创建新的http服务器。

10-01 20:55
查看更多