2

使用Operator-sdk,我部署了一个 CR,它有一个带有 pod 的 Job。CR 有一个 Status 结构,如下所示

type CRStatus struct {
    TestStatus string `json:"testStatus"`
    TestCount int `json:"testCount"`
}

Pod 进行一些处理并打印输出 TestStatus 和 TestCount 值。operator-sdk 控制器如何使用作业的 Pod 输出中的值更新 CR 的 TestStatus 和 TestCount 字段?

4

1 回答 1

1

您可以从创建控制器开始(您可能已经):

operator-sdk add controller --api-version=example.com/v1alpha1 --kind=YourCRApp

然后在实现中,您将希望通过添加AddEventHandler调用来使用 Kubernetes Informers/SharedInformers,以查看任何 Kubernetes 资源上的值是否已更改。您可以在Kubernetes 源代码中找到示例控制器。此外,网上有很多资源可以指导您如何创建控制器和使用 Informers,以下是一些示例:

于 2020-07-13T22:31:16.067 回答