• Documentation
  • Blog
  • Training
  • Partners
  • Community
  • Case Studies
  • Versions
    v1.18 v1.17 v1.16 v1.15 v1.14
  • English
    中文 Chinese 한국어 Korean 日本語 Japanese Français Deutsch Español Bahasa Indonesia Українська

Black lives matter.

We stand in solidarity with the Black community.
Racism is unacceptable.
It conflicts with the core values of the Kubernetes project and our community does not tolerate it.

Documentation

      • Home
        • Supported Versions of the Kubernetes Documentation
      • Getting started
          • Release notes and version skew
            • v1.18 Release Notes Kubernetes version and version skew support policy
          • Learning environment
            • Installing Kubernetes with Minikube Installing Kubernetes with Kind
          • Production environment
            • Container runtimes
              • Installing Kubernetes with deployment tools
                  • Bootstrapping clusters with kubeadm
                    • Installing kubeadm Troubleshooting kubeadm Creating a single control-plane cluster with kubeadm Customizing control plane configuration with kubeadm Options for Highly Available topology Creating Highly Available clusters with kubeadm Set up a High Availability etcd cluster with kubeadm Configuring each kubelet in your cluster using kubeadm Configuring your kubernetes cluster to self-host the control plane
                  Installing Kubernetes with kops Installing Kubernetes with Kubespray
              • Turnkey Cloud Solutions
                • Running Kubernetes on Alibaba Cloud Running Kubernetes on AWS EC2 Running Kubernetes on Azure Running Kubernetes on Google Compute Engine Running Kubernetes on Multiple Clouds with IBM Cloud Private Running Kubernetes on Tencent Kubernetes Engine
              • On-Premises VMs
                • Cloudstack Kubernetes on DC/OS oVirt
              • Windows in Kubernetes
                • Intro to Windows support in Kubernetes Guide for scheduling Windows containers in Kubernetes
          • Best practices
            • Running in multiple zones Building large clusters Validate node setup PKI certificates and requirements
      • Concepts
          • Overview
            • What is Kubernetes? Kubernetes Components The Kubernetes API
              • Working with Kubernetes Objects
                • Understanding Kubernetes Objects Kubernetes Object Management Object Names and IDs Namespaces Labels and Selectors Annotations Field Selectors Recommended Labels
          • Cluster Architecture
            • Nodes Control Plane-Node Communication Controllers Cloud Controller Manager
          • Containers
            • Containers overview Images Container Environment Runtime Class Container Lifecycle Hooks
          • Workloads
              • Pods
                • Pod Overview Pods Pod Lifecycle Init Containers Pod Preset Pod Topology Spread Constraints Disruptions Ephemeral Containers
              • Controllers
                • ReplicaSet ReplicationController Deployments StatefulSets DaemonSet Jobs Garbage Collection TTL Controller for Finished Resources CronJob
          • Services, Load Balancing, and Networking
            • Service Service Topology EndpointSlices DNS for Services and Pods Connecting Applications with Services Ingress Ingress Controllers Network Policies Adding entries to Pod /etc/hosts with HostAliases IPv4/IPv6 dual-stack
          • Storage
            • Volumes Persistent Volumes Volume Snapshots CSI Volume Cloning Storage Classes Volume Snapshot Classes Dynamic Volume Provisioning Node-specific Volume Limits
          • Configuration
            • Configuration Best Practices ConfigMaps Secrets Managing Resources for Containers Pod Overhead Resource Bin Packing for Extended Resources Organizing Cluster Access Using kubeconfig Files Pod Priority and Preemption
          • Security
            • Overview of Cloud Native Security Pod Security Standards
          • Policies
            • Limit Ranges Resource Quotas Pod Security Policies
          • Scheduling and Eviction
            • Kubernetes Scheduler Taints and Tolerations Assigning Pods to Nodes Scheduling Framework Scheduler Performance Tuning
          • Cluster Administration
            • Cluster Administration Overview Certificates Cloud Providers Managing Resources Cluster Networking Logging Architecture Metrics For The Kubernetes Control Plane Configuring kubelet Garbage Collection Proxies in Kubernetes API Priority and Fairness Installing Addons
          • Extending Kubernetes
            • Extending your Kubernetes Cluster
              • Extending the Kubernetes API
                • Custom Resources Extending the Kubernetes API with the aggregation layer
              • Compute, Storage, and Networking Extensions
                • Network Plugins Device Plugins
              Operator pattern Service Catalog Poseidon-Firmament Scheduler
      • Tasks
          • Install Tools
            • Install and Set Up kubectl Install Minikube
          • Administer a Cluster
              • Administration with kubeadm
                • Certificate Management with kubeadm Upgrading kubeadm clusters Adding Windows nodes Upgrading Windows nodes
              • Manage Memory, CPU, and API Resources
                • Configure Default Memory Requests and Limits for a Namespace Configure Default CPU Requests and Limits for a Namespace Configure Minimum and Maximum Memory Constraints for a Namespace Configure Minimum and Maximum CPU Constraints for a Namespace Configure Memory and CPU Quotas for a Namespace Configure a Pod Quota for a Namespace
              • Install a Network Policy Provider
                • Use Calico for NetworkPolicy Use Cilium for NetworkPolicy Use Kube-router for NetworkPolicy Romana for NetworkPolicy Weave Net for NetworkPolicy
              Access Clusters Using the Kubernetes API Access Services Running on Clusters Advertise Extended Resources for a Node Autoscale the DNS Service in a Cluster Change the default StorageClass Change the Reclaim Policy of a PersistentVolume Cloud Controller Manager Administration Cluster Management Configure Multiple Schedulers Configure Out of Resource Handling Configure Quotas for API Objects Control CPU Management Policies on the Node Control Topology Management Policies on a node Customizing DNS Service Declare Network Policy Developing Cloud Controller Manager Enabling EndpointSlices Enabling Service Topology Encrypting Secret Data at Rest Guaranteed Scheduling For Critical Add-On Pods IP Masquerade Agent User Guide Limit Storage Consumption Namespaces Walkthrough Operating etcd clusters for Kubernetes Reconfigure a Node's Kubelet in a Live Cluster Reserve Compute Resources for System Daemons Safely Drain a Node while Respecting the PodDisruptionBudget Securing a Cluster Set Kubelet parameters via a config file Set up High-Availability Kubernetes Masters Share a Cluster with Namespaces Using a KMS provider for data encryption Using CoreDNS for Service Discovery Using NodeLocal DNSCache in Kubernetes clusters Using sysctls in a Kubernetes Cluster
          • Configure Pods and Containers
            • Assign Memory Resources to Containers and Pods Assign CPU Resources to Containers and Pods Configure GMSA for Windows Pods and containers Configure RunAsUserName for Windows pods and containers Configure Quality of Service for Pods Assign Extended Resources to a Container Configure a Pod to Use a Volume for Storage Configure a Pod to Use a PersistentVolume for Storage Configure a Pod to Use a Projected Volume for Storage Configure a Security Context for a Pod or Container Configure Service Accounts for Pods Pull an Image from a Private Registry Configure Liveness, Readiness and Startup Probes Assign Pods to Nodes Assign Pods to Nodes using Node Affinity Configure Pod Initialization Attach Handlers to Container Lifecycle Events Configure a Pod to Use a ConfigMap Share Process Namespace between Containers in a Pod Create static Pods Translate a Docker Compose File to Kubernetes Resources
          • Manage Kubernetes Objects
            • Declarative Management of Kubernetes Objects Using Configuration Files Declarative Management of Kubernetes Objects Using Kustomize Managing Kubernetes Objects Using Imperative Commands Imperative Management of Kubernetes Objects Using Configuration Files Update API Objects in Place Using kubectl patch
          • Inject Data Into Applications
            • Define a Command and Arguments for a Container Define Environment Variables for a Container Expose Pod Information to Containers Through Environment Variables Expose Pod Information to Containers Through Files Distribute Credentials Securely Using Secrets Inject Information into Pods Using a PodPreset
          • Run Applications
            • Run a Stateless Application Using a Deployment Run a Single-Instance Stateful Application Run a Replicated Stateful Application Scale a StatefulSet Delete a StatefulSet Force Delete StatefulSet Pods Horizontal Pod Autoscaler Horizontal Pod Autoscaler Walkthrough Specifying a Disruption Budget for your Application
          • Run Jobs
            • Running Automated Tasks with a CronJob Parallel Processing using Expansions Coarse Parallel Processing Using a Work Queue Fine Parallel Processing Using a Work Queue
          • Access Applications in a Cluster
            • Web UI (Dashboard) Accessing Clusters Configure Access to Multiple Clusters Use Port Forwarding to Access Applications in a Cluster Use a Service to Access an Application in a Cluster Connect a Front End to a Back End Using a Service Create an External Load Balancer List All Container Images Running in a Cluster Set up Ingress on Minikube with the NGINX Ingress Controller Communicate Between Containers in the Same Pod Using a Shared Volume Configure DNS for a Cluster
          • Monitoring, Logging, and Debugging
            • Application Introspection and Debugging Auditing Auditing with Falco Debug a StatefulSet Debug Init Containers Debug Pods and ReplicationControllers Debug Running Pods Debug Services Debugging DNS Resolution Debugging Kubernetes nodes with crictl Determine the Reason for Pod Failure Developing and debugging services locally Events in Stackdriver Get a Shell to a Running Container Logging Using Elasticsearch and Kibana Logging Using Stackdriver Monitor Node Health Resource metrics pipeline Tools for Monitoring Resources Troubleshoot Applications Troubleshoot Clusters Troubleshooting
          • Extend Kubernetes
            • Configure the Aggregation Layer
              • Use Custom Resources
                • Extend the Kubernetes API with CustomResourceDefinitions Versions in CustomResourceDefinitions
              Set up an Extension API Server Use an HTTP Proxy to Access the Kubernetes API Set up Konnectivity service
          • TLS
            • Configure Certificate Rotation for the Kubelet Manage TLS Certificates in a Cluster Manual Rotation of CA Certificates
          • Manage Cluster Daemons
            • Perform a Rolling Update on a DaemonSet Perform a Rollback on a DaemonSet
          • Install Service Catalog
            • Install Service Catalog using Helm Install Service Catalog using SC
          • Network
            • Validate IPv4/IPv6 dual-stack
          Extend kubectl with plugins Manage HugePages Schedule GPUs
      • Tutorials
        • Hello Minikube
          • Learn Kubernetes Basics
              • Create a Cluster
                • Using Minikube to Create a Cluster Interactive Tutorial - Creating a Cluster
              • Deploy an App
                • Using kubectl to Create a Deployment Interactive Tutorial - Deploying an App
              • Explore Your App
                • Viewing Pods and Nodes Interactive Tutorial - Exploring Your App
              • Expose Your App Publicly
                • Using a Service to Expose Your App Interactive Tutorial - Exposing Your App
              • Scale Your App
                • Running Multiple Instances of Your App Interactive Tutorial - Scaling Your App
              • Update Your App
                • Performing a Rolling Update Interactive Tutorial - Updating Your App
          • Configuration
            • Configuring Redis using a ConfigMap
          • Stateless Applications
            • Exposing an External IP Address to Access an Application in a Cluster Example: Deploying PHP Guestbook application with Redis Example: Add logging and metrics to the PHP / Redis Guestbook example
          • Stateful Applications
            • StatefulSet Basics Example: Deploying WordPress and MySQL with Persistent Volumes Example: Deploying Cassandra with a StatefulSet Running ZooKeeper, A Distributed System Coordinator
          • Clusters
            • AppArmor
          • Services
            • Using Source IP
      • Reference
        • Standardized Glossary
          • Kubernetes Issues and Security
            • Kubernetes Issue Tracker Kubernetes Security and Disclosure Information
          • Using the Kubernetes API
            • Kubernetes API Overview Kubernetes API Concepts Client Libraries Kubernetes Deprecation Policy
          • Accessing the API
            • Controlling Access to the Kubernetes API Authenticating Authenticating with Bootstrap Tokens Certificate Signing Requests Using Admission Controllers Dynamic Admission Control Managing Service Accounts Authorization Overview Using RBAC Authorization Using ABAC Authorization Using Node Authorization Webhook Mode
          • API Reference
            • v1.18 Well-Known Labels, Annotations and Taints
          • Setup tools reference
              • Kubeadm
                • Overview of kubeadm kubeadm init kubeadm join kubeadm upgrade kubeadm config kubeadm reset kubeadm token kubeadm version kubeadm alpha kubeadm init phase kubeadm join phase kubeadm reset phase kubeadm upgrade phase Implementation details
          • Command line tools reference
            • Feature Gates kubelet cloud-controller-manager kube-apiserver kube-controller-manager kube-proxy kube-scheduler Kubelet authentication/authorization TLS bootstrapping
          • kubectl CLI
            • Overview of kubectl JSONPath Support kubectl kubectl Cheat Sheet kubectl Commands kubectl for Docker Users kubectl Usage Conventions
          • Scheduling
            • Scheduling Policies Scheduling Profiles
          Tools
      • Contribute
        • Suggesting content improvements
          • Contributing new content
            • Overview Opening a pull request Documenting for a release Blogs and case studies
          • Reviewing changes
            • Reviewing pull requests For approvers and reviewers
          Localizing Kubernetes documentation Participating in SIG Docs
          • Documentation style overview
            • Content guide Style guide Writing a new topic Page content types Content organization Custom Hugo Shortcodes
          • Reference Docs Overview
            • Contributing to the Upstream Kubernetes Code Quickstart Generating Reference Documentation for the Kubernetes API Generating Reference Documentation for kubectl Commands Generating Reference Pages for Kubernetes Components and Tools
          Advanced contributing
      Docs smoke test page Search Results
  1. Documentation
  2. Concepts
  3. Storage

Storage


Volumes

Persistent Volumes

Volume Snapshots

CSI Volume Cloning

Storage Classes

Volume Snapshot Classes

Dynamic Volume Provisioning

Node-specific Volume Limits

Feedback

Was this page helpful?

Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on Stack Overflow. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.


Analytics

Create an Issue Edit This Page
Page last modified on November 20, 2018 at 5:05 AM PST by Reorder concepts sections (#11032) (Page History)
Home Blog Training Partners Community Case Studies
© 2020 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2020 The Linux Foundation ®. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page
ICP license: 京ICP备17074266号-3
  • Documentation
  • Blog
  • Training
  • Partners
  • Community
  • Case Studies
  • Versions
  • v1.18
  • v1.17
  • v1.16
  • v1.15
  • v1.14
  • English
  • 中文 Chinese
  • 한국어 Korean
  • 日本語 Japanese
  • Français
  • Deutsch
  • Español
  • Bahasa Indonesia
  • Українська