Manage Storage
You can create and manage storage for use with Kubernetes Engine. Storage is created and managed for each PVC, PV, and StorageClass.
PVC, PV, and storage class services are set to the cluster (namespace) selected when creating the service by default. Even if you select a different item in the list, the default cluster (namespace) setting is retained.
- To select a different cluster (namespace), click the list in the top‑left corner of the list page. * Select the cluster and namespace to modify from the list and click the Query button. * You can view the services created in the selected cluster/namespace.
The items associated with each storage type are as follows.
| type | Detailed description |
|---|---|
| Block storage | Supports a storage class that utilizes the volume of the Block storage product within Virtual Server. |
| Object storage | Can be integrated with Samsung Cloud Platform products or external Object Storage
|
| File storage | Supports the storage class of NFS protocol volumes in conjunction with the File Storage product
|
Managing PVC
A Persistent Volume Claim (PVC) is an object defined to allocate the required storage capacity. PVC provides high usability through abstraction and can prevent the problem of data disappearing when the container lifecycle (Container Lifecycle) expires (maintaining Data Persistence).
Create PVC
To create a PVC, follow these steps.
- All Services > Container > Kubernetes Engine Click the menu. 1. Navigate to the Service Home page of Kubernetes Engine.
- On the Service Home page, click PVC under the Storage menu. 2. Go to the PVC list page.
- On the PVC List page, select the cluster and namespace from the list at the top left, then click Create Object.
- Enter the object information in the Object Creation Popup and click the Create button.
Check PVC detailed information
To view the PVC details, follow these steps.
- Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
- On the Service Home page, click PVC under the Storage menu. 2. Go to the PVC list page.
- On the PVC List page, select the cluster and namespace from the list at the top left, then click View.
- Select the item you want to view detailed information for on the PVC List page. 4. PVC Details Navigate to the page.
- If you select Show system objects at the top of the list, all items except the Kubernetes object entries will be displayed.
- Click each tab to view the service information.
Category Detailed descriptionStatus display Displays the current status of the PVC. - Bound: Normal connection
Delete PVC Delete PVC Detailed Information View detailed PVC information YAML You can edit the PVC’s resource file in the YAML editor - Click the Edit button, modify the resource, then click the Done button to apply the changes
- When editing content, you can click the Diff button to view the changes
Event Check events that occurred within the PVC Account information Check basic information about the Account, such as name, location, creation date and time. Metadata Information Check PVC metadata information Object Information Check PVC object information Table. PVC detailed information items
Delete PVC
To delete a PVC, follow these steps.
- All Services > Container > Kubernetes Engine Click the menu. 1. Navigate to the Service Home page of Kubernetes Engine.
- On the Service Home page, click PVC under the Storage menu. 2. Navigate to the PVC list page.
- On the PVC List page, select the cluster and namespace from the list in the upper left, then click View.
- On the PVC List page, select the items you want to delete. 4. Go to the PVC Details page.
- On the PVC Details page, click Delete PVC.
- When the notification dialog appears, click the Confirm button.
On the PVC list page, after selecting the item you want to delete, click Delete to delete the selected PVC.
- Before deleting the PVC, verify the backup status of the PV and volume to be removed.
Managing PV
Persistent Volume (PV) refers to the physical disk created by the system administrator in the Kubernetes Engine.
Create PV
To create a PV, follow the steps below.
- Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
- On the Service Home page, click PV under the Storage menu. 2. Navigate to the PV list page.
- PV List page, after selecting the cluster and namespace from the top‑left list, click Create Object.
- Enter the object information in the Object Creation Popup and click the Create button.
Check PV detailed information
To view detailed PV information, follow these steps.
- All Services > Container > Kubernetes Engine Click the menu. 1. Navigate to the Service Home page of Kubernetes Engine.
- On the Service Home page, click PV under the Storage menu. 2. Go to the PV list page.
- On the PV List page, after selecting the cluster and namespace from the list at the top left, click Search.
- Select the item you want to view detailed information for on the PV List page. 4. Navigate to the PV Details page.
- Selecting Show system objects at the top of the list displays all items except the Kubernetes object entries.
- Click each tab to view the service information.
Category Detailed description Status display Displays the current status of the PV. - Bound: normal connection
Delete PV Delete PV Detailed Information Detailed PV information can be viewed YAML The PV’s resource file can be edited in the YAML editor - Click the Edit button, modify the resource, then click the Done button to apply the changes
- When editing content, you can click the Diff button to view the changed content
event Check events that occurred within the PV Account information Check basic information about the Account, such as name, location, and creation date and time. metadata information Check the PV’s metadata information Object Information Check PV object information Table. PV detailed information items
Delete PV
To delete a PV, follow these steps.
- Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
- On the Service Home page, click PV under the Storage menu. 2. Go to the PV list page.
- On the PV List page, select the cluster and namespace from the list at the top left, then click Search.
- Select the items you want to delete on the PV List page. 4. Go to the PV Details page.
- On the PV Details page, click Delete PV.
- When the Notification dialog appears, click the Confirm button.
Managing Storage Classes
A storage class (Storage Class) is a Kubernetes resource that defines the type, performance, and other levels of storage.
Kubernetes Engine provides the nfs-subdir-external-sc and bs-ssd storage classes by default, and has the following characteristics.
- The nfs-subdir-external-sc storage class is available only to clusters that use NFS volumes in StorageClass settings, and it shares the file storage attached to the cluster for use.
- Access mode: RWX - ReadWriteMany Reclaim policy: Delete (deletes the PV and stored data when the PVC is deleted), Retain (keeps the PV and stored data when the PVC is deleted)
- Volume binding mode: Immediate (creates a PV as soon as the PVC is created or binds to an existing PV)
- Capacity expansion: individual PVC expansion not allowed / full file storage expansion allowed
- The bs-ssd storage class supports using SSD-type volumes in conjunction with the Block Storage product.
- Access mode: RWO - ReadWriteOnce
- Reclaim policy: Delete(when a PVC is deleted, the PV and stored data are deleted together), Retain(when a PVC is deleted, the PV and stored data are retained)
- Volume binding mode: WaitForFirstConsumer (wait for PV creation until a Pod using the PVC is created)
- Capacity expansion support: individual PVC expansion support (automatic volume expansion in 8 Gi increments)
Predefined storage class
| Storage class | Volume Binding Mode* | Default volume type** | Reclaim Policy*** | Allow volume expansion | Mount options | Remarks |
|---|---|---|---|---|---|---|
| nfs-subdir-external-sc (default) | Immediate | - | Delete | Unsupported | nfsvers=3, noresvport, nconnect=4, _netdev | StorageClass settings offered only to clusters using NFS volumes, linked with the selected NFS volume. |
| nfs-subdir-external-sc-retain | Immediate | - | Retain | Unsupported | nfsvers=3, noresvport, nconnect=4, _netdev | StorageClass setting is available only for clusters that use NFS volumes, and is linked to the selected NFS volume. |
| bs-ssd | WaitForFirstConsumer | SSD | Delete | Support | - | VirtualServer > Integration with Block Storage service |
| bs-ssd-retain | WaitForFirstConsumer | SSD | Retain | Support | - | VirtualServer > Integration with Block Storage service |
- To use a storage class other than the default, you need to specify the storage class name in the PVC’s spec.storageClassName.
- User can directly change the default storage class (adjust the storageclass.kubernetes.io/is-default-class: “true” annotation)
- StorageClass setting In clusters that do not use NFS volumes, the nfs-subdir-external-sc family storage class is not provided, so there is no default (default) storage class; therefore, you need to specify the storage class name to use in the PVC’s spec.storageClassName.
(*) The characteristics of the volume binding mode are as follows.
- Immediate: Create PV at the time the PVC is created (regardless of POD creation)
- WaitForFirstConsumer: PV creation after the POD to be bound is created
(**) For the bs-ssd storage class, you can change the volume type to be used by modifying parameter.type.
- SSD (default): standard SSD Block Storage type
- SSD_Provisioned: max_iops, max_throughput configurable type (For detailed usage, see “Block Storage storage class usage”)
(***) The features of the reclamation policy are as follows.
- Delete: If you delete the PVC, the associated PV and physical data will also be deleted.
- Retain: Even if the PVC is deleted, the associated PV and physical data are not deleted and are retained. * Physical data not used by the workload may remain in storage, so careful capacity management is required.
When using volume expansion, consider the following.
- nfs-subdir-external-sc storage class
- Cannot adjust the PVC capacity. * (Volume expansion not supported)
- All PVs share the total capacity of the File Storage volume, so expanding the volume for each PVC is not required.
- bs-ssd storage class
- You can expand the PVC capacity. * (Scaling not supported)
- The capacity requested by a PVC does not guarantee that the PV will have that amount of capacity. * (Support for expansion in 8 Gi units)
Consider the following when using Multi-AvailabilityZone.
- nfs-subdir-external-sc storage class
- Cannot specify the AZ where the volume will be created
- PV can be mounted on nodes in any AZ regardless of the AZ specified for File Storage.
- bs-ssd storage class
- You can specify the AZ where the volume and Pod are created by setting allowedTopologies in the StorageClass.
- Pod scheduling node and volume creation AZ must match. * (Cross-AZ not supported)
Create StorageClass
To create a storage class, follow these steps.
- All Services > Container > Kubernetes Engine Click the menu. 1. Navigate to the Service Home page of Kubernetes Engine.
- On the Service Home page, click StorageClass under the Storage menu. 2. Navigate to the StorageClass list page.
- StorageClass List page, after selecting the cluster and namespace from the list at the top left, click Create Object.
- Enter the object information in the Object Creation Popup and click the Create button.ReferenceFor detailed information on the concept of storage classes and object creation, refer to the Kubernetes official documentation > Storage Class.
Check detailed storage class information
To view detailed information about the StorageClass, follow these steps.
- All Services > Container > Kubernetes Engine Click the menu. 1. Navigate to the Service Home page of Kubernetes Engine.
- On the Service Home page, click StorageClass under the Storage menu. 2. Navigate to the StorageClass list page.
- On the StorageClass List page, select the cluster and namespace from the list at the top left, then click Search.
- Select the item you want to view detailed information for on the StorageClass List page. 4. Go to the StorageClass Details page.
- If you select Show system objects at the top of the list, the remaining items, excluding Kubernetes object entries, will be displayed.
- Click each tab to view the service information.
Category Detailed descriptionDelete StorageClass Delete the storage class Detailed Information Detailed information of the storage class can be viewed YAML The resource file of the StorageClass can be edited in the YAML editor - Click the Edit button, modify the resource, and then click the Done button to apply the changes
- When editing the content, you can click the Diff button to view the changes
Event Check events that occurred within the storage class Account information Check basic information about the Account, such as name, location, creation date and time. Metadata Information Check the metadata information of the StorageClass Object Information Check the object information of the storage class Table. StorageClass detailed information items
Delete StorageClass
To delete a storage class, follow these steps.
- Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
- On the Service Home page, click StorageClass under the Storage menu. 2. Navigate to the StorageClass List page.
- StorageClass List page, select the cluster and namespace from the list at the top left, then click Search.
- On the StorageClass List page, select the items you want to delete. 4. Navigate to the StorageClass Details page.
- On the StorageClass Details page, click Delete StorageClass.
- When the notification dialog appears, click the Confirm button.
If you delete the storage class referenced by a PVC in use, the following issue may occur.
- PVC deletion, recreation failed
- PVC volume size expansion failure (Block Storage)
- Failure when creating an additional PVC during statefulset Replicas expansion