kubeflow / kubebench

Repository for benchmarking
Apache License 2.0
77 stars 35 forks source link

Kubebenchjob API v1alpha2 #173

Open xyhuang opened 5 years ago

xyhuang commented 5 years ago

The following changes are made in v1alpha2 design:

Example yaml manifest:

apiVersion: kubeflow.org/v1alpha2
kind: KubebenchJob
metadata:
  name: kubebench-job
  namespace: default
spec:
  serviceAccount: default
  volumes:
  - name: my-config-volume
    configMap:
      name: my-config-pvc
  - name: my-data-volume
    persistentVolumeClaim:
      claimName: my-data-pvc
  managedVolumes:
    experimentVolume:
      name: my-experiment-volume
      persistentVolumeClaim:
        claimName: my-experiment-pvc
    workflowVolume:
      name: my-workflow-volume
      persistentVolumeClaim:
        claimName: my-workflow-pvc
  workflowAgent:
    container:
      volumeMounts:
      - name: my-config-volume
        mountPath: /kubebench/config
  tasks:
  - name: pre-job-1
    container:
      name: my-prejob-1
      image: myprejob1-image:latest
  - name: pre-job-2
    container:
      name: my-prejob-2
      image: myprejob2-image:latest
  - name: main-job
    dependencies: [pre-job-1, pre-job-2]
    resource:
      manifestFrom:
        path: my/tfjob/parameter.yaml
      volumeMounts:
      - name: my-data-volume
        mountPath: /data
      options:
        mountManagedVolumes: true
        autoWatch:
          timeout: 5m
        autoDelete: true
        numCopies: 1
  - name: post-job
    dependencies: [main-job]
    container:
      name: my-postjob
      image: mypostjob-image:latest
xyhuang commented 5 years ago

/assign