Do you guys ever look at the pod’s yaml generated by either Argo or ML Pipelines?
apiVersion: v1
kind: Pod
metadata:
annotations:
{"parameters":[{"name":"flip-output","value":"tails","valueFrom":{"path":"/tmp/output"}}],"artifacts":[{"name":"mlpipeline-ui-metadata","path":"/mlpipeline-ui-metadata.json","s3":{"endpoint":"minio-service.kubeflow:9000","bucket":"mlpipeline","insecure":true,"accessKeySecret":{"name":"mlpipeline-minio-artifact","key":"accesskey"},"secretKeySecret":{"name":"mlpipeline-minio-artifact","key":"secretkey"},"key":"runs/30850dfb-0180-11e9-bd47-063a66a580a8/pipeline-flip-coin-xlkfl-3596557372/mlpipeline-ui-metadata.tgz"}},{"name":"mlpipeline-metrics","path":"/mlpipeline-metrics.json","s3":{"endpoint":"minio-service.kubeflow:9000","bucket":"mlpipeline","insecure":true,"accessKeySecret":{"name":"mlpipeline-minio-artifact","key":"accesskey"},"secretKeySecret":{"name":"mlpipeline-minio-artifact","key":"secretkey"},"key":"runs/30850dfb-0180-11e9-bd47-063a66a580a8/pipeline-flip-coin-xlkfl-3596557372/mlpipeline-metrics.tgz"}}]}
{"name":"flip","inputs":{},"outputs":{"parameters":[{"name":"flip-output","valueFrom":{"path":"/tmp/output"}}],"artifacts":[{"name":"mlpipeline-ui-metadata","path":"/mlpipeline-ui-metadata.json","s3":{"endpoint":"minio-service.kubeflow:9000","bucket":"mlpipeline","insecure":true,"accessKeySecret":{"name":"mlpipeline-minio-artifact","key":"accesskey"},"secretKeySecret":{"name":"mlpipeline-minio-artifact","key":"secretkey"},"key":"runs/30850dfb-0180-11e9-bd47-063a66a580a8/pipeline-flip-coin-xlkfl-3596557372/mlpipeline-ui-metadata.tgz"}},{"name":"mlpipeline-metrics","path":"/mlpipeline-metrics.json","s3":{"endpoint":"minio-service.kubeflow:9000","bucket":"mlpipeline","insecure":true,"accessKeySecret":{"name":"mlpipeline-minio-artifact","key":"accesskey"},"secretKeySecret":{"name":"mlpipeline-minio-artifact","key":"secretkey"},"key":"runs/30850dfb-0180-11e9-bd47-063a66a580a8/pipeline-flip-coin-xlkfl-3596557372/mlpipeline-metrics.tgz"}}]},"metadata":{},"container":{"name":"","image":"python:alpine3.6","command":["sh","-c"],"args":["python
-c \"import random; result = 'heads' if random.randint(0,1) == 0 else
'tails'; print(result)\" | tee
/tmp/output"],"resources":{}},"archiveLocation":{}}
creationTimestamp: '2018-12-16T22:16:09Z'
labels:
name: pipeline-flip-coin-xlkfl-3596557372
namespace: kubeflow
ownerReferences:
blockOwnerDeletion: true
controller: true
kind: Workflow
name: pipeline-flip-coin-xlkfl
uid: 30850dfb-0180-11e9-bd47-063a66a580a8
resourceVersion: '14833825'
selfLink: /api/v1/namespaces/kubeflow/pods/pipeline-flip-coin-xlkfl-3596557372
uid: 309010c0-0180-11e9-ac4e-0abcca1e707a
spec:
containers:
- args:
- >-
python -c "import random; result = 'heads' if random.randint(0,1) == 0
else 'tails'; print(result)" | tee /tmp/output
command:
- sh
- '-c'
image: 'python:alpine3.6'
imagePullPolicy: IfNotPresent
name: main
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
name: pipeline-runner-token-wffsv
readOnly: true
- args:
- wait
command:
- argoexec
env:
- name: ARGO_POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
image: 'argoproj/argoexec:v2.2.1'
imagePullPolicy: IfNotPresent
name: wait
resources: {}
securityContext:
privileged: false
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /argo/podmetadata
name: podmetadata
- mountPath: /var/lib/docker
name: docker-lib
readOnly: true
- mountPath: /var/run/docker.sock
name: docker-sock
readOnly: true
name: pipeline-runner-token-wffsv
readOnly: true
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: pipeline-runner-dockercfg-xpbn2
nodeSelector:
restartPolicy: Never
schedulerName: default-scheduler
securityContext: {}
serviceAccount: pipeline-runner
serviceAccountName: pipeline-runner
terminationGracePeriodSeconds: 30
volumes:
- downwardAPI:
defaultMode: 420
items:
- fieldRef:
apiVersion: v1
fieldPath: metadata.annotations
path: annotations
name: podmetadata
- hostPath:
path: /var/lib/docker
type: Directory
name: docker-lib
- hostPath:
path: /var/run/docker.sock
type: Socket
name: docker-sock
- name: pipeline-runner-token-wffsv
secret:
defaultMode: 420
secretName: pipeline-runner-token-wffsv
status:
conditions:
- lastProbeTime: null
lastTransitionTime: '2018-12-16T22:16:09Z'
reason: PodCompleted
status: 'True'
type: Initialized
- lastProbeTime: null
lastTransitionTime: '2018-12-16T22:16:09Z'
reason: PodCompleted
status: 'False'
type: Ready
- lastProbeTime: null
lastTransitionTime: '2018-12-16T22:16:09Z'
status: 'True'
type: PodScheduled
containerStatuses:
- containerID: >-
imageID: >-
lastState: {}
name: main
ready: false
restartCount: 0
state:
terminated:
containerID: >-
exitCode: 0
finishedAt: '2018-12-16T22:16:15Z'
reason: Completed
startedAt: '2018-12-16T22:16:15Z'
- containerID: >-
imageID: >-
lastState: {}
name: wait
ready: false
restartCount: 0
state:
terminated:
containerID: >-
exitCode: 0
finishedAt: '2018-12-16T22:16:16Z'
reason: Completed
startedAt: '2018-12-16T22:16:16Z'
hostIP: 10.0.48.147
phase: Succeeded
podIP: 10.129.2.12
qosClass: BestEffort
startTime: '2018-12-16T22:16:09Z'
If you do , you will notice the usage of hostPath there.
So its not me, its Argo that is doing this.