2

我正在研究一个 mysql 用户操作员,我有点坚持报告任何问题的正确方法。

计划是在 CRD 上监视并在指定的 DB 中MysqlUser创建s 和 mysql 用户。Secret显然,其中任何一个都可能出错,此时我需要报告错误。

.中的一些 k8s 对象跟踪事件status.conditions。还有Event对象,但我只看到 kubelet / controllermanager 使用过。

如果说,我在创建 mysql 用户时遇到问题,因为我的操作员无法与 mysql 通信,但 CRD 是有效的,它应该进入事件还是 CRD 的状态?

4

2 回答 2

1

CRD 还没有状态部分 (1.7)。通过事件通知非常好,这就是首先拥有它们的原因。

于 2017-07-21T19:39:35.597 回答
1

这听起来类似于从卷插件(kubelet)报告的事件,例如,kubelet 无法从 NFS 服务器挂载卷,因为服务器地址无效,因此无法处理。

在这种情况下,跟踪事件的status.conditions用处不大,因为用户通常无法控制 kubelet(或您的情况下的操作员)如何与下划线资源交互。一般来说,status.conditions只表示对象的状态,而不是为什么它处于这种状态。

这只是我对如何做出选择的理解。不知道有没有这方面的规定。

于 2017-07-20T01:37:16.640 回答