我正在使用 Kubebuilder 框架编写一个自定义控制器,在一种方法中,我得到了一个类型的对象runtime.Object,我知道我应该能够将其转换为特定类型MyCustomResource,但我无法从文档中弄清楚如何转换。
它应该像这样简单:
func convertToMyCustomResource(obj runtime.Object) *v1alpha1.MyCustomResource {
myobj := obj.(*v1alpha1.MyCustomResource)
return myobj
}
Run Code Online (Sandbox Code Playgroud)
如果这产生错误(例如不可能的类型断言),请确保MyCustomResource满足runtime.Object接口;IE
运行controller-gen工具生成DeepCopyObject方法
go run vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go paths=./api/... object
Run Code Online (Sandbox Code Playgroud)将"k8s.io/apimachinery/pkg/apis/meta/v1".TypeMeta字段添加到MyCustomResource实现该GetObjectKind方法的结构中。
go run vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go paths=./api/... object
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5047 次 |
| 最近记录: |