我创建了一个名为" core-chart"的父图表,并在其下创建了几个子图表。
结构就像那样(所有图表目录基本相同):
/-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 .