Difference between revisions of "VolumeClaimTemplate:"
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
Contents
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]
- Kubernetes storage, storage classes, PersistentVolume (PV), PVC, CSI,
kind: StorageClass, kind: PersistentVolumeClaim, kind: PersistentVolume
,kubectl [ get | describe | edit ] pvc
,volumeClaimTemplates:
,kubectl patch pv
,FailedMount
, Volume Expansion, Volume Cloning, snapshots, ExtraVolumes, NotTriggerScaleUp,volumePVCDataSource, AllowVolumeExpansion
, EKS storage, provisioner, Storage Capacity Tracking,VolumeBinding, VolumeClaimTemplate, storage.k8s.io
, CKA Storage, DoKC, EmptyDir, Volume populators,storageclass.kubernetes.io
Advertising: