【发布时间】:2020-07-20 11:52:15
【问题描述】:
我正在尝试实现我的第一个 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,或者我可以将其作为单个操作执行吗?
【问题讨论】:
标签: go kubernetes operator-sdk