Difference between revisions of "VolumeClaimTemplate:"

From wikieduonline
Jump to navigation Jump to search
(Created page with " volumeClaimTemplate: accessModes: - ReadWriteOnce resources: requests: storage: 30Gi * {{K8s storage}}")
 
 
(10 intermediate revisions by 3 users not shown)
Line 6: Line 6:
 
       storage: 30Gi
 
       storage: 30Gi
  
 +
== Official example ==
 +
https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#components
 +
<pre>
 +
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
 +
</pre>
  
 +
== [[Elasticsearch]] helm chart templates/statefulset.yaml ==
 +
<pre>
 +
<nowiki>
 +
  {{- if .Values.persistence.enabled }}
 +
  volumeClaimTemplates:
 +
  - metadata:
 +
      name: {{ template "elasticsearch.uname" . }}
 +
    {{- if .Values.persistence.labels.enabled }}
 +
      labels:
 +
        release: {{ .Release.Name | quote }}
 +
        chart: "{{ .Chart.Name }}"
 +
        app: "{{ template "elasticsearch.uname" . }}"
 +
        {{- range $key, $value := .Values.labels }}
 +
        {{ $key }}: {{ $value | quote }}
 +
        {{- end }}
 +
    {{- end }}
 +
    {{- with .Values.persistence.annotations  }}
 +
      annotations:
 +
{{ toYaml . | indent 8 }}
 +
    {{- end }}
 +
    spec:
 +
{{ toYaml .Values.volumeClaimTemplate | indent 6 }}
 +
  {{- end }}
 +
</nowiki>
 +
</pre>
  
 +
== Related ==
 +
[[labels:]]
 +
[[kind: StatefulSet]]
  
 +
== See also ==
 
* {{K8s storage}}
 
* {{K8s storage}}
 +
 +
[[Category:Kubernetes]]

Latest revision as of 13:19, 27 December 2022

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

Official example[edit]

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[edit]


   {{- if .Values.persistence.enabled }}
   volumeClaimTemplates:
   - metadata:
       name: {{ template "elasticsearch.uname" . }}
     {{- if .Values.persistence.labels.enabled }}
       labels:
         release: {{ .Release.Name | quote }}
         chart: "{{ .Chart.Name }}"
         app: "{{ template "elasticsearch.uname" . }}"
         {{- range $key, $value := .Values.labels }}
         {{ $key }}: {{ $value | quote }}
         {{- end }}
     {{- end }}
     {{- with .Values.persistence.annotations  }}
       annotations:
 {{ toYaml . | indent 8 }}
     {{- end }}
     spec:
 {{ toYaml .Values.volumeClaimTemplate | indent 6 }}
   {{- end }}

Related[edit]

labels:
kind: StatefulSet

See also[edit]

Advertising: