- Published on
每次問 AI 都說 Fargate 不支援卷,其實只要 CSI 微調就好
最近在用 EKS Fargate + Vault + EFS CSI Driver,遇到一個超煩的錯誤。 部署 Vault 後,Pod 一直卡在 Pending,看 Events:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 10m fargate-scheduler Pod not supported on Fargate: volumes not supported: data not supported because: PVC data-vault-0 not bound
我問 AI(ChatGPT 等),它一致回答:
“这个错误表明您的 Kubernetes Pod 尝试使用 AWS Fargate 不支持的卷类型。 Fargate 对可以使用的卷类型有限制。”
聽起來很合理,但其實 問題核心不在不能用 Fargate。
真正原因 💡
PVC 無法綁定,主要是 EFS CSI Driver 的一些選項需要微調。 Fargate 環境下,如果保持一些預設設定(例如 node driver registrar、node component 等), PVC 就可能卡在 Pending,Pod 無法啟動。
微調就解決 ✅
只要重新部署 CSI Driver,把 node 相關選項設成 false,就可以解決:
helm upgrade --install aws-efs-csi-driver aws-efs-csi-driver/aws-efs-csi-driver \
--namespace kube-system \
--set controller.replicas=2 \
--set node.enabled=false \
--set sidecars.nodeDriverRegistrar.enabled=false \
--set controller.securityContext.privileged=false \
--set controller.containerSecurityContext.privileged=false \
--set serviceAccount.create=true \
--set serviceAccount.name=efs-csi-controller-sa \
--set serviceAccount.annotations."eks\.amazonaws\.com/role-arn"="arn:aws:iam::XXXX:role/AmazonEKS_EFS_CSI_DriverRole_taiwan"
- 不用大改設定,也不用重建 StorageClass。
- PVC 立刻綁定成功,Vault Pods 全部啟動 🚀
小結 📘
AI 每次都說 Fargate 不支援卷,其實只是 微調 CSI Driver 就能解決問題。 提醒大家:
- ❌ 不要一聽錯誤訊息就以為真的不能用 Fargate
- ✅ 仔細分析實際原因,往往只需微調即可