Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes API CRD更新_Kubernetes_Google Cloud Platform - Fatal编程技术网

Kubernetes API CRD更新

Kubernetes API CRD更新,kubernetes,google-cloud-platform,Kubernetes,Google Cloud Platform,在上面的带有kubernetes API的CRD示例中,我得到了错误。 “在更新呼叫中 恐慌:必须提供名称“ 我错过了什么?代码基于给定的示例@我查看了代码,您需要使用以下代码更新client.go文件中的更新API: result, err := crdclient.Create(example) if err == nil { fmt.Printf("CREATED: %#v\n", result) } else if apierrors.IsAlreadyExists(err) {

在上面的带有kubernetes API的CRD示例中,我得到了错误。 “在更新呼叫中 恐慌:必须提供名称“


我错过了什么?代码基于给定的示例@

我查看了代码,您需要使用以下代码更新client.go文件中的更新API:

result, err := crdclient.Create(example)
if err == nil {
    fmt.Printf("CREATED: %#v\n", result)
} else if apierrors.IsAlreadyExists(err) {
    fmt.Printf("ALREADY EXISTS: %#v\n", result)
} else {
    panic(err)
}

// List all Example objects
items, err := crdclient.List(meta_v1.ListOptions{})
if err != nil {
    panic(err)
}
fmt.Printf("List:\n%s\n", items)

result, err = crdclient.Get("example123")
if err != nil {
    panic(err)
}
fmt.Printf("Get:\n%v\n", result)

result.Status.Message = "Hello There"
fmt.Println("\n Result is: %v \n", result)
up, uperr := crdclient.Update(result)
if uperr != nil {
    panic(uperr)
}
在此之后,您的代码应该按预期工作

func (f *crdclient) Update(obj *crd.Example) (*crd.Example, error) {
    var result crd.Example
    err := f.cl.Put().
        Namespace(f.ns).Resource(f.plural).
        Name(obj.Name).
        Body(obj).Do().Into(&result)
    return &result, err
}