Everest is a cloud native container storage system, which enables clusters of Kubernetes v1.15.6 or later to access cloud storage services through the CSI.
Everest is a system resource add-on. It is installed by default when a cluster of Kubernetes v1.15 or later is created.
This add-on has been installed by default. If it is uninstalled due to some reasons, you can reinstall it by performing the following steps:
Parameter |
Description |
---|---|
Pods |
Number of pods for the add-on. High availability is not possible with a single pod. If an error occurs on the node where the add-on instance runs, the add-on will fail. |
Containers |
The Everest add-on contains the Everest-csi-controller and everest-csi-driver components. For details, see Components. The add-on component specifications can be customized based on your requirements. Retain the default requested CPU and memory values of the add-on components. The limit values can be adjusted based on the number of cluster nodes and PVCs. For details about the configuration suggestions, see Table 2. In non-typical scenarios, the formulas for estimating the limit values are as follows:
|
Configuration Scenario |
everest-csi-controller |
everest-csi-driver |
||||
---|---|---|---|---|---|---|
Nodes |
PVs/PVCs |
Add-on Instances |
vCPUs (Limit = Requested) |
Memory (Limit = Requested) |
vCPUs (Limit = Requested) |
Memory (Limit = Requested) |
50 |
1000 |
2 |
250m |
600 MiB |
300m |
300 MiB |
200 |
1000 |
2 |
250m |
1 GiB |
300m |
300 MiB |
1000 |
1000 |
2 |
350m |
2 GiB |
500m |
600 MiB |
1000 |
5000 |
2 |
450m |
3 GiB |
500m |
600 MiB |
2000 |
5000 |
2 |
550m |
4 GiB |
800m |
900 MiB |
2000 |
10000 |
2 |
650m |
5 GiB |
800m |
900 MiB |
Parameter |
Description |
---|---|
csi_attacher_worker_threads |
Number of worker nodes that can be concurrently processed by Everest for attaching EVS volumes. The default value is 60. |
csi_attacher_detach_worker_threads |
Number of worker nodes that can be concurrently processed by Everest for detaching EVS volumes. The default value is 60. |
volume_attaching_flow_ctrl |
Maximum number of EVS volumes that can be attached by the Everest add-on within 1 minute. The default value is 0, indicating that the performance of attaching EVS volumes is determined by the underlying storage resources. |
cluster_id |
Cluster ID |
default_vpc_id |
ID of the VPC to which the cluster belongs |
disable_auto_mount_secret |
Whether the default AK/SK can be used when an object bucket or parallel file system is mounted. The default value is false. |
enable_node_attacher |
Whether to enable the attacher on the agent to process the VolumeAttachment. |
flow_control |
This field is left blank by default. You do not need to configure this parameter. |
number_of_reserved_disks |
Number of disks on the node reserved for custom use. This parameter is supported when the add-on version is 2.3.11 or later. Assume that a maximum of 20 EVS disks can be attached to a node, and the value of this parameter is set to 6. Then 14 (20-6) disks can be attached to this node when the system schedules the EVS disk attachment workloads. The reserved six disks include one system disk and one data disk that has been attached to the node. You can attach four EVS disks to this node as additional data disks or raw disks for a local storage pool. |
over_subscription |
Overcommitment ratio of the local storage pool (local_storage). The default value is 80. If the size of the local storage pool is 100 GB, it can be overcommitted to 180 GB. |
project_id |
ID of the project to which a cluster belongs |
The preceding parameters are associated with each other and are constrained by the underlying storage resources in the region where the cluster is located. To attach a large number of volumes (more than 500 EVS volumes per minute), contact administrator and configure the parameters under their guidance to prevent the Everest add-on from running abnormally due to improper parameter settings.
Parameter |
Description |
---|---|
Multi AZ |
|
Node Affinity |
|
Toleration |
Using both taints and tolerations allows (not forcibly) the add-on Deployment to be scheduled to a node with the matching taints, and controls the Deployment eviction policies after the node where the Deployment is located is tainted. The add-on adds the default tolerance policy for the node.kubernetes.io/not-ready and node.kubernetes.io/unreachable taints, respectively. The tolerance time window is 60s. For details, see Taints and Tolerations. |
Component |
Description |
Resource Type |
---|---|---|
everest-csi-controller |
Used to create, delete, snapshot, expand, attach, and detach storage volumes. If the cluster version is 1.19 or later and the add-on version is 1.2.x, the pod of the everest-csi-controller component also has an everest-localvolume-manager container by default. This container manages the creation of LVM storage pools and local PVs on the node. |
Deployment |
everest-csi-driver |
Used to mount and unmount PVs and resize file systems. If the add-on version is 1.2.x and the region where the cluster is located supports node-attacher, the pod of the everest-csi-driver component also contains an everest-node-attacher container. This container is responsible for distributed EVS attaching. This configuration item is available in some regions. |
DaemonSet |