Kubernetes 生成';其中之一';具有运算符sdk的属性
我目前是运营商sdk的新手,但是,我想问一些事情 我正在尝试生成一个CRD,其中包含规范中的一个属性。但是,我被困在了这个任务中 当我在google上搜索时,我没有找到使用operator sdk实现该属性的方法 如果我想实现生成属性Kubernetes 生成';其中之一';具有运算符sdk的属性,kubernetes,operator-sdk,Kubernetes,Operator Sdk,我目前是运营商sdk的新手,但是,我想问一些事情 我正在尝试生成一个CRD,其中包含规范中的一个属性。但是,我被困在了这个任务中 当我在google上搜索时,我没有找到使用operator sdk实现该属性的方法 如果我想实现生成属性oneOf作为我的CRD,有什么方法吗 比如说, type: object properties: spec: ... oneOf: - required: [someproperties1] - required: [s
oneOf
作为我的CRD,有什么方法吗
比如说,
type: object
properties:
spec:
...
oneOf:
- required: [someproperties1]
- required: [someproperties2]
谢谢。是的!遵循快速入门文档中的任何一个
假设您的问题是关于创建CRD的
比如说。如果您遵循Go quickstart,则可以使用:
$operator sdk添加api--api版本=my.example.com/v1alpha1--kind=OneOf
或使用Ansible:
$operator sdk新建my operator--api版本=my.example.com/v1alpha1--kind=OneOf--type=ansible
请注意,您的CRD需要从caps开始(K8s惯例):OneOf
现在,如果您想定义,还可以遵循快速入门指南(样板文件将由操作员sdk
CLI创建)。例如,对于Go,它将在代码中创建一个结构:
输入OneOfSpec结构{
//Size是您的一个的大小
大小int32`json:“大小”`
}
类型OneOfStatus结构{
//节点是其中一个POD的名称
节点[]字符串`json:“节点”`
}
operator sdk使用kubernetes sigs/controller工具来生成CRD,并且似乎存在一个与此主题相关的公开问题:一般来说,这将由@JasonKincl处理。感谢您的回复,正如我看到的问题和PR一样,似乎我可以找到一种实现属性的方法。谢谢@JasonKincl似乎pr尚未合并,因此我无法在kubebuilder中使用验证。还有其他方法吗?谢谢回复!!我可以理解如何使用Operator sdk
实现CRD。然而,我想知道如何在“spec”(通常是?)中实现属性之一的特定方法。有什么指导方针吗?你跑了吗<代码>在定义类型后生成
?正如这里所说的:你看过其他社区运营商是如何实现的吗?事实上,我尝试了@JasonKincl撰写的上述评论的方式,但似乎公关尚未合并。坦率地说,我并没有试图生成“oneOf”CRD,但我想在CRD规范中生成“oneOf”属性。在上面的示例中,大小和节点是属性。您的控制器代码必须决定如何处理这些属性。啊哈。对不起,我的英语不好。这不是我想要的。我想实现上面的例子。对不起,我误导了你。