【问题标题】:Operator controller could not delete correlated resources操作员控制器无法删除相关资源
【发布时间】:2020-11-14 14:48:28
【问题描述】:

在 Kubernetes 和 Operator-sdk 中,我们可以定义 CRD(自定义资源定义)和 CR(自定义资源)。在我的操作员控制器中,当初始化 CR 时,我会创建一个新的部署和服务。

当我们删除一个 CR 对象时,相关的资源(例如 Deployment 或 service)也会同时被删除。我知道应该由CRCRD 终结者来完成,这只是我的猜测。

现在我遇到了一个问题,在 Operator 测试期间,在 envTest 环境下,当我删除 CR 时,它的相关资源(部署或服务)并没有被删除。

我很困惑。在real k8s cluster中,当我删除一个CR时,可以自动删除相关资源(部署或服务),在envTest environment下,为什么不删除相关资源?

谁能指出原因。

【问题讨论】:

    标签: kubernetes operator-sdk


    【解决方案1】:

    孤立资源的删除由Kubernetes的garbage collector完成,在kubelet中实现。当您在envTest 环境中测试算子时,垃圾回收不起作用,因为该环境中缺少kubelet(它只部署 API 服务器和 etcd)。

    【讨论】:

    • 感谢@Grigoriy Mikhalkin,您是这方面的专家。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多