阿里云以DataCache CRD的方式将ECI的数据缓存功能提供给Kubernetes用户,以便Kubernetes用户可以使用该功能来提前拉取大规模数据。本文介绍如何在Kubernetes集群中部署DataCache CRD。
计费说明
如果是ACK集群,部署DataCache CRD会默认部署在已有ECS节点上,无需额外付费。
如果是ACK Serverless集群,部署DataCache CRD后会生成一个0.25 vCPU 、0.5 GiB的ECI Pod,收取ECI实例费用。费用=(0.25*vCPU单价+0.5*内存单价)*运行时长。关于ECI实例如何计费,以及vCPU和内存的具体单价,请参见ECI实例计费。
准备工作
操作前,请准备好以下信息:
AccessKey ID和AccessKey Secret。获取方式请参见创建AccessKey。
重要请确保AccessKey所属阿里云账号或者RAM用户具有数据缓存相关API的权限。
集群所属的地域ID。
(推荐)通过Helm部署
连接Kubernetes集群。
确认Helm版本。
helm version
根据Helm版本选择以下一种方式部署DataCache CRD。
Helm版本为3.7及以上版本
如果Helm版本为3.7,需开启实验功能。
Helm版本为3.8及以上版本可跳过该步骤。
export HELM_EXPERIMENTAL_OCI=1
设置环境变量。
说明设置REPO时,请直接使用
oci://eci-release-registry.cn-hangzhou.cr.aliyuncs.com/datacache/datacache-operator
,无需修改地域ID。export REPO="oci://eci-release-registry.cn-hangzhou.cr.aliyuncs.com/datacache/datacache-operator" export AK='<AccessKey ID>' export SK='<AccessKey Secret>' export REGION='<地域ID>'
部署DataCache CRD。
helm install datacache-operator $REPO --set accessKey=$AK --set secretKey=$SK --set regionId=$REGION
Helm版本低于3.7
安装阿里云ACR插件。
helm plugin install https://github.com/AliyunContainerService/helm-acr
如果您访问Github比较流畅,可以直接执行上述命令。如果网络不流畅,可以参考以下命令安装。
git clone https://github.com/AliyunContainerService/helm-acr.git sed -i 's/github.com/helm-acr-releases.oss-cn-hangzhou.aliyuncs.com/g' helm-acr/scripts/install_plugin.sh helm plugin install helm-acr
添加Helm仓库到本地Helm客户端。
helm repo add datacache acr://eci-release-chart.cn-hangzhou.cr.aliyuncs.com/datacache/datacache-operator helm repo update
设置环境变量。
export REPO="datacache/datacache-operator" export AK='<AccessKey ID>' export SK='<AccessKey Secret>' export REGION='<地域ID>'
部署DataCache CRD。
helm install datacache-operator $REPO --set accessKey=$AK --set secretKey=$SK --set regionId=$REGION
通过YAML部署
连接Kubernetes集群。
准备DataCache CRD的YAML配置文件,命名为aliyun-datacache-controller.yaml。
YAML配置文件内容如下,请根据实际修改代码中的AccessKey ID(第13行)、AccessKey Secret(第14行)和地域ID(第211行)。
部署DataCache CRD。
kubectl apply -f aliyun-datacache-controller.yaml