我刚接触helm,我喜欢helm为部署创建版本并将其打包为jfrog articatory中的工件的想法,但有一件事我不清楚,那就是创建它的简单性。
我对kubernetes mainfest很满意,而且创建它非常简单,您不必手工创建一个yaml。
您可以简单地在模拟运行模式下运行kubectl命令,并导出大部分yaml标签,如下所示:
kubectl run nginx --image=nginx --dry-run=client -o yaml > nginx-manifest.yaml
现在,为了创建helm,我需要运行helm create并键入helm yaml文件所需的所有值。
想知道helm是否有kubectl提供的快捷方式来轻松地创建图表,在生成图表时,哪些键通过命令行输入了所需的值?
另外,是否有支持将部署清单转换为helm图表的迁移实用程序?
发布于 2021-01-29 05:25:55
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 }}https://stackoverflow.com/questions/65944652
复制相似问题