Kubernetes 重新启动在主图表的子图表中定义的部署

Kubernetes 重新启动在主图表的子图表中定义的部署,kubernetes,gitlab,gitlab-ci,kubernetes-helm,Kubernetes,Gitlab,Gitlab Ci,Kubernetes Helm,我正在尝试使用GitLab CI/CD在kubernetes中自动部署我的Docked应用程序。我使用Helm for Kubernetes部署我的应用程序的多个实例(用于不同的客户端)。这些实例都具有不同的数据库凭据和表 masterchart.yaml 依赖项: -姓名:my_subchart 版本:“0.1.0” 存储库:“file://../my_subchart/" 别名:my_subchart_a -姓名:my_subchart 版本:“0.1.0” 存储库:“file://../m

我正在尝试使用GitLab CI/CD在kubernetes中自动部署我的Docked应用程序。我使用Helm for Kubernetes部署我的应用程序的多个实例(用于不同的客户端)。这些实例都具有不同的数据库凭据和表

masterchart.yaml

依赖项:
-姓名:my_subchart
版本:“0.1.0”
存储库:“file://../my_subchart/"
别名:my_subchart_a
-姓名:my_subchart
版本:“0.1.0”
存储库:“file://../my_subchart/"
别名:my_subchart_
masterchart values.yaml

my_subchart_a:
我的:
配置:
数据库:
dbhost:database.example.com
数据库名称:数据库1
dbuser:dbuser1
dbpassword:password1
我的分图表:
我的:
配置:
数据库:
dbhost:database.example.com
数据库名称:数据库2
dbuser:dbuser2
dbpassword:password2
主图表中的这些值将覆盖特定子图表中的值。两个子图表使用不同的数据库表和用户

subchart values.yaml

my:
配置:
数据库:
连接:mysql
数据库主机:
港口:20506
数据库名:
数据库用户:
数据库密码:
子图表包含我的应用程序部署的模板。它提取了myimage:MyGitlab存储库的最新图像

My GitLab lint构建了我的应用程序的docker映像,并将其推送到GitLab注册表中的myimage:latest。然后,我想在我的GitLab CICD中添加一些内容,以刷新使用Subchart进行的所有部署。现在,我必须手动执行
kubectl卷展栏重新启动部署
(对于每个子HART部署)


是否有办法重新启动“我的头盔主图表”中定义的所有部署?

如果您对每个构建使用唯一的标记(而不是
最新的
),Kubernetes将为您重新启动。您可以让您的CD系统将标签作为头盔值传入。要执行此操作,需要使用什么命令
helm-upgrade--set image=newimage myrelease mychart
无法使用,因为该图表在我的git上不可用(出于安全原因)。此外,如何使用一个命令升级所有子图表?出于可扩展性的原因,我将使用
头盔升级
。您可以向它传递一个本地
/charts/mychart
路径,方法与
helm install
相同。这将升级所有的次哈特(事实上,你没有选择权)。@Jurjen你成功做到了吗?