我想为任何k8s对象创建样板。
例如,可以使用deployment
生成kubectl
对象样板:
kubectl run --dry-run -o yaml ...
这将生成部署对象的yaml配置文件。我可以将其重定向到文件并修改所需的字段。
但是部署以外的对象呢?那CronJob呢?有什么方法可以为CronJob对象(或其他任何k8s对象)生成样板配置文件?
答案 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查看可以创建的对象种类。