Difference between revisions of "VolumeClaimTemplate:"

From wikieduonline
Jump to navigation Jump to search
Line 61: Line 61:
  
 
== Elasticsearch helm chart templates/statefulset.yaml ==
 
== Elasticsearch helm chart templates/statefulset.yaml ==
<pre>
+
 
  {{- if .Values.persistence.enabled }}
+
 
  volumeClaimTemplates:
+
  {{- if .Values.persistence.enabled }}
  - metadata:
+
  volumeClaimTemplates:
      name: {{ template "elasticsearch.uname" . }}
+
  - metadata:
    {{- if .Values.persistence.labels.enabled }}
+
      name: {{ template "elasticsearch.uname" . }}
      labels:
+
    {{- if .Values.persistence.labels.enabled }}
        release: {{ .Release.Name | quote }}
+
      labels:
        chart: "{{ .Chart.Name }}"
+
        release: {{ .Release.Name | quote }}
        app: "{{ template "elasticsearch.uname" . }}"
+
        chart: "{{ .Chart.Name }}"
        {{- range $key, $value := .Values.labels }}
+
        app: "{{ template "elasticsearch.uname" . }}"
        {{ $key }}: {{ $value | quote }}
+
        {{- range $key, $value := .Values.labels }}
        {{- end }}
+
        {{ $key }}: {{ $value | quote }}
    {{- end }}
+
        {{- end }}
    {{- with .Values.persistence.annotations  }}
+
    {{- end }}
      annotations:
+
    {{- with .Values.persistence.annotations  }}
{{ toYaml . | indent 8 }}
+
      annotations:
    {{- end }}
+
{{ toYaml . | indent 8 }}
    spec:
+
    {{- end }}
{{ toYaml .Values.volumeClaimTemplate | indent 6 }}
+
    spec:
  {{- end }}
+
{{ toYaml .Values.volumeClaimTemplate | indent 6 }}
</pre>
+
  {{- end }}
  
 
== See also ==
 
== See also ==
 
* {{K8s storage}}
 
* {{K8s storage}}

Revision as of 09:31, 2 November 2022

volumeClaimTemplate:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 30Gi

Official example

https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#components

apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  ports:
  - port: 80
    name: web
  clusterIP: None
  selector:
    app: nginx
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web
spec:
  selector:
    matchLabels:
      app: nginx # has to match .spec.template.metadata.labels
  serviceName: "nginx"
  replicas: 3 # by default is 1
  minReadySeconds: 10 # by default is 0
  template:
    metadata:
      labels:
        app: nginx # has to match .spec.selector.matchLabels
    spec:
      terminationGracePeriodSeconds: 10
      containers:
      - name: nginx
        image: registry.k8s.io/nginx-slim:0.8
        ports:
        - containerPort: 80
          name: web
        volumeMounts:
        - name: www
          mountPath: /usr/share/nginx/html
  volumeClaimTemplates:
  - metadata:
      name: www
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "my-storage-class"
      resources:
        requests:
          storage: 1Gi

Elasticsearch helm chart templates/statefulset.yaml

  Template:- if .Values.persistence.enabled
  volumeClaimTemplates:
  - metadata:
      name: Template:Template "elasticsearch.uname" .
    Template:- if .Values.persistence.labels.enabled
      labels:
        release: Template:.Release.Name
        chart: "Template:.Chart.Name"
        app: "Template:Template "elasticsearch.uname" ."
        Template:- range $key, $value := .Values.labels
        Template:$key: Template:$value
        Template:- end
    Template:- end
    Template:- with .Values.persistence.annotations
      annotations:
Template:ToYaml .
    Template:- end
    spec:
Template:ToYaml .Values.volumeClaimTemplate
  Template:- end

See also

Advertising: