English | 简体中文
FastCFS 容器存储接口(CSI)驱动器为容器编排器(Container Orchestrators)管理FastCFS类型卷的生命周期提供 CSI 支持。
状态: beta
ExpandCSIVolumes
)为 beta
版。注意 FastCFS-CSI 不支持删除静态卷。PV 规范中的 persistentVolumeReclaimPolicy
必须设置为 Retain
,以避免在 csi-provisioner 中尝试删除 PV。
以下部分是特定于 Kubernetes 的。如果您是 Kubernetes 用户,请使用以下驱动程序功能、安装步骤和示例。
FastCFS CSI Driver | FastCFS Version |
---|---|
v0.4.6-fastcfs5.3.0-1 | v5.3.0 |
v0.4.6-fastcfs5.2.0-1 | v5.2.0 |
v0.4.6-fastcfs5.1.0-1 | v5.1.0 |
v0.4.6-fastcfs5.0.0-1 | v5.0.0 |
v0.4.6-fastcfs4.2.0-1 | v4.2.0 |
v0.4.6-1fastcfs4.1.0 | v4.1.0 |
v0.4.6-3fastcfs4.0.0 | v4.0.0 |
v0.4.6-1fastcfs3.7.1 | v3.7.1 |
v0.4.5 | v3.6.3 |
v0.4.4 | v3.6.1 |
v0.4.3 | v3.6.0 |
v0.4.2 | v3.5.0 |
v0.4.0 | v3.3.0 |
FastCFS CSI Driver \ Kubernetes Version | v1.17 | v1.18+ |
---|---|---|
master branch | ? | yes |
v0.4.0 | ? | yes |
v2.2.0
或更新版本auth_enabled = true
kubelet
和 kube-apiserver
需启用标志 --allow-privileged=true
kube-apiserver
特性门控 --feature-gates=CSINodeInfo=true,CSIDriverRegistry=true
kubelet
特性门控 --feature-gates=CSINodeInfo=true,CSIDriverRegistry=true
驱动程序需要 FastCFS 密钥才能与 FastCFS 通信以代表用户管理卷。有一种授予驱动程序权限的方法:
/etc/fastcfs/auth/keys
)放入 密钥清单, 然后部署。curl https://raw.githubusercontent.com/happyfish100/fastcfs-csi/master/deploy/kubernetes/secret.yaml > secret.yaml
# 编辑这个文件,填入你的用户凭证
kubectl apply -f secret.yaml
然后就可以在存储类中使用这个密钥
默认情况下,驱动程序容忍污点 CriticalAddonsOnly
并将 tolerationSeconds
配置为 300
,要在任何节点上部署驱动程序,请在部署前将 helm Value.node.tolerateAllTaints
设置为 true
在部署驱动程序之前,请参阅上面的兼容性矩阵
使用 kustomization 文件部署
kubectl apply -k "github.com/happyfish100/fastcfs-csi/deploy/kubernetes/overlays/dev/?ref=main"
或者,您也可以使用 helm 安装驱动程序:
添加 fastcfs-csi Helm 存储库:
helm repo add fastcfs-csi https://happyfish100.github.io/fastcfs-csi
helm repo update
然后使用 chart 安装驱动程序的版本
helm upgrade --install fastcfs-csi fastcfs-csi/fcfs-csi-driver
更新FastCFS Config, 修改host(data.fdir-cluster.host
,data.fstore-cluster.host
,data.auth-cluster.host
)或更多配置。
更多请查看FastCFS Config 示例
kubectl edit configmap fastcfs-client-config
kubectl get pods
要查看驱动程序调试日志,请使用 -v=5
命令行选项运行 CSI 驱动程序
确保在示例之前遵循 先决条件 :
请参考Kubernetes文档中的 兼容矩阵
开发前请先阅读 CSI Spec 和 General CSI driver development guideline 获得对CSI驱动有一些基本的了解。
通过 go module 管理依赖。要构建项目,首先使用export GO111MODULE=on
打开go mod,然后使用:make
构建项目
make test-e2e-single-nn
和make test-e2e-multi-nn
(现在只能本地执行,本地需要可以连接FastCFS集群)make image-csi
helm chart 位于 charts/fcfs-csi-driver
目录中。manifests 位于 deploy/kubernetes
目录中。
除了 kustomize patches 之外的所有清单都是通过运行 helm template
生成的。这使 helm chart 和 manifests 保持同步。
更新 helm chart:
make generate-kustomize
deploy/kubernetes/values
中有用于生成一些 manifests 的值文件generate-kustomize
的 make 目标和 deploy/kubernetes/values
文件和适当的 kustomization.yaml 文件。此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。