Создайте свойство oneOf с помощью operator-sdk
В настоящее время я новичок в operator-sdk, однако хочу кое-что спросить.
Я пытаюсь создать CRD, содержащий oneOf
недвижимость в спец. Однако я застрял в этой задаче.
Когда я искал в Google, я не нашел способа реализовать свойство с помощью operator-sdk.
Если бы я хотел реализовать сгенерировать свойство oneOf
как мой CRD, есть ли способ сделать это?
Например,
type: object
properties:
spec:
...
oneOf:
- required: [someproperties1]
- required: [someproperties2]
Спасибо.
1 ответ
Да! Следуйте инструкциям по быстрому запуску Ansible, Helm или Go.
Предполагая, что ваш вопрос касается создания CRD.
Например. если вы следуете быстрому запуску Go, вы можете использовать CLI operator-sdk следующим образом:
$ 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-sdk
CLI). Например, для 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"`
}