All Tools View Categories About Contact Privacy

PersistentVolumeClaim YAML Generator

Build a valid Kubernetes PersistentVolumeClaim (core/v1) from access modes, a storage request, and optional binding controls.

Runs entirely in your browser - nothing is uploaded and no cluster connection is made.
-
storage
0
access modes
Your generated PersistentVolumeClaim YAML will appear here.

About PersistentVolumeClaim YAML Generator

A PersistentVolumeClaim (PVC) is how a pod asks for storage. It sits in a namespace and, once created, the cluster binds it to a matching PersistentVolume. The PersistentVolumeClaim YAML Generator writes that manifest from a form so you do not have to recall the core/v1 schema.

You set the PVC name and namespace, then the access modes it needs and the minimum storage it requests under resources.requests.storage. You can also set an optional volume mode (Filesystem or Block), a storageClassName to target a particular class, a matchLabels selector to constrain which volumes it can bind to, and a volumeName to bind to one specific volume. The resulting YAML is valid core/v1.

The name is validated as an RFC 1123 label, a storage request is required, and at least one access mode is required. Problems are reported in a clear panel. Everything runs locally and nothing is uploaded.

Features

  • Namespace - optional; defaults to default.
  • Access modes - ReadWriteOnce, ReadOnlyMany, ReadWriteMany, ReadWriteOncePod (comma separated).
  • Storage request - resources.requests.storage such as 10Gi.
  • volumeMode - Filesystem or Block.
  • storageClassName - optional; target a specific class.
  • Selector - optional matchLabels (key=value, comma separated).
  • volumeName - optionally bind to a specific PV.
  • Validation - RFC 1123 name and required fields.
  • Copy / Download / Print - get pvc.yaml wherever you need it.

How to Use

  1. Name the PVC. Type a valid RFC 1123 name.
  2. Set access modes and storage request. e.g. ReadWriteOnce and 10Gi.
  3. Pick a volume mode. Usually Filesystem.
  4. Optional storageClassName, selector or volumeName.
  5. Watch the preview and export.

Examples

Example 1 - simple. accessModes ReadWriteOnce, storage 10Gi.

Example 2 - storage class. storageClassName fast binds to a fast class.

Example 3 - selector. selector app=data limits binding to PVs labelled app=data.

Example 4 - specific PV. volumeName pv-data-01 binds that exact volume.

Example 5 - Block. volumeMode Block for raw block devices.

Benefits

  • Correct schema - valid core/v1 PersistentVolumeClaim.
  • Flexible binding - storage class, selector and volumeName.
  • Validated - names and required fields checked.
  • Clean output - empty fields omitted.
  • Private - everything runs in the browser.
  • Copy, download or print - get the manifest where you need it.

Frequently Asked Questions

What is a PersistentVolumeClaim?
A PersistentVolumeClaim (PVC) is a request for storage by a user. It can reference a namespace and is bound to a matching PersistentVolume.
What does the storage request mean?
resources.requests.storage is the minimum amount of storage you need, such as 10Gi. The bound volume will be at least that large.
What are access modes?
They must match a PersistentVolume: ReadWriteOnce, ReadOnlyMany, ReadWriteMany or ReadWriteOncePod. Use a comma to list several.
What is a selector?
An optional matchLabels selector restricts which PersistentVolumes the claim can bind to. Leave it empty to allow any compatible volume.
What is volumeName?
If set, the claim binds to that specific PersistentVolume by name. Leave empty for automatic binding.
Is the name validated?
Yes. The PVC name must be a valid RFC 1123 label (lowercase letters, numbers and hyphens).
Does this connect to a cluster?
No. Everything is assembled in your browser and nothing is uploaded.
Can I download it?
Yes. Copy the YAML, download pvc.yaml, or print it.