Storage

Persistent storage for Kubernetes workloads. Testkube may use persistent volumes to save test artifacts.

Table of Contents

What Does Storage Mean?

In Kubernetes, storage refers to how data is preserved beyond the lifecycle of a pod or container. While containers are ephemeral by design, persistent storage ensures that important data such as logs, test results, execution reports, or artifacts remains available after tests finish running. This is critical for maintaining audit trails, debugging failed tests, and ensuring compliance with organizational data retention policies.

Storage in Kubernetes provides the foundation for stateful applications and testing workflows, allowing teams to maintain data integrity across container restarts, pod rescheduling, and cluster updates.

Why Storage Matters in Testkube

Testkube uses Kubernetes-native persistent volumes to store and retrieve test artifacts, logs, and reports. This allows users to analyze test outcomes even after pods are terminated, ensuring consistency and traceability across test runs.

By leveraging persistent storage solutions, Testkube enables teams to maintain a complete history of test executions, compare results over time, and troubleshoot issues with access to historical data. This is especially valuable in continuous integration and continuous delivery (CI/CD) pipelines where test visibility and data persistence are essential for quality assurance.

Storage also supports collaboration across distributed teams by providing centralized access to test results and enabling stakeholders to review execution data without requiring direct access to the Kubernetes cluster.

Common Types of Kubernetes Storage

Understanding the different storage types available in Kubernetes helps teams choose the right solution for their testing and application needs:

EmptyDir – Temporary storage that's deleted when the pod stops. This is useful for scratch space, caching, or temporary data that doesn't need to persist beyond a single pod lifecycle. EmptyDir volumes are created when a pod is assigned to a node and exist only as long as that pod runs on that node.

PersistentVolume (PV) – A cluster-level storage resource provisioned by an administrator. PVs represent physical storage in the cluster and can be backed by various storage systems including cloud provider storage, NFS, iSCSI, or local disks. They exist independently of any pod and have their own lifecycle management.

PersistentVolumeClaim (PVC) – A request for persistent storage by a workload. PVCs allow developers to request storage resources without needing to know the details of the underlying storage infrastructure. This abstraction enables portable application definitions that work across different Kubernetes environments.

ConfigMap / Secret – Used for storing configuration data and sensitive credentials. While not traditional storage volumes, these Kubernetes objects provide a way to inject configuration files, environment variables, and secrets into pods. ConfigMaps handle non-sensitive configuration, while Secrets are designed for sensitive information like passwords, tokens, and keys.

StorageClass – Defines different classes of storage with specific performance characteristics, backup policies, or provisioners. StorageClasses enable dynamic provisioning of storage volumes and allow administrators to offer multiple storage tiers to meet different application requirements.

Frequently Asked Questions (FAQs)

Testkube Storage FAQ
Testkube stores logs, test outputs, execution metadata, and artifacts generated during test runs for later analysis. This includes test results, performance metrics, error traces, screenshots, and any custom artifacts produced by your test frameworks.
Yes. Testkube supports custom storage classes so teams can align with their Kubernetes storage policies. This flexibility allows you to use existing storage infrastructure, comply with organizational standards, and optimize costs based on your specific requirements.
Retention depends on configuration. You can set up cleanup policies to remove old test data periodically. This helps manage storage costs while ensuring you retain important historical data for compliance, auditing, or analysis purposes.
Artifacts are available via the Testkube dashboard, CLI, or API after each test run. This multi-channel access ensures that different team members can retrieve test data using their preferred tools and workflows, whether through a web interface, command line, or automated systems.

Related Terms and Concepts

No items found.

Learn More

No items found.