Managing Storage
When using the Kubernetes Engine, you can create and manage storage. Storage is created and managed by item, including PVC, PV, and storage classes.
The PVC, PV, and storage class services are set to the default cluster (namespace) selected when the service was created. Even if you select a different item from the list, the default cluster (namespace) setting is maintained.
- To select a different cluster (namespace), click the gear button on the right side of the list. In the Cluster/Namespace Settings popup window, select the cluster and namespace you want to change to, and click the OK button. You can then 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 storage classes that use the volume of the Block storage product in Virtual Server |
| Object Storage | Can be linked with Samsung Cloud Platform products or external Object Storage
|
| File Storage | Supports storage classes that use NFS and CIFS protocol volumes with the File Storage product
|
Managing PVC
A Persistent Volume Claim (PVC) is an object that defines the storage capacity to be allocated. PVC provides high usability through abstraction and can prevent data from being deleted together with the container lifecycle (maintaining Data Persistence).
Creating a PVC
To create a PVC, follow these steps:
- Click All Services > Container > Kubernetes Engine. You will be taken to the Kubernetes Engine Service Home page.
- On the Service Home page, click Storage under the menu, then click PVC. You will be taken to the PVC List page.
- On the PVC List page, select the cluster and namespace from the gear button at the top left, then click Create Object.
- In the Create Object popup window, enter the object information and click the OK button.
Viewing PVC Details
To view PVC details, follow these steps:
- Click All Services > Container > Kubernetes Engine. You will be taken to the Kubernetes Engine Service Home page.
- On the Service Home page, click Storage under the menu, then click PVC. You will be taken to the PVC List page.
- On the PVC List page, select the cluster and namespace from the gear button at the top left, then click OK.
- On the PVC List page, select the item you want to view details for. You will be taken to the PVC Details page.
- Select Show System Objects at the top of the list to display Kubernetes objects.
- Click each tab to view the service information.
Category Detailed DescriptionStatus Displays the current status of the PVC. - Bound: Normal connection
Delete PVC Deletes the PVC Details Displays detailed information about the PVC YAML Allows you to modify the PVC resource file in the YAML editor - Click the Edit button, modify the resource, and click the Save button to apply the changes
Events Displays events that occurred within the PVC Account Information Displays basic information about the account, such as the account name, location, and creation time Metadata Information Displays metadata information about the PVC Object Information Displays object information about the PVC Table. PVC detail items
Delete PVC
To delete a PVC, follow these steps:
- Click All Services > Container > Kubernetes Engine menu. Move to the Service Home page of Kubernetes Engine.
- On the Service Home page, click PVC under the Storage menu. Move to the PVC List page.
- On the PVC List page, select a cluster and namespace from the gear button at the top left, and click Confirm.
- On the PVC List page, select the item you want to delete. Move to the PVC Details page.
- On the PVC Details page, click Delete PVC.
- When the Notification Confirmation window appears, click the Confirm button.
You can delete the selected PVC by selecting the item you want to delete on the PVC List page and clicking Delete.
- Before deleting a PVC, check if the PV and volume to be deleted are backed up.
Manage PV
Persistent Volume (PV) refers to a physical disk created by the system administrator in Kubernetes Engine.
Create PV
To create a PV, follow these steps:
- Click All Services > Container > Kubernetes Engine menu. Move to the Service Home page of Kubernetes Engine.
- On the Service Home page, click PV under the Storage menu. Move to the PV List page.
- On the PV List page, select a cluster and namespace from the gear button at the top left, and click Create Object.
- In the Create Object popup window, enter object information and click the Confirm button.
Check PV Details
To check the PV details, follow these steps:
- Click All Services > Container > Kubernetes Engine menu. Move to the Service Home page of Kubernetes Engine.
- On the Service Home page, click PV under the Storage menu. Move to the PV List page.
- On the PV List page, select a cluster and namespace from the gear button at the top left, and click Confirm.
- On the PV List page, select the item you want to check the details of. Move to the PV Details page.
- Select Show System Objects at the top of the list to display items other than Kubernetes objects.
- Click each tab to check the service information.
Category Description Status Displays the current status of the PV. - Bound: Normal connection
Delete PV Delete PV Details Check the detailed information of the PV YAML Modify the PV resource file in the YAML editor - Click the Edit button, modify the resource, and click the Save button to apply the changes
Events Check the events that occurred within the PV Account Information Check the basic information of the account, such as account name, location, and creation time Metadata Information Check the metadata information of the PV Object Information Check the object information of the PV Table. PV Details Items
Delete PV
To delete a PV, follow these steps:
- Click All Services > Container > Kubernetes Engine menu. Move to the Service Home page of Kubernetes Engine.
- On the Service Home page, click PV under the Storage menu. Move to the PV List page.
- On the PV List page, select a cluster and namespace from the gear button at the top left, and click Confirm.
- On the PV List page, select the item you want to delete. Move to the PV Details page.
- On the PV Details page, click Delete PV.
- When the Notification Confirmation window appears, click the Confirm button.
Managing Storage Classes
A Storage Class (Storage Class) is a Kubernetes resource that defines the type or performance level of storage.
Kubernetes Engine provides nfs-subdir-external-sc and bs-sc storage classes by default, with the following characteristics:
- The nfs-subdir-external-sc storage class shares file storage connected to the cluster.
- Access mode: RWX - ReadWriteMany
- Reclaim policy: Delete (deletes PV and stored data when PVC is deleted), Retain (keeps PV and stored data when PVC is deleted)
- Capacity expansion: Individual PVC expansion not supported / File storage expansion allowed
- The bs-sc storage class supports SSD-type volumes in conjunction with block storage products.
- Access mode: RWO - ReadWriteOnce
- Reclaim policy: Delete (deletes PV and stored data when PVC is deleted), Retain (keeps PV and stored data when PVC is deleted)
- Capacity expansion supported: Individual PVC expansion supported (8 Gi unit volume automatic expansion)
Predefined Storage Classes
| Storage Class | Reclaim Policy* | Volume Expansion Supported** | Mount Options | Note |
|---|---|---|---|---|
| nfs-subdir-external-sc (default) | Delete | Not supported | nfsvers=3, noresvport | Linked to default volume (NFS) settings |
| nfs-subdir-external-sc-retain | Retain | Not supported | nfsvers=3, noresvport | Linked to default volume (NFS) settings |
| bs-sc | Delete | Supported | - | Linked to VirtualServer > BlockStorage products |
| bs-sc-retain | Retain | Supported | - | Linked to VirtualServer > BlockStorage products |
- (*) To use a non-default storage class, specify the storage class name in the spec.storageClassName of the PVC.
- (**) Users can change the default storage class (storageclass.kubernetes.io/is-default-class: “true” annotation adjustment)Table. List of predefined storage classes
The characteristics of the reclaim policy are as follows:
- Delete: When a PVC is deleted, the corresponding PV and physical data are also deleted.
- Retain: When a PVC is deleted, the corresponding PV and physical data are not deleted and are retained. Since physical data not used by the workload can remain in storage, careful capacity management is required.
When using volume expansion, consider the following:
- nfs-subdir-external-sc storage class
- The capacity of the PVC cannot be adjusted. (Volume expansion not supported)
- All PVs share the total capacity of the file storage, so individual PVC volume expansion is not necessary.
- bs-sc storage class
- The capacity of the PVC can be expanded. (No reduction function supported)
- The capacity of the PV is not guaranteed to be the same as the capacity requested by the PVC. (8 Gi unit expansion supported)
Creating a Storage Class
To create a storage class, follow these steps:
- Click All Services > Container > Kubernetes Engine. The Kubernetes Engine Service Home page appears.
- On the Service Home page, click Storage under the Storage menu. The Storage Class List page appears.
- On the Storage Class List page, select the cluster and namespace from the gear button at the top left, and then click Create Object.
- In the Create Object popup, enter the object information and click OK.NoteFor more information on the concept of storage classes and object creation, see the Kubernetes official documentation > Storage Classes.
Checking Storage Class Details
To check the details of a storage class, follow these steps:
- Click All Services > Container > Kubernetes Engine. The Kubernetes Engine Service Home page appears.
- On the Service Home page, click Storage under the Storage menu. The Storage Class List page appears.
- On the Storage Class List page, select the cluster and namespace from the gear button at the top left, and then click OK.
- On the Storage Class List page, select the item for which you want to check the details. The Storage Class Details page appears.
- Select Show System Objects at the top of the list to display items other than Kubernetes objects.
- Click each tab to check the service information.
Category DescriptionDelete Storage Class Delete the storage class Details Check the detailed information of the storage class YAML Modify the storage class resource file in the YAML editor - Click the Edit button, modify the resource, and click the Save button to apply the changes
Events Check the events that occurred within the storage class Account Information Check the basic information of the account, such as the account name, location, and creation time Metadata Information Check the metadata information of the storage class Object Information Check the object information of the storage class Table. Storage class details items
Deleting a Storage Class
To delete a storage class, follow these steps:
- Click All Services > Container > Kubernetes Engine. The Kubernetes Engine Service Home page appears.
- On the Service Home page, click Storage under the Storage menu. The Storage Class List page appears.
- On the Storage Class List page, select the cluster and namespace from the gear button at the top left, and then click OK.
- On the Storage Class List page, select the item you want to delete. The Storage Class Details page appears.
- On the Storage Class Details page, click Delete Storage Class.
- In the Confirmation window, click OK.CautionOn the storage class list page, you can delete the selected storage class by clicking Delete after selecting the item you want to delete.