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

如何为GKE Autopilot集群中的CircleCI作业扩展存储?

在GKE Autopilot中为CircleCI作业配置持久存储解决磁盘不足问题

1. 先创建PersistentVolumeClaim(PVC)

你已经创建了PV,Pod无法直接绑定PV,需要先创建PVC来关联已有的PV:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: circleci-job-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
  storageClassName: standard
  volumeName: circleci-job-pv  # 直接绑定你已创建的PV实例

执行命令创建PVC:

kubectl apply -f circleci-job-pvc.yaml

2. 修改CircleCI Helm Chart配置挂载持久卷

由于你使用CircleCI官方Helm Chart部署,需要通过配置修改Pod的卷挂载规则,有两种方式:

方式一:修改values.yaml配置文件

找到作业运行容器的配置段,添加卷和挂载规则:

# 示例values.yaml中的作业容器配置
jobRunner:
  container:
    volumeMounts:
      - name: circleci-storage
        mountPath: /home/circleci/project  # 挂载到CircleCI作业默认工作目录
      # 若作业有大量缓存文件,可额外挂载缓存目录
      # - name: circleci-storage
      #   mountPath: /home/circleci/.cache
  volumes:
    - name: circleci-storage
      persistentVolumeClaim:
        claimName: circleci-job-pvc

修改后执行Helm升级:

helm upgrade circleci circleci/circleci-runner -f values.yaml

方式二:直接通过Helm命令行传参

无需修改本地配置文件,直接在升级命令中指定挂载规则:

helm upgrade circleci circleci/circleci-runner \
  --set jobRunner.container.volumeMounts[0].name=circleci-storage \
  --set jobRunner.container.volumeMounts[0].mountPath=/home/circleci/project \
  --set jobRunner.volumes[0].name=circleci-storage \
  --set jobRunner.volumes[0].persistentVolumeClaim.claimName=circleci-job-pvc

3. 挂载目录的选择说明

  • 核心工作目录:/home/circleci/project是CircleCI作业的默认工作目录,代码克隆、构建、产物生成都在此目录进行,挂载持久卷到这里可直接替换临时存储,从根源解决空间不足问题。
  • 缓存目录:如果你的作业依赖大量缓存(如npm、Maven、Docker镜像缓存),可额外挂载/home/circleci/.cache目录,进一步降低临时存储的占用压力。

注意事项

  • 你的PV使用ReadWriteOnce访问模式,意味着只能被单个节点上的Pod使用,适合单节点运行的CircleCI作业场景;若需要多节点共享存储,需改用支持ReadWriteMany的存储类(如GKE Filestore)。
  • GKE Autopilot集群中,standard存储类是GCE默认的持久磁盘存储类,与你的PV配置兼容,无需额外调整。

内容的提问来源于stack exchange,提问作者Corentin S.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 02:46:05