我们希望有一些建议,因为我们希望在部署过程中集成helmfile。。。
我们的基础设施有以下详细信息:
- 我们有很多客户
- 所有客户都安装了相同的服务(每个客户都有自己的服务,客户之间不共享(
- 每个客户的凭据不同
- 我们更喜欢单独的部署过程(我们不想同时升级所有客户时间(
- 所有客户配置数据都被分离到单独的配置中文件,如:
- config/customer1.yaml
- config/customer2.yaml
- config/customer3.yaml
所以我想知道,我们是否应该使用";"环境";使用客户名称进行升级。或者您会推荐另一个变量吗?你认为为这个过程创建多个helmfiles更好,还是只创建一个?
谢谢!
您认为为这个过程创建多个helm文件更好,还是只创建一个helm?
在多个环境中使用一个helmfile非常实用,可以节省编写多个helmfiles的时间。
我们应该使用"环境";客户名称?
对于类似的设置(部署到具有不同值和配置的多个环境(,我在Helmfile:中有
- name: my-app
namespace: "{{ .Namespace }}"
chart: k4r-distance-matrix-api
values:
- my-app/values.yaml ## here go the common values if any exists
- my-app/values.{{ .Environment.Name }}.yaml ## here goes the environment specific values
在我的CI中的deploy
步骤中,我有:
.deploy:
stage: deploy
variables:
ENVIRONMENT: ""
CONTEXT: ""
NAMESPACE: ""
before_script:
- kubectl config use-context $CONTEXT
script:
- helmfile -e "$ENVIRONMENT" --namespace "$NAMESPACE" sync