You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EKS环境下Jenkins无法挂载AWS EFS、默认使用GP2存储卷问题求助

问题根因

部署完成后集群自动生成了存储类为gp2、名为jenkins的PVC,说明Jenkins Helm Chart未识别你配置的自定义持久化存储规则,核心问题是Helm values的字段层级配置错误:你将persistence字段嵌套在了controller块下,而官方Jenkins Helm Chart的persistence是顶层配置字段,嵌套后配置完全不生效,Chart就走默认逻辑创建了8G gp2存储的PVC。

解决方案

1. 修正Helm values配置

将persistence块从controller下移出,作为顶层字段配置,已经指定existingClaim的情况下无需再填写storageClassName:

# 顶层配置,不要放在controller块内部
persistence:
  enabled: true
  existingClaim: efs-pvc

controller:
  componentName: jenkins-controller
  image: "jenkins/jenkins"
  tag: lts-jdk11
  imagePullPolicy: IfNotPresent
  installPlugins: false
  disableRememberMe: false
  resources:
    requests:
      cpu: 2
      memory: 2Gi
    limits:
      cpu: 6
      memory: 4Gi
  runAsUser: 1000
  fsGroup: 1000
  serviceType: ClusterIP

  ingress:
    enabled: true
    apiVersion: "networking.k8s.io/v1"
    ingressClassName: nginx
    kubernetes.io/ingress.class: nginx
    rules:
    - host: foo.jenkins.com
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: jenkins
              port:
                number: 80
    tls:
     - secretName: jenkins-tls
       hosts:
         - foo.jenkins.com

2. 清理冗余资源重新部署

先删除之前错误生成的PVC:

kubectl delete pvc jenkins -n jenkins

再用修正后的values重新部署Jenkins:

helm upgrade --install jenkins jenkins/jenkins -n jenkins -f <你的values文件路径>

3. 验证配置生效

部署完成后执行kubectl get pvc -n jenkins,仅保留你预先创建的efs-pvc即代表配置生效,进入Jenkins Pod执行mount | grep nfs4即可查到EFS挂载记录。

其他补充排查点

如果修正配置后仍有问题,可检查以下项:

  • 确认PV的volumeHandle字段值正确,格式为实际EFS文件系统ID::实际EFS访问点ID,不要使用示例占位值
  • 确认EFS挂载目标的安全组入方向放开了EKS集群节点安全组的2049 TCP端口(你已用busybox验证过挂载正常可跳过此项)
  • 确认EFS CSI驱动关联的ServiceAccount已绑定对应IAM权限,可正常调用EFS相关接口(你已用busybox验证过挂载正常可跳过此项)

内容的提问来源于stack exchange,提问作者hannibal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 06:06:01