我是新手,喜欢用jfrog语言创建部署版本并将其打包为工件的想法,但有一件事我不清楚创建它是否容易。
我对kubernetes mainfest很满意,创建它非常简单,你不必手工创建一个yaml。
您可以简单地在dry-run模式下运行kubectl命令并导出大多数yaml标记,如下所示:
kubectl run nginx --image=nginx --dry-run=client -o yaml > nginx-manifest.yaml
现在要创建helm,我需要运行helm create
并键入helm yaml文件所需的所有值。
想知道helm是否有kubectl提供的快捷键来轻松创建图表,在生成图表时通过命令行输入所需值?
还有支持将部署清单转换为舵图的迁移实用程序吗?
helm create
做你正在寻找的。它会创建一个包含所有基本内容的目录,这样您就不需要手动创建每个文件/目录。但是,它不能创建它没有线索的图表的内容。
但是,在幕后没有魔法,图表由模板和值组成。这些模板与您过去使用的YAML文件相同,只是您可以替换任何您想要的"动态"文件。Helm使用的占位符。就是这样。
所以,换句话说,只要保持导出(我强烈建议停止这样做,并创建适合您需要的适当文件)并添加占位符({{ .Values.foo }}
)
例如,我有一个服务的模板:
apiVersion: v1
kind: Service
metadata:
name: {{ .Values.name | default .Chart.Name }}
spec:
ports:
- port: {{ .Values.port }}
protocol: TCP
targetPort: {{ .Values.port }}
selector:
app: {{ .Values.name | default .Chart.Name }}