анализ спецификации Yaml K8s в клиентских структурах данных - PullRequest
0 голосов
/ 23 октября 2019

Я написал некоторый код, но он не работает, кажется, что client-go не поддерживает разбор спецификации yaml K8s в структуры данных 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
}

1 Ответ

0 голосов
/ 23 октября 2019

Пакет 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
}
...