Я ищу в написании инструмента, который программным путем генерирует определения Kubernetes для нашего проекта.Сгенерировать манифест YAML из типов Kubernetes
Я обнаружил, что типы API в Кубернесе можно найти в k8s.io/kubernetes/pkg/api
. Я хотел бы вывести YAML на основе этих типов.
Учитывая объект вроде этого:
ns := &api.Namespace{
ObjectMeta: api.ObjectMeta{
Name: "test",
},
}
Какой самый лучший способ для создания выходного сигнала YAML ожидаемый kubectl create
?
попробуйте библиотеку yaml.v2 и маршал с ней, посмотрите, совместим ли выход с кубернетами. https://github.com/go-yaml/yaml –
Это не сработает, Kubernetes не имеет аннотации yaml. Они, похоже, сериализуются в JSON, а затем конвертируются в YAML, но я еще не нашел правильные API-интерфейсы, но все же вернул их в правильный конверт (включая apiVersion и добрые поля). –
это некрасиво, но вы можете попытаться сгенерировать json и использовать python для правильного форматирования json как yaml. –