Compute
Elastic Cloud Server
Huawei Cloud Flexus
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Networking
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Management & Governance
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
OneAccess
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
IAM Identity Center
Cloud Operations Center
Resource Governance Center
Migration
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Analytics
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
Data Lake Factory
DataArts Lake Formation
IoT
IoT Device Access
Others
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Security & Compliance
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Edge Security
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Web3 Node Engine Service
Media Services
Media Processing Center
Video On Demand
Live
SparkRTC
MetaStudio
Storage
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service Turbo
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Databases
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
Multi-Site High Availability Service
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Business Applications
Workspace
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Video Intelligent Analysis Service
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Content Delivery & Edge Computing
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Intelligent EdgeCloud
Solutions
SAP Cloud
High Performance Computing
Developer Services
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
CodeArts Repo
Cloud Application Engine
MacroVerse aPaaS
KooMessage
KooPhone
KooDrive

Overview

Updated on 2024-12-04 GMT+08:00

Container Storage

CCE container storage is implemented based on Kubernetes container storage APIs (CSI). CCE integrates multiple types of cloud storage and covers different application scenarios. CCE is fully compatible with Kubernetes native storage services, such as emptyDir, hostPath, secret, and ConfigMap.

CCE allows workload pods to use multiple types of storage:

  • In terms of implementation, storage supports Container Storage Interface (CSI) and Kubernetes native storage.

    Type

    Description

    CSI

    An out-of-tree volume add-on, which specifies the standard container storage API and allows storage vendors to use standard custom storage plugins that are mounted using PVCs and PVs without the need to add their plugin source code to the Kubernetes repository for unified build, compilation, and release. CSI is a recommended in Kubernetes 1.13 and later versions.

    Kubernetes native storage

    An "in-tree" volume add-on that is built, compiled, and released with the Kubernetes repository.

  • In terms of storage media, storage can be classified as cloud storage, local storage, and Kubernetes resource objects.

    Type

    Description

    Application Scenario

    Cloud storage

    The storage media is provided by storage vendors. Storage volumes of this type are mounted using PVCs and PVs.

    Data requires high availability or needs to be shared, for example, logs and media resources.

    Select a proper cloud storage type based on the application scenario. For details, see Cloud Storage Comparison.

    Local storage

    The storage media is the local data disk or memory of the node. The local persistent volume is a customized storage type provided by CCE and mounted using PVCs and PVs through the CSI. Other storage types are Kubernetes native storage.

    Non-HA data requires high I/O and low latency.

    Select a proper local storage type based on the application scenario. For details, see Local Storage Comparison.

    Kubernetes resource objects

    ConfigMaps and secrets are resources created in clusters. They are special storage types and are provided by tmpfs (RAM-based file system) on the Kubernetes API server.

    ConfigMaps are used to inject configuration data to pods.

    Secrets are used to transmit sensitive information such as passwords to pods.

Cloud Storage Comparison

Item

EVS

OBS

Definition

EVS offers scalable block storage for cloud servers. With high reliability, high performance, and rich specifications, EVS disks can be used for distributed file systems, dev/test environments, data warehouses, and high-performance computing (HPC) applications.

Object Storage Service (OBS) provides massive, secure, and cost-effective data storage for you to store data of any type and size. You can use it in enterprise backup/archiving, video on demand (VoD), video surveillance, and many other scenarios.

Data storage logic

Stores binary data and cannot directly store files. To store files, format the file system first.

Stores objects. Files directly stored automatically generate the system metadata, which can also be customized by users.

Access mode

Accessible only after being mounted to ECSs and initialized.

Accessible through the Internet or Direct Connect (DC). Specify the bucket address and use transmission protocols such as HTTP or HTTPS.

Static storage volumes

Supported. For details, see Using an Existing EVS Disk Through a Static PV.

Supported. For details, see Using an Existing OBS Bucket Through a Static PV.

Dynamic storage volumes

Supported. For details, see Using an EVS Disk Through a Dynamic PV.

Supported. For details, see Using an OBS Bucket Through a Dynamic PV.

Features

Non-shared storage. Each volume can be mounted to only one node.

Shared, user-mode file system

Application scenarios

HPC, enterprise core cluster applications, enterprise application systems, and dev/test

NOTE:

HPC apps here require high-speed and high-IOPS storage, such as industrial design and energy exploration.

Big data analytics, static website hosting, online video on demand (VoD), gene sequencing, intelligent video surveillance, backup and archiving, and enterprise cloud boxes (web disks)

Capacity

TB

EB

Latency

1–2 ms

10 ms

Max. IOPS

2200–256000, depending on flavors

Tens of millions

Bandwidth

MB/s

TB/s

Local Storage Comparison

Item

Local PV

Local Ephemeral Volume

emptyDir

hostPath

Definition

Node's local disks form a storage pool (VolumeGroup) through LVM. LVM divides them into logical volumes (LVs) and mounts them to pods.

Kubernetes native emptyDir, where node's local disks form a storage pool (VolumeGroup) through LVM. LVs are created as the storage media of emptyDir and mounted to pods. LVs deliver better performance than the default storage medium of emptyDir.

Kubernetes native emptyDir. Its lifecycle is the same as that of a pod. Memory can be specified as the storage media. When the pod is deleted, the emptyDir volume is deleted and its data is lost.

Used to mount a file directory of the host where a pod is located to a specified mount point of the pod.

Features

Low-latency, high-I/O, and non-HA persistent volume.

Storage volumes are non-shared storage and bound to nodes through labels. Therefore, storage volumes can be mounted only to a single pod.

Local temporary volume. The storage space is from local LVs.

Local temporary volume. The storage space comes from the local kubelet root directory or memory.

Used to mount files or directories of the host file system. Host directories can be automatically created. Pods can be migrated (not bound to nodes).

Storage volume mounting

Static storage volumes are not supported.

Using a Local PV Through a Dynamic PV is supported.

For details, see Using a Local EV.

For details, see Using a Temporary Path.

For details, see hostPath.

Application scenarios

High I/O requirements and built-in HA solutions of applications, for example, deploying MySQL in HA mode.

  • Scratch space, such as for a disk-based merge sort
  • Checkpointing a long computation for recovery from crashes
  • Saving the files obtained by the content manager container when web server container data is used
  • Scratch space, such as for a disk-based merge sort
  • Checkpointing a long computation for recovery from crashes
  • Saving the files obtained by the content manager container when web server container data is used

Requiring a node file, for example, if Docker is used, you can use hostPath to mount the /var/lib/docker path of the node.

NOTICE:

Avoid using hostPath volumes as much as possible, as they are prone to security risks. If hostPath volumes must be used, they can only be applied to files or directories and mounted in read-only mode.

We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out more

Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback