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 by default to the cluster (namespace) selected when creating the service. 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 View 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 integrated with Virtual Server. |
| Object Storage | Can be integrated with Samsung Cloud Platform products or external Object Storage
|
| File storage | Supports storage classes for NFS and CIFS 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 issue of data being deleted together when the 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. PVC List Navigate to the page.
- PVC List page, after selecting the cluster and namespace from the top‑left list, click Create Object.
- In the Object Creation Popup, enter the object information and click the Create button.
Check PVC detailed information
To view detailed PVC information, follow these steps.
- Click the All Services > Container > Kubernetes Engine menu. 1. Go 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 in the upper left, then click Search.
- PVC List page, select the item for which you want to view detailed information. 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 are displayed.
- Click each tab to view the service information.
Category Detailed descriptionStatus indicator Displays the current status of the PVC. - Bound: Normal connection
Delete PVC Delete PVC Detailed Information You can view detailed information of the PVC. YAML The PVC 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 PVC Account information Check basic information about the Account, such as name, location, and creation time. metadata information Check the metadata information of the PVC 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 at the top left, then click Query.
- On the PVC List page, select the items you want to delete. 4. PVC Details Navigate to the page.
- On the PVC Details page, click Delete PVC.
- When the notification confirmation window appears, click the Confirm button.
After selecting the item you want to delete on the PVC list page, 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 that a system administrator creates in the Kubernetes Engine.
Create PV
To create a PV, follow these steps.
- Click the All Services > Container > Kubernetes Engine menu. 1. Go 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 Create Object.
- In the Object Creation Popup, enter the object information 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.
- Service Home page, click PV under the Storage menu. 2. Navigate 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. PV Details Navigate to the page.
- If you select Show system objects at the top of the list, all items except the Kubernetes object entries are displayed.
- Click each tab to view the service information.
Category Detailed description Status indicator 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, click the Diff button to view the changes
event Check events that occurred within the PV Account information Check basic information about the Account, such as name, location, and creation time. metadata information Check the PV metadata information Object Information Check the PV’s object information Table. PV detailed information items
Delete PV
To delete a PV, follow these steps.
- All Services > Container > Kubernetes Engine menu, click it. 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 list at the top left, click Search.
- Select the item you want to delete on the PV List page. 4. PV Details navigate to the page.
- On the PV Details page, click Delete PV.
- When the notification confirmation window appears, click the Confirm button.
Managing Storage Classes
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 shares and uses file storage attached to the cluster.
- Access mode: RWX - ReadWriteMany Reclaim policy: Delete (when PVC is deleted, PV and stored data are deleted together), Retain (when PVC is deleted, PV and stored data are retained)
- 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 / entire 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 PVC is deleted, PV and stored data are deleted together), Retain (when PVC is deleted, 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 | Associate with the NFS volume selected in “StorageClass setting”. |
| nfs-subdir-external-sc-retain | Immediate | - | Retain | Unsupported | nfsvers=3, noresvport | Associate with the NFS volume selected in “StorageClass setting”. |
| bs-ssd | WaitForFirstConsumer | SSD | Delete | Support | - | VirtualServer > Block Storage integration |
| bs-ssd-retain | WaitForFirstConsumer | SSD | Retain | Support | - | VirtualServer > Block Storage integration |
- To use a storage class other than the default, you need to specify the storage class name in PVC’s spec.storageClassName.
- Users can directly change the default storage class (adjust the storageclass.kubernetes.io/is-default-class: “true” annotation)
(*) 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: Create PV 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 (see “Block Storage Storage Class Usage” for detailed usage)
(***) The characteristics 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’s 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. * (Zoom function not supported)
- A PVC’s requested capacity does not guarantee that the corresponding PV will have that amount of capacity. * (Support 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 assigned to the 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 nodes 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. Go 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 in the upper left, then click Create Object.
- In the Object Creation Popup, enter the object information and click the Create button.ReferenceFor detailed information on the concept of storage classes and object creation, please refer to 쿠버네티스 공식 문서 > 스토리지 클래스.
Check detailed storage class information
To view detailed information about the StorageClass, follow these steps.
- Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
- 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.
- 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, all items except the Kubernetes object entries are 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, 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 storage class Account information Check basic information about the Account, such as name, location, and creation 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 StorageClass, follow these steps.
- Click the All Services > Container > Kubernetes Engine menu. 1. Go 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 in the upper left, then click Search.
- Select the items you want to delete on the StorageClass List page. 4. Go to the StorageClass Details page.
- Click Delete StorageClass on the StorageClass Details page.
- 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)
- When expanding statefulset replicas and creating an additional PVC, it fails