问题标签 [operator-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
69 浏览

go - 观察命名空间中的所有对象种类

我正在开发一个项目,该项目监视命名空间中所有对象种类的资源,并执行相同的操作作为对所述资源状态变化的响应。资源种类包括 CRD,并且可能因一个命名空间而异,具体取决于命名空间中创建的资源。

是否存在为命名空间中存在的所有对象种类动态创建控制器的已知模式?

我希望实现的一个密切示例是一个观察者,它观察命名空间中的所有资源,并在所述资源发生变化时向接收者发送消息。

以这个场景为例,这个 watcher 在启动时会执行以下操作:

  1. 对于每个带有注释的命名空间,watch-namespace: true请执行以下操作:
  2. 将命名空间中每个资源的清单发送给接收者
  3. 当资源改变时,将新的清单发送给接收者

观察者必须能够观察命名空间中当前存在的或将来创建的所有种类。同样重要的是要注意,这个观察者不会改变或协调它正在观察的资源的状态。

0 投票
1 回答
20 浏览

go - Operator SDK - 更新 CreationTimestamp

我目前正在使用 Golang 和 Operator SDK 编写一个 Kubernetes Operator。

为了知道资源的创建是否超时,我检查了CreationTimestamp当前资源的属性。成功后Update我想更新该CreationTimestamp资源的,但是当我这样做时,什么都没有发生并且CreationTimestamp保持不变......

我的Reconcile循环看起来像这样:

或者有没有其他方法可以跟踪上次协调资源的时间?

0 投票
1 回答
21 浏览

kubernetes - 当我需要运行迁移脚本时如何发布自定义 k8s 运算符?

我将我的软件抽象为 k8s 运算符。当我想发布我的软件时,有两种解决方案,哪一种更好?

  1. 创建一个新的服务来检测版本变化是否需要运行迁移脚本然后执行迁移。
  2. 在 Operator 中编写是否运行迁移脚本的逻辑。使用 Operator 自动检测版本更改。
0 投票
1 回答
10 浏览

kubernetes - Kubernetes Webhook - 为组类型定义的多个集线器

尝试使用 operator-sdk 部署我的 webhook 我在日志中收到此错误: