3

我目前是 operator-sdk 的新手,但是,我想问一些事情。

我正在尝试oneOf在规范中生成包含 CRD 的属性。但是,我被困在了这个任务中。

当我在google上搜索时,我没有找到使用operator-sdk实现该属性的方法。

如果我想实现生成属性oneOf作为我的 CRD,有什么办法吗?

例如,

type: object
properties:
  spec:
    ...
    oneOf:
      - required: [someproperties1]
      - required: [someproperties2]

谢谢。

4

1 回答 1

0

是的!遵循Ansible、Helm 或 Go快速入门文档。

假设您的问题是关于创建 CRD。

例如。如果您遵循 Go 快速入门,您可以像这样使用 operator-sdk CLI

$ operator-sdk add api --api-version=my.example.com/v1alpha1 --kind=OneOf

或使用 Ansible:

$ operator-sdk new my-operator --api-version=my.example.com/v1alpha1 --kind=OneOf --type=ansible

请注意,您的 CRD 需要以大写字母开头(K8s 约定):OneOf

现在,如果您想在 CRD 中定义“规范”,您还可以按照快速入门指南进行操作(样板将由operator-sdkCLI 创建)。例如对于 Go,它将在代码中创建一个结构:

type OneOfSpec struct {
    // Size is the size of your OneOf
    Size int32 `json:"size"`
}
type OneOfStatus struct {
    // Nodes are the names of the oneof pods
    Nodes []string `json:"nodes"`
}
于 2020-07-10T01:42:20.843 回答