我正在开发一个新的 Operator 来管理我的业务逻辑对象的 CRD。我的业务对象存储在 Mongo 中,因此,我们需要此 BSON ID(12 个字母长度的 GUID)来对此对象进行后续更改。
问题是,如何将运营商需要创建的 CR 链接到这个上游对象?我在哪里可以存储这种独特BSON ID
的 K8S 方式,以便我可以使用它进行进一步查找。
例如,这是我的上游对象之一的 CRD:
apiVersion: my.custom.object/v1alpha1
kind: ApiDefinition
metadata:
name: httpbin
spec:
description: my first api
use_keyless: true
protocol: http
当我kubectl apply -f
对此 CRD 执行操作时,它会被创建。
kubectl apply -f "the_above_yaml.yaml"
ApiDefinition created!
然后我的操作员在协调循环中选择它,然后在我的服务器中创建这个对象。服务器生成一个 BSON ID。我需要使用此 BSON ID 进行进一步查找。
如何存储特定于服务器的BSON ID
,以便开发人员只需要metadata
在规范中使用唯一名称,而在后台我的操作员负责将两者联系起来?