简介
本文为您介绍如何使用 CFS Turbo 对接容器服务(Tencent Kubernetes Engine,TKE)集群。
前提条件
TKE 的宿主机节点满足 Turbo 系列兼容的操作系统。
已在所有 TKE 节点安装 Turbo 的私有客户端,推荐使用 pshell 工具进行批量操作。
操作步骤
配置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: csi-cfsturbo-pv
volumeAttributes:
proto: lustre
rootdir: /cfs
fsid: d3dcc487
host: 10.0.1.16
path: /
storageClassName: ""
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: csi-cfsturbo-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
volumeName: csi-cfsturbo-pv
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:
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 控制台的事件中,查看失败原因。
本页内容是否解决了您的问题?