我想为任何k8s对象创建锅炉板。
例如,可以使用kubectl
:生成deployment
对象样板
kubectl run --dry-run -o yaml ...
这将生成部署对象的yaml配置文件。我可以将其重定向到一个文件并修改我需要的字段。
但是部署以外的对象呢?CronJob呢?有没有任何方法可以为CronJob对象(或任何其他k8s对象(生成样板配置文件?
虽然kubectl create object-type -o yaml
将为您提供最基本的内容,但它通常不会涵盖太多规范。
相反,我更喜欢获取现有对象并修改:
kubectl get configmap configMapName -o yaml > configmap.yaml
去掉所有不需要的东西,包括生成的字段;你可以走了。这一步可能需要对每个YAML中的预期有一个坚实的理解。
编辑://
当使用这种方法为您剥离生成的字段时,我刚刚意识到有--export
:(
没有可使用的"基本"模板的实际标准。事实上,我正在一个网站上工作,以遏制这个问题(https://k8specs.com)。
我建议你像我一样放慢累积kubernetes对象的速度(请参阅:https://github.com/mateothegreat?tab=repositories&q=k8 byexamples——在整个repo中查看我的清单目录(,在那里我可以使用envsubst
,然后使用简单的环境变量更新我想要"模板化"的值。
kubernetes.io文档中有大量的文档,其中有每个对象定义的逐行示例,我建议从那里开始。
如果你正在寻找任何具体的东西,只要提到你需要什么,我们就会帮助你起草你的规范!
您可以使用kubectl run创建部署之外的其他对象,但必须指定生成器或重新启动标志。你可以在这里找到更多关于它的信息-https://kubernetes.io/docs/reference/kubectl/conventions/#generators.
对于通过kubectl run可用的对象以外的对象,您可以使用kubectl create来查看您可以创建的对象类型。