tencent cloud

文档反馈

在容器 TKE 上使用 CFS Turbo

最后更新时间:2024-01-22 22:15:48

    简介

    本文为您介绍如何使用 CFS Turbo 对接容器服务(Tencent Kubernetes Engine,TKE)集群。

    前提条件

    TKE 的宿主机节点满足 Turbo 系列兼容的操作系统。
    已在所有 TKE 节点安装 Turbo 的私有客户端,推荐使用 pshell 工具进行批量操作。
    相关的操作系统兼容列表及私有客户端安装方式,可参见 在 Linux 客户端上使用 CFS Turbo 文件系统 文档。

    操作步骤

    配置kubectl连接集群

    您可参见 TKE连接集群,配置 kubectl,以管理 TKE 容器集群。

    通过 yaml 文件创建挂载 Turbo 的 POD

    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: v1
    kind: PersistentVolume
    metadata:
    name: csi-cfsturbo-pv
    spec:
    accessModes:
    - ReadWriteMany
    capacity:
    storage: 10Gi
    csi:
    driver: com.tencent.cloud.csi.cfsturbo
    # volumeHandle in PV must be unique, use pv name is better
    volumeHandle: csi-cfsturbo-pv
    volumeAttributes:
    # cfs turbo proto
    proto: lustre
    # cfs turbo rootdir
    rootdir: /cfs
    # cfs turbo fsid (not cfs id)
    fsid: d3dcc487
    # cfs turbo server ip
    host: 10.0.1.16
    # cfs turbo subPath
    path: /
    storageClassName: ""
    ---
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
    name: csi-cfsturbo-pvc
    spec:
    accessModes:
    - ReadWriteMany
    resources:
    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/v1
    kind: Deployment
    metadata:
    labels:
    k8s-app: csi-cfsturbo-pod
    name: csi-cfsturbo-pod
    spec:
    replicas: 1
    selector:
    matchLabels:
    k8s-app: csi-cfsturbo-pod
    template:
    metadata:
    labels:
    k8s-app: csi-cfsturbo-pod
    spec:
    containers:
    - image: nginx
    name: csi-cfsturbo-pod
    volumeMounts:
    - mountPath: /csi-cfsturbo
    name: csi-cfsturbo
    volumes:
    - name: csi-cfsturbo
    persistentVolumeClaim:
    # 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 控制台的事件中,查看失败原因。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持