Kubernetes: UpdateStatus() untuk sumber daya khusus tidak berfungsi

Dibuat pada 27 Okt 2017  ·  1Komentar  ·  Sumber: kubernetes/kubernetes

/jenis bug
/sig api-mesin
@kubernetes/sig-api-machinery-bugs

Apa yang terjadi :
Jenis sumber daya khusus saya memiliki bidang status. Saya telah membuat klien untuk itu menggunakan genclient.
Berikut adalah definisi dari tipe CRD saya:

// +genclient
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

type Recovery struct {
    metav1.TypeMeta   `json:",inline,omitempty"`
    metav1.ObjectMeta `json:"metadata,omitempty"`
    Spec              RecoverySpec   `json:"spec,omitempty"`
    Status            RecoveryStatus `json:"status,omitempty"`
}

Fungsi UpdateStatus() yang dihasilkan:

// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().

func (c *recoveries) UpdateStatus(recovery *v1alpha1.Recovery) (result *v1alpha1.Recovery, err error) {
    result = &v1alpha1.Recovery{}
    err = c.client.Put().
        Namespace(c.ns).
        Resource("recoveries").
        Name(recovery.Name).
        SubResource("status").
        Body(recovery).
        Do().
        Into(result)
    return
}

Sekarang ketika saya memanggil UpdateStatus() untuk objek Pemulihan (stash-mduabx) itu memberikan kesalahan berikut:

the server could not find the requested resource (put recoveries.stash.appscode.com stash-mduabx)

Dan log panggilan api:

PUT https://192.168.99.100:8443/apis/stash.appscode.com/v1alpha1/namespaces/test-stash/recoveries/stash-mduabx/status 404 Not Found in 11 milliseconds

Apa yang Anda harapkan terjadi :
Itu harus memperbarui bidang status.

Cara memperbanyaknya :
Tentukan jenis CRD dengan bidang status dan buat klien untuknya menggunakan genclient. Buat objek dengan tipe tersebut menggunakan kubectl. Sekarang dapatkan objek dari program go dan panggil UpdateStatus() untuk objek tersebut.

Lingkungan :

  • Versi Kubernetes: 1.7.5
arecustom-resources kinbug siapi-machinery

Komentar yang paling membantu

Klien menghasilkan metode status karena ada bidang status, tetapi itu tidak berarti server memiliki dukungan untuk metode tersebut.

https://github.com/kubernetes/community/pull/913 adalah proposal untuk menambahkan dukungan server untuk sub-sumber daya status untuk objek CRD.

>Semua komentar

Klien menghasilkan metode status karena ada bidang status, tetapi itu tidak berarti server memiliki dukungan untuk metode tersebut.

https://github.com/kubernetes/community/pull/913 adalah proposal untuk menambahkan dukungan server untuk sub-sumber daya status untuk objek CRD.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

mml picture mml  ·  3Komentar

arun-gupta picture arun-gupta  ·  3Komentar

alexferl picture alexferl  ·  3Komentar

rhohubbuild picture rhohubbuild  ·  3Komentar

montanaflynn picture montanaflynn  ·  3Komentar