头盔:模板中的中断循环(范围)

时间:2020-04-01 08:48:42

标签: kubernetes google-kubernetes-engine kubernetes-helm azure-kubernetes eks

我有一个应用程序,该应用程序托管在多个环境上,并且使用helm chart来部署该应用程序。我有values.yaml-

app:
  component: mobile
  type: web 
  env: prd --> (It will override with external parameters while deployment like dev / stg / uat)


image:
  repository: ********.dkr.ecr.ap-south-1.amazonaws.com/mobile
  pullPolicy: IfNotPresent
  versions:
    v1:
      name: stable
      replicaCount: 2
      tag: latest
    v2:
      name: release
      replicaCount: 1
      tag: latest

基于版本v1和v2(canary方式),Deployment将遍历循环。 Canary部署将仅在PRD环境中执行。因此,在DEV / STG / UAT上,仅会部署一个版本,因此对于这种环境,循环只需要迭代一次即可。

{{- range $version, $val := $.Values.image.versions }}
---
apiVersion: apps/v1
kind: Deployment

我可以将v2所需的Pod数量设置为0,但它会创建不必要的元数据(部署,副本集)。

因此,有什么方法可以打破带有条件(env:prd)的头盔模板中的循环,从而避免在v2上进行循环迭代。

0 个答案:

没有答案