首页 > 解决方案 > Helm Charts - 你能动态生成n个StatefulSets吗?

问题描述

我有一个应用程序需要可配置数量的主节点和副本。有什么方法可以动态生成有状态集,其中 n 是我拥有的主节点数?主节点的数量当前在 values.yaml 中设置。

标签: kubernetes-helm

解决方案


是的,until功能是可能的。

值.yaml

masterCount: 5

模板/statefulset.yaml

{{ range $k, $v := until ( .Values.masterCount | int) }}
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: nginx-{{ $v }}
spec:
  serviceName: "nginx-{{ $v }}"
  replicas: 3
  selector:
    matchLabels:
      app: nginx-{{ $v }}
  template:
    metadata:
      labels:
        app: nginx-{{ $v }}
    spec:
      containers:
      - name: nginx
        image: k8s.gcr.io/nginx-slim:0.8
        ports:
        - containerPort: 80
          name: web
        volumeMounts:
        - name: www
          mountPath: /usr/share/nginx/html
{{ end }}

推荐阅读