简介
本文为您介绍如何使用 CFS Turbo 对接容器服务(Tencent Kubernetes Engine,TKE)集群。
前提条件
TKE 的宿主机节点满足 Turbo 系列兼容的操作系统。
操作步骤
部署安装 CSI 组件
进入TKE 集群列表页,并点击所需要使用的 TKE 集群名称。


进入 TKE 容器集群的操作界面后,点击组件管理。在右侧界面中,点击新建。


选中 CFS Turbo 组件,点击完成。


创建 PV
选择存储 > PersistentVolume,点击新建,创建 PV。当前仅支持静态创建,故选择不指定 storageclass,然后选中要挂载的 CFS Turbo 实例,及对应的目录。


创建 PVC
选择存储 > PersistentVolumeClaim,点击新建,选择不指定 storage class,并选中上一步创建的 PV。


创建 deployment
选择工作负载 > Deployment,在数据卷中添加创建的 PVC。


在挂载点中,填写挂载到的本地路径。


登录容器查看挂载情况
选择工作负载 > Deployment,选择新建出来的 POD,点击远程登录。




补充:基于自建容器使用 CFS Turbo
前提条件
容器宿主机节点满足 Turbo 系列兼容的操作系统。
已在所有容器宿主机节点安装 Turbo 的私有客户端,推荐使用 pshell 工具进行批量操作。
相关的操作系统兼容列表及私有客户端安装方式,可参见 在 Linux 客户端上使用 CFS Turbo 文件系统 文档。
配置 kubectl 连接集群
通过 yaml 文件创建挂载 Turbo 的 POD
1. 阅读 TKE Turbo 插件的说明文档。
2. 进入
kubernetes-csi-tencentcloud/deploy/cfsturbo/kubernetes/
目录,分别将 csi-node-rbac.yaml、csi-node.yaml 和 csidriver-new.yaml 文件上传至 kubectl 管理节点。3. 进入
kubernetes-csi-tencentcloud/deploy/cfsturbo/examples/
目录,下载 pv.yaml、pvc.yaml、pod.yaml 这三个示例文件。4. 根据实际 PV、PVC、POD 的相关属性(如名称、镜像地址等),修改 pv.yaml、pvc.yaml、pod.yaml 文件。
yaml 示例如下:
apiVersion: v1kind: PersistentVolumemetadata:name: csi-cfsturbo-pvspec:accessModes:- ReadWriteManycapacity:storage: 10Gicsi:driver: com.tencent.cloud.csi.cfsturbo# volumeHandle in PV must be unique, use pv name is bettervolumeHandle: csi-cfsturbo-pvvolumeAttributes:# cfs turbo protoproto: lustre# cfs turbo rootdirrootdir: /cfs# cfs turbo fsid (not cfs id)fsid: d3dcc487# cfs turbo server iphost: 10.0.1.16# cfs turbo subPathpath: /storageClassName: ""---apiVersion: v1kind: PersistentVolumeClaimmetadata:name: csi-cfsturbo-pvcspec:accessModes:- ReadWriteManyresources:requests:storage: 10Gi# You can specify the pv name manually or just let kubernetes to bind the pv and pvc.volumeName: csi-cfsturbo-pv# cfsturbo only supports static provisioning, the StorageClass name should be empty.storageClassName: ""---apiVersion: apps/v1kind: Deploymentmetadata:labels:k8s-app: csi-cfsturbo-podname: csi-cfsturbo-podspec:replicas: 1selector:matchLabels:k8s-app: csi-cfsturbo-podtemplate:metadata:labels:k8s-app: csi-cfsturbo-podspec:containers:- image: nginxname: csi-cfsturbo-podvolumeMounts:- mountPath: /csi-cfsturboname: csi-cfsturbovolumes:- name: csi-cfsturbopersistentVolumeClaim:# Replaced by your pvc name.claimName: csi-cfsturbo-pvc
以此挂载指令为例:
sudo mount.lustre -o sync,user_xattr 10.0.1.16@tcp0:/d3dcc487/cfs /path/to/mount
关键参数说明如下:
proto:lustre,请保持此参数不要进行修改。
roodir:/cfs,请保持此参数不要进行修改。
fsid:d3dcc487,此处的 fsid 不是 CFSID,需要填写挂载路径里的信息。
host:10.0.1.16,挂载点 IP。
path:可根据实际需要挂载的子目录进行调整,若直接挂载根目录则填写"/"。
5. 在上传脚本文件的目录下,依次执行以下命令。
配置 RBAC、CSI插件。
kubectl apply -f csi-node-rbac.yaml && kubectl apply -f csidriver-new.yaml && kubectl apply -f csi-node.yaml
创建PV、PVC、POD。
kubectl create -f pv.yaml && kubectl create -f pvc.yaml && kubectl create -f pod.yaml
6. 执行以下命令,查看POD状态。
kubectl get pod -n default -o wide
返回如下结果,即表示创建成功:

若状态(STATUS)持续为 ContainerCreating,即表示创建失败。您可在 TKE 控制台的事件中,查看失败原因。