我在kubernetes集群中启动了一个pod,它可以通过go-sdk调用kubernetes api(就像在这个例子中一样:https://github.com/kubernetes/client-go/tree/master/examples/in-cluster-client-configuration)。我想听一下这个pod中的一些外部事件(例如GitHub web-hooks),从存储库中获取yaml
配置文件并将它们应用到这个集群。
是否可以通过kubernetes API调用kubectl apply -f <config-file>
(或者通过golang SDK调用更好)?
答案 0 :(得分:2)
直接yaml:不,不是我意识到的。但是如果你增加kubectl
详细程度(--v=100
等),你会发现kubectl
对你的yaml文件做的第一件事是将它转换为json,然后{ {1}} API的内容。所以你的问题答案的精神是#34;是的。&#34;
此box/kube-applier项目可能会让您感兴趣。虽然它似乎没有webhook意识,但我相信他们会欢迎PR教它这样做。使用他们现有的项目也意味着你可以从他们已经被压扁的所有错误中受益,以及他们漂亮的prometheus指标集成。