gpt4 book ai didi

go - 如何使用 Status 字段创建 Kubernetes 对象?

转载 作者:行者123 更新时间:2023-12-05 04:24:01 26 4
gpt4 key购买 nike

我正在使用 kubernetes 运算符在集群中创建自定义资源,CR 填充了 Status 字段,但是当创建对象时,Status 字段是空。

这就是我创建 CR 的方式:

reconcile.Create(ctx, &object)

这就是我试图用 k8s 运算符完成的事情:

enter image description here

最佳答案

Kubernetes API 和资源的架构遵循一种模式。

  1. 客户端可以通过指定期望状态(这是资源的 spec: 部分)来创建资源。这是发送到 API 服务器的“创建”请求。

  2. Controller ,订阅/观察资源的变化,同时在协调循环中执行操作,他们可能会更新资源的状态(这是状态:资源的一部分)。

有关如何实现 Controller 和更新状态的示例,请参阅 Kubebuilder book: Implementing a Controller - Update the Status .

示例中的客户端是“ Controller 运行时客户端”:

"sigs.k8s.io/controller-runtime/pkg/client"

示例代码,其中 reconciler 更新 status 子资源:

if err := r.Status().Update(ctx, &cronJob); err != nil {
log.Error(err, "unable to update CronJob status")
return ctrl.Result{}, err
}

关于go - 如何使用 Status 字段创建 Kubernetes 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73574615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com