如何使用SDK在Kubernetes Operator中观看Pod api端点

时间:2019-03-13 11:24:06

标签: kubernetes

说明

我有一个与POD相关联的CR,该容器带有暴露API的容器,例如:

/available

例如返回

{"available":"true"}

是否有一种方法可以在该API调用上创建控制器观察程序,以便每当响应更改时将触发协调功能? 我相信 可以与控制器观察器一起使用,但是我看不到任何类似的例子

使用

Kubernetes运算符-SDK版本v0.5.0 + git

1 个答案:

答案 0 :(得分:0)

恐怕这没有您希望的那么容易。 Kubernetes控制器对象对集群中某种资源的添加/编辑/删除操作做出反应。在资源库中看不到在Pod中运行的某些东西的API内部公开的值。没有事件发生,也没有通知更改。

我看到您可以考虑做的两件事:

  1. 创建一个常规控制器,该控制器会经常触发协调功能,但会检查其协调功能内部的availability值。如果改变了,它会做些什么,如果没有改变,它将什么都不做。
  2. 只需在控制器域之外创建一个单独的任务即可监视此API值并执行某些操作。

控制器使用通知进行工作,他们不会主动监视更改,而是会收到通知。这与您要执行的操作不同-定期检查API响应。