Difference between revisions of "Kubernetes Persistent Volumes (PV)"

From wikieduonline
Jump to navigation Jump to search
(Created page with "Persistent Volumes subsystem provides an API for users and administrators that abstracts details of how storage is provided from how it is consumed == See also == * {{K8s}}")
 
 
(60 intermediate revisions by 8 users not shown)
Line 1: Line 1:
Persistent Volumes subsystem provides an API for users and administrators that abstracts details of how storage is provided from how it is consumed
+
TOMERGE: [[Kubernetes Persistent volumes]]
  
 +
Kubernetes Persistent Volumes subsystem provides an API for users and administrators that abstracts details of how storage is provided from how it is consumed
 +
* https://kubernetes.io/docs/concepts/storage/persistent-volumes/
 +
* https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#persistentvolume-v1-core
 +
__NOTOC__
 +
* <code>[[kubectl get pvc]]</code>
 +
* <code>[[kubectl describe pvc mysql-pv-claim]]</code>
 +
 +
Volumes:
 +
[[VolumeMounts:]]
 +
[[ExtraVolumes]]
 +
 +
== Examples ==
 +
 +
{{k8s volumes examples}}
 +
 +
* Claims: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#claims-as-volumes
 +
<pre>
 +
apiVersion: v1
 +
kind: Pod
 +
metadata:
 +
  name: mypod
 +
spec:
 +
  containers:
 +
    - name: myfrontend
 +
      image: nginx
 +
      volumeMounts:
 +
      - mountPath: "/var/www/html"
 +
        name: mypd
 +
  volumes:
 +
    - name: mypd
 +
      persistentVolumeClaim:
 +
        claimName: myclaim
 +
</pre>
 +
 +
 +
 +
 +
spec:
 +
  volumes:
 +
    - name: elasticsearch-master
 +
      [[persistentVolumeClaim:]]
 +
        [[claimName:]] elasticsearch-master-elasticsearch-master-0
 +
    - name: mynewvolumen
 +
      emptyDir: {}
 +
 +
== [[Kubernetes Persistent Volumes (PV) providers|Providers]] ==
 +
 +
== Error ==
 +
error: error validating "yourpv": error validating data:
 +
ValidationError(PersistentVolume.spec.csi): missing required field "volumeHandle" in
 +
io.k8s.api.core.v1.CSIPersistentVolumeSource; if you choose to ignore these errors, turn
 +
validation off with --validate=false
 +
 +
== Metrics ==
 +
kubelet_volume_stats_available_bytes
 +
kubelet_volume_stats_capacity_bytes
 +
kubelet_volume_stats_inodes
 +
kubelet_volume_stats_inodes_free
 +
kubelet_volume_stats_inodes_used
 +
kubelet_volume_stats_used_bytes
 +
Ref: https://stackoverflow.com/questions/44718268/how-to-monitor-disk-usage-of-kubernetes-persistent-volumes
 +
 +
== News ==
 +
* Aug 2024 Persistent Volume last phase transition time <ref>https://kubernetes.io/blog/2024/08/13/kubernetes-v1-31-release/#persistent-volume-last-phase-transition-time</ref>
 +
* Jun 2018 [[v1.11]] [[Resizing]] Persistent Volumes using Kubernetes in alpha
 +
 +
== CKA ==
 +
* [[CKA v1.23]]: [[Understand storage classes, persistent volumes]]
 +
* [[CKA v1.18]]: Understand [[persistent volumes]] and know how to create them
 +
* [[CKA v1.15]]: [[Understand PersistentVolumeClaims for storage]]
 +
 +
== Activities ==
 +
* [[Kubernetes: Rename PVs]]
 +
* [[Access a volume with a temporary pod]]
 +
 +
== Related terms ==
 +
* [[Persistent Volume Claim (PVC)]]
 +
* [[Volumes (Kubernetes)]]
 +
* <code>[[kubectl apply]]</code>
 +
* [[Container Storage Interface (CSI)]]
 +
* <code>[[defaultMode:]]</code>
 +
* <code>[[values.yml]]</code>
 +
* <code>[[kubernetes_persistent_volume]]</code>
 +
* <code>[[kind: ConfigMap]]</code>
 +
* <code>[[kind: PersistentVolume]]</code>
 +
* [[Terraform kubernetes resource: kubernetes persistent volume v1]]
  
 
== See also ==
 
== See also ==
* {{K8s}}
+
* {{K8s volumes}}
 +
* {{Kubernetes storage}}
 +
 
 +
[[Category:K8s]]

Latest revision as of 14:47, 12 September 2024

TOMERGE: Kubernetes Persistent volumes

Kubernetes Persistent Volumes subsystem provides an API for users and administrators that abstracts details of how storage is provided from how it is consumed

Volumes:
VolumeMounts:
ExtraVolumes

Examples[edit]

 volumes:
 your-vol-1:
   Type:      ConfigMap (a volume populated by a ConfigMap)
   Name:      prod-admin-config
   Optional:  false
 your-vol-2:
   Type:        Secret (a volume populated by a Secret)
   SecretName:  your-secret-name
   Optional:    false
 your-vol-3:
   Type:                    Projected (a volume that contains injected data from multiple sources)
   TokenExpirationSeconds:  3607
   ConfigMapName:          your-kube-root-ca.crt
   ConfigMapOptional:       <nil>
   DownwardAPI:             true
apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
    - name: myfrontend
      image: nginx
      volumeMounts:
      - mountPath: "/var/www/html"
        name: mypd
  volumes:
    - name: mypd
      persistentVolumeClaim:
        claimName: myclaim



spec:
  volumes:
    - name: elasticsearch-master
      persistentVolumeClaim:
        claimName: elasticsearch-master-elasticsearch-master-0
    - name: mynewvolumen
      emptyDir: {}

Providers[edit]

Error[edit]

error: error validating "yourpv": error validating data: 
ValidationError(PersistentVolume.spec.csi): missing required field "volumeHandle" in 
io.k8s.api.core.v1.CSIPersistentVolumeSource; if you choose to ignore these errors, turn 
validation off with --validate=false

Metrics[edit]

kubelet_volume_stats_available_bytes
kubelet_volume_stats_capacity_bytes
kubelet_volume_stats_inodes
kubelet_volume_stats_inodes_free
kubelet_volume_stats_inodes_used
kubelet_volume_stats_used_bytes

Ref: https://stackoverflow.com/questions/44718268/how-to-monitor-disk-usage-of-kubernetes-persistent-volumes

News[edit]

  • Aug 2024 Persistent Volume last phase transition time [1]
  • Jun 2018 v1.11 Resizing Persistent Volumes using Kubernetes in alpha

CKA[edit]

Activities[edit]

Related terms[edit]

See also[edit]

  • https://kubernetes.io/blog/2024/08/13/kubernetes-v1-31-release/#persistent-volume-last-phase-transition-time
  • Advertising: