您需要导入,
_ "k8s.io/client-go/pkg/apis/extensions/install"否则架构为空,另请参阅docs。
完整的工作示例是:
$ go get -u github.com/golang/dep/cmd/dep$ dep init$ go run main.go
具有以下内容
main.go:
package mainimport ( "fmt" "k8s.io/client-go/pkg/api" _ "k8s.io/client-go/pkg/api/install" _ "k8s.io/client-go/pkg/apis/extensions/install")var deployment = `apiVersion: extensions/v1beta1kind: Deploymentmetadata:name: my-nginxspec:replicas: 2template: metadata: labels: run: my-nginx spec: containers: - name: my-nginx image: nginx ports: - containerPort: 80`func main() { // depre := api.Codecs.UniversalDeprer().Depre depre := api.Codecs.UniversalDeserializer().Depre obj, _, err := depre([]byte(deployment), nil, nil) if err != nil { fmt.Printf("%#v", err) } fmt.Printf("%#vn", obj)}请注意,我也
_ "k8s.io/client-go/pkg/api/install"为您导入了内容,以便您可以使用
v1诸如Pod或Services之类的对象。
编辑:对我的同事斯特凡·斯基曼斯基(Stefan
Schimanski)提出了最初的解决方案表示感谢。



