我正在尝试实现我的第一个 Kubernetes 运算符。我希望操作员控制器能够将正在运行的 pod 中的配置与自定义资源定义中定义的预期配置进行比较。
例如:自定义资源
apiVersion: test.com/v1alpha1
kind: TEST
metadata::
name: example-test
spec:
replicas: 3
version: 20:03
config:
valueA: true
valueB: 123
上面的自定义资源已部署,3 个 pod 正在运行。进行了更改,以使配置“valueA”更改为 false。
在 GO 控制器协调功能中,我可以获取 TEST 实例并查看配置的“新”版本:
instance := &testv1alpha1.TEST{}
log.Info("New value : " + instance.Spec.Config.valueA)
我想知道如何访问正在运行的 Pod 中的“valueA”的值,以便我可以比较和重新创建 Pod(如果它已更改)?
还有一个次要问题,我是否需要遍历 reconcile 函数中所有正在运行的 pod 来检查每个 pod,或者我可以将其作为单个操作执行吗?