如何使用 Kubernetes controller-gen 在外部结构中指定可选字段?

问题描述 投票:0回答:1

我正在实现一个 Kubernetes 控制器,并使用如下所示的结构创建一个 API:

import (
    corev1 "k8s.io/api/core/v1"
)

type MySpec struct {
    corev1.PodSpec `json:",inline"`
}

但是,由于

Containers
中的
PodSpec
字段是必需的,因此当使用 controller-gen 生成相应的 CRD 时,
containers
字段被标记为必需 - 但我希望它在我的 CRD 中是可选的。

有什么方法可以覆盖这个而不复制整个结构或修补controller-gen的输出吗?

整个项目请参考这里

kubernetes kubebuilder
1个回答
0
投票

您可以使用此注释将字段标记为可选:

+kubebuilder:验证:可选

https://book.kubebuilder.io/reference/markers/crd-validation

© www.soinside.com 2019 - 2024. All rights reserved.