使用gltlab-runner头盔安装的自定义卷

时间:2018-09-24 13:34:31

标签: kubernetes gitlab-ci-runner kubernetes-helm

对于更快的构建,我想在gitlab-runner中重用我的gradle-user-home。为此,我创建了一个pvc,并将其安装在我的构建容器上。我可以使用默认的舵图吗?

1 个答案:

答案 0 :(得分:1)

因此,如果您看到here。在默认的“舵图”上没有定义PVC(物理体积声明)或PV(物理体积)。

您必须拥有这样的东西:

        volumeMounts:
        - name: gradle-user-home <== add this
          mountPath: /path/to/home
          subPath: home  
        - name: runner-secrets
          mountPath: /secrets
        - name: etc-gitlab-runner
          mountPath: /home/gitlab-runner/.gitlab-runner
        - name: scripts
          mountPath: /scripts
        {{- if .Values.certsSecretName }}
        - name: custom-certs
          readOnly: true
          mountPath: /home/gitlab-runner/.gitlab-runner/certs/
        {{- end }}
        resources:
{{ toYaml .Values.resources | indent 10 }}
      volumes:
      - name: runner-secrets
        emptyDir:
          medium: "Memory"
      - name: etc-gitlab-runner
        emptyDir:
          medium: "Memory"
      - name: init-runner-secrets
        projected:
          sources:
            {{- if .Values.runners.cache }}
            - secret:
                name: {{ template "gitlab-runner.cache.secret" . }}
                items:
                  - key: accesskey
                    path: s3-access-key
                  - key: secretkey
                    path: s3-secret-key
            {{- end }}
            - secret:
                name: {{ template "gitlab-runner.secret" . }}
                items:
                  - key: runner-registration-token
                    path: runner-registration-token
                  - key: runner-token
                    path: runner-token
      {{- if .Values.certsSecretName }}
      - name: custom-certs
        secret:
          secretName: {{ .Values.certsSecretName }}
      {{- end }}
      - name: scripts
        configMap:
         name: {{ template "gitlab-runner.fullname" . }}


  volumeClaimTemplates:  <== Add this
  - metadata:
      name: gradle-user-home
    spec:
      accessModes: ["ReadWriteOnce"]
      resources:
        requests:
          storage: 10Gi

请注意,这只是一个粗略的草稿模板。如果要使其成为Helm图表,则必须转换为适当的Helm模板。 (这恰好是Golang模板)

如果不需要,您不必修改模板。如果需要,您可以直接修改部署:kubectl -n <namespace> edit deployment <gitlab-runner-deployment>

此外,如果您使用的是PVC(物理体积声明),则必须定义默认的Kubernetes Storage Class

希望有帮助!