如何为任何k8s对象创建样板

时间:2018-12-19 09:35:25

标签: kubernetes kubectl

我想为任何k8s对象创建样板。

例如,可以使用deployment生成kubectl对象样板:

kubectl run --dry-run -o yaml ...

这将生成部署对象的yaml配置文件。我可以将其重定向到文件并修改所需的字段。

但是部署以外的对象呢?那CronJob呢?有什么方法可以为CronJob对象(或其他任何k8s对象)生成样板配置文件?

3 个答案:

答案 0 :(得分:2)

尽管kubectl create object-type -o yaml为您提供了非常基础的知识,但通常不会涵盖很多规范。

相反,我更喜欢获取现有对象并进行修改:

kubectl get configmap configMapName -o yaml > configmap.yaml

带走不需要的所有内容,包括生成的字段;而且你很好。此步骤可能需要对每个YAML的预期有深入的了解。

编辑://

我刚刚意识到使用这种方法为您剥离生成的字段时使用--export:)

答案 1 :(得分:1)

没有要使用的“基本”模板的实际标准。我实际上正在一个网站上解决此问题(https://k8specs.com)。

我建议做的是像我一样放慢您的kubernetes对象的累积(请参阅:https://github.com/mateothegreat?tab=repositories&q=k8-byexamples-在整个仓库中查看清单清单),在这里我可以使用envsubst然后更新值我想使用简单的环境变量来“模板化”。

kubernetes.io文档中有大量文档,其中逐行列出了每个对象定义,我建议从那里开始。

如果您正在寻找特定的东西,只需提及您的需求,我们将帮助您起草您的规范!

答案 2 :(得分:0)

除了可以使用kubectl run进行部署以外,还可以创建其他对象,但是必须指定generator或restart标志。您可以在此处找到更多相关信息-https://kubernetes.io/docs/reference/kubectl/conventions/#generators

对于除通过kubectl run可用的对象以外的其他对象,您可以使用kubectl create查看可以创建的对象种类。