我写了一些代码,但是它不起作用,看来client-go不支持将K8s yaml规范解析为client-go数据结构,有人可以告诉我怎么做。
func GetDeploymentFromYamlString(str string) (*apps.Deployment, error) {
decode := scheme.Codecs.UniversalDeserializer().Decode
obj, _, err := decode([]byte(str), nil, nil)
if err != nil {
return nil, err
}
return obj.(*apps.Deployment), nil
}
答案 0 :(得分:0)
您可以使用github.com/ghodss/yaml
软件包来解组部署Yaml。
请尝试以下操作:
import "github.com/ghodss/yaml"
func GetDeploymentFromYamlString(str string) (*apps.Deployment, error) {
deploy := new(apps.Deployment)
if err := yaml.Unmarshal([]byte(str), deploy); err != nil {
return nil, err
}
return deploy, nil
}