我创建了一个名为“核心图表”的父图表,并在其下创建了几个子图表 .

结构就是这样(所有图表目录基本相同):

/-core-chart/
 |_values.yaml
 |_charts.yaml
 |_requirments.yaml
 |_charts/
     |_redis-chart/
               |_templates/
                       |_redis.yaml
               |_values.yaml
               |_charts.yaml
     |_postgres-chart/
     |_cassandra-chart/
     |_activemq-chart/

在尝试安装核心图表时,它会安装所有其他图表部署和服务,但在键入时我看不到子图表:

helm ls --all
NAME            REVISION        UPDATED                         STATUS          CHART                   NAMESPACE
core-chart      1               Tue Jan  9 18:33:02 2018        DEPLOYED        core-chart-0.1.0        default

是不是有办法创建子图表,所以我可以单独控制它们?

我试图使用标签和条件,但它没有真正奏效:

requirments.yaml:

dependencies:
      - name: redis-chart
        version: 0.1.0
        condition: redis-chart.enabled
        tags:
            - redis

      - name: postgres-chart
        version: 0.1.0
        condition: postgres-chart.enabled
        tags:
            - postgres

      - name: cassandra-chart
        version: 0.1.0
        condition: cassandra-chart.enabled
        tags:
            - cassandra

      - name: activemq-chart
        version: 0.1.0
        condition: activemq-chart.enabled
        tags:
            - activemq

Values.yaml:

redis-chart:
        enabled: true
        kind: Service
        ports:
         port: 5432

        kind: Deployment
        replicaCount: 1
        resources:
         requestMemory: 100m
         requestCpu: 100Mi

        image:
          name: redis-master
          imageName: redis
          imageVersion: 4.0.6
        ports:
          port: 5432
        tags:
          redis: true

尝试禁用子图表的示例命令:

helm install --debug --set postgres-chart.enabled=false --set tags.redis=true --set cassandra-chart.enabled=false --set activemq-chart.enabled=false --name core-chart .