olm-book 提到了安装期间的依赖关系解析,您能否也描述一下卸载/清理的工作原理。
OLM 在共享依赖项时是否保留依赖运算符的引用计数器?如何清理依赖运算符以及何时执行此操作?
olm-book:https ://operator-framework.github.io/olm-book/docs/operator-dependencies-and-requirements.html
olm-book 提到了安装期间的依赖关系解析,您能否也描述一下卸载/清理的工作原理。
OLM 在共享依赖项时是否保留依赖运算符的引用计数器?如何清理依赖运算符以及何时执行此操作?
olm-book:https ://operator-framework.github.io/olm-book/docs/operator-dependencies-and-requirements.html
我可以解释在卸载由 OLM 管理的 operator bundle/packagemanifest 时operator-sdk cleanup
命令是如何工作的。
该过程的第一步是识别并删除订阅,以便我们停止任何升级或进一步安装。随后,我们获得了特定操作员的ClusterServiceVersion,该操作员将从订阅本身中卸载。当 OLM 创建资源时,它会将所有者引用/所有者标签添加到 CSV 中指定的每个命名空间/集群范围资源。因此,当删除 CSV 时,OLM 垃圾收集器通过所有者引用识别相关资源并将其删除。
如果要手动清理 operator,我建议只删除 installplan 中引用的 ClusterServiceVersion 并将其留给 OLM 和 Kubebuilder GC 删除资源。