我正在研究編寫一個工具,以編程方式爲我們的項目生成Kubernetes定義。從Kubernetes類型生成YAML清單
我發現Kubernetes中的API類型可以在k8s.io/kubernetes/pkg/api
中找到。我想根據這些類型輸出YAML。
鑑於這樣的對象:
ns := &api.Namespace{
ObjectMeta: api.ObjectMeta{
Name: "test",
},
}
什麼是生成YAML輸出由kubectl create
預期的最佳方式?
嘗試使用yaml.v2庫並對其進行編組,查看輸出是否符合kubernetes。 https://github.com/go-yaml/yaml –
這不起作用,Kubernetes沒有yaml註釋。他們似乎序列化爲JSON,然後轉換爲YAML,但是我還沒有找到合適的API將它包裝在正確的信封中(包括apiVersion和kind fields)。 –
這是醜陋的,但你可能想要嘗試生成json和使用python來正確地格式化你的json作爲yaml –