Alibaba Cloud Disk
Cloud Disk Overview
Cloud disk is a data block-level block storage product provided by Alibaba Cloud for cloud server ECS. It has the characteristics of low latency, high performance, durability, and high reliability.
The cloud disk uses a distributed three-copy mechanism to provide 99.9999999% data reliability guarantee for ECS instances. Supports automatic replication of your data in the availability zone, prevents data unavailability caused by accidental hardware failures, and protects your business from the threat of component failures. Just like a hard disk, you can partition, format, create a file system and other operations on the cloud disk mounted to the ECS instance, and store the data persistently.
More information about cloud disks can be found in Alibaba Cloud Official Document.
The principle of the Alibaba Cloud Disk Driver is to create a cloud disk instance remotely through the Alibaba Cloud Disk SDK for use by kubernetes. Alibaba Cloud Disk implements a set of Alibaba Cloud CSI plug-ins according to the storage specifications of kubernetes, which can realize the life cycle management of Alibaba Cloud disk storage by kubernetes through the CSI plug-ins. The cloud disk CSI plug-in supports dynamic creation and mounting of cloud disk data volumes. Cloud disk is a type of block storage and can only be used by one load at the same time (ReadWriteOnce).
Use project alibaba-cloud-csi-driver
git clone https://github.com/kubernetes-sigs/alibaba-cloud-csi-driver.git && cd alibaba-cloud-csi-driver
Create k8s account
kubectl create -f ./deploy/rbac.yaml
Make sure the account is created successfully
kubectl get sa -n kube-system
Observe that the account description of
admin was created successfully
Modify the environment variables
ACCESS_KEY_SECRETtwo parameters in
deploy/disk/disk-plugin.yaml, and replace them with the
AccessKeyinformation of the Alibaba Cloud platform account,
The apiVersion of DaemonSet cannot use the version
apps/v1beta2, and it can use
AccessKey information of the Alibaba Cloud platform account can be applied for on the
AccessKey management page of the Alibaba Cloud platform. I won’t repeat it here.
kubectl create -f ./deploy/disk/disk-plugin.yaml
Determine whether the creation is successful
kubectl get ds -n kube-system
Observing that the Ready of
csi-diskplugin is 1 indicates that the component is successfully created.
Create a Driver
Modify the environment variables
deploy/disk/disk-provisioner.yaml, and replace them with the accesskey information of the Alibaba Cloud platform account.
In kubernetes version 1.16, the apiVersion of StatefulSet cannot use
apps/v1beta1, but after testing, it can use
Need to add selector information under spec
selector: matchLabels: app: csi-disk-provisioner
kubectl create -f ./deploy/disk/disk-provisioner.yaml
Determine if csi-provisioner is created successfully, Ready is 1 to indicate success
kubectl get statefulset -n kube-system
Check the status of csi-plugin
kubectl get pods -n kube-system | grep csi
For more driver installation, please refer to Official Tutorial
Creation of StorageClass
The storageClass has been defined in the project, and it can be used only after modifying it according to the area where the user’s instance is located
A cloud disk can only be mounted to one ECS instance in the same region and in the same Availability Zone**
The ecs used in the test is in Virginia, so we changed the
zoneId in the
examples/disk/storageclass.yaml file to
us-east-1 and the
kubectl create -f ./examples/disk/storageclass.yaml
Use of Storage
Kato will detect the StorageClass and synchronize it to the database for the Kato console to use as storage type selection; users can go to the Kato console to create state storage and select the newly created Alibaba Cloud disk to test the installation.
After the storage driver is correctly created and the storageClass is created, the user can create stateful components in the Kato console to use Alibaba Cloud Disk Storage. When adding a storage type at this time, you can see the new storage type corresponding to the Alibaba Cloud Disk storageClass. User use.
The minimum storage limit of Alibaba Cloud Disk is 20G. When adding storage, set the minimum storage size to 20G.
After the storage is added, the component must be restarted or updated to trigger the storage to take effect
Whether the storage is valid or not can be judged by whether the component can be started normally. The normal start of the component means that the component has normally mounted the storage. You can also go to the Alibaba Cloud Disk Management page to determine the storage status, determine whether there is storage of the corresponding size, and whether its status It is in use.