有没有像'helm exec`这样的东西?

时间:2017-06-06 09:59:50

标签: kubernetes kubectl kubernetes-helm

我在helm脚本中使用以下gitlab-ci.yml(2.4.2)命令:

- helm upgrade --install myapp-db --wait --set postgresUser=postgres,postgresPassword=postgres,postgresDatabase=myapp stable/postgresql
- helm upgrade --install myapp-web ./myapp-chart --wait --set env.DATABASE_URL="${DATABASE_URL}"

它是我的登台/审核环境部署的一部分。完成上述命令后,我想对my-app pod执行命令来创建/迁移数据库。目前,这是通过使用initContainer(在引用的yaml文件中定义)实现的。但我更希望逻辑成为CI脚本的一部分 - 所以我不必为生产提供单独的部署文件。

有没有办法用helm执行此操作?或者是我使用kubectl exec的唯一选择?如果我使用kubectl exec,是否可以使用helm轻松获取广告连播的名称?

1 个答案:

答案 0 :(得分:0)

此GitHub问题解决了如何使用kubectl根据标签查找广告连播的名称的方法:

https://github.com/kubernetes/kubernetes/issues/8876

我实施了以下内容:

- export POD_NAME=`kubectl get pod -l "app=myapp-web-chart" -o jsonpath='{.items[0].metadata.name}'`
- kubectl exec $POD_NAME -- mix ecto.migrate

但是,如果有办法用helm

进行此操作会更好