阿里云以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