通常我会使用ansible将我的代码部署到服务器。
使用k8s,有哪些选项?
由于所有内容都在容器中,我想最好的做法是针对不可变部署而不是更新正在运行的实例上的代码?
是否可以只更新.yaml文件中的git revision#,你可以将它从特定版本拉出来进行部署吗?
答案 0 :(得分:0)
https://helm.sh/可以帮到你。
以下是您需要采取的步骤:
<your-helm-chart>
。 values.yaml
(输入到yaml模板)将有一个参数git_commit_id: <some-id>
image: your-app:{{ .Values.git_commit_id }}
,来自values.yaml
。 helm install <your-helm-chart>
部署您的应用,这将为您提供<release name>
。helm upgrade <release-name> <your-helm-chart> --set git_commit_id=NEWID
答案 1 :(得分:0)
设置Jenkins,从Git repos构建每个应用程序的Docker容器。使用Git修订版或其他任何东西(我喜欢提交编号)标记图像。将它推送到Docker私有注册表。
将群集的所有* .yaml放入Git存储库。提交推送对这些配置的更改。在群集端 - 拉 - 应用。