EKS集群中Jenkins podTemplate的dynamicPVC无法创建指定大小EBS卷
问题:在EKS中为Jenkins Worker Pod动态创建生命周期绑定的大规格EBS卷
我需要在EKS集群上为每个Jenkins Worker Pod动态创建1TB级别的EBS卷,要求PersistentVolume(PV)的生命周期与Pod完全一致——Pod启动时自动创建PVC和PV,Pod销毁后自动清理。因为无法修改EKS节点规格,所以采用ebs-csi-driver的Helm Chart来使用外部EBS卷。
目前只能手动创建PersistentVolumeClaim(PVC)并在podTemplate中引用,再手动销毁PVC。但这种方式下,Pod销毁后PV会残留,必须手动删除PVC才能释放PV,非常繁琐。
我尝试在podTemplate的workspaceVolume中配置dynamicPVC,指定800Gi存储和ebs-sc存储类,但配置未生效,Worker Pod仍然使用节点默认的20Gi存储。
现有可用配置示例
PersistentVolumeClaim配置
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ebs-claim namespace: jenkins spec: accessModes: - ReadWriteOnce storageClassName: ebs-sc resources: requests: storage: 1000Gi
StorageClass配置
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ebs-sc provisioner: ebs.csi.aws.com volumeBindingMode: WaitForFirstConsumer
手动方式的podTemplate配置
apiVersion: v1 kind: Pod spec: serviceAccount: jenkins-sa securityContext: fsGroup: 1000 containers: - name: jenkins-worker image: <some-image> imagePullPolicy: Always command: - cat tty: true securityContext: runAsGroup: 1000 runAsUser: 1000 volumeMounts: - name: build-volume mountPath: <some-mount-path> volumes: - name: build-volume persistentVolumeClaim: claimName: ebs-claim
注:已为
jenkins-sa服务账号添加AWS IAM角色ARN注解,具备所需权限。
尝试的dynamicPVC配置的podTemplate
apiVersion: v1 kind: Pod spec: serviceAccount: jenkins-sa workspaceVolume: dynamicPVC: accessModes: ReadWriteOnce requestsSize: 800Gi storageClassName: ebs-sc securityContext: fsGroup: 1000 containers: - name: jenkins-worker image: <some-image> imagePullPolicy: Always command: - cat tty: true securityContext: runAsGroup: 1000 runAsUser: 1000
内容的提问来源于stack exchange,提问作者nyserq
相关产品推荐
相关产品推荐

