0

我写了一些代码但它不起作用,似乎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
}
4

1 回答 1

0

您可以使用github.com/ghodss/yamlpackage 来解组部署 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
}
于 2019-10-23T12:37:29.597 回答