Skip to content

Commit

Permalink
Make Argo UI available publicly at testing-argo.kubeflow.ui (kubeflow…
Browse files Browse the repository at this point in the history
…#132)

* We use Argo to run our E2E tests so the UI is very useful for debugging tests.

* Add an ingress with a static IP to expose it publicly.

* Fix kubeflow#131
  • Loading branch information
jlewi authored Jan 19, 2018
1 parent 4c9217d commit 698cc67
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 8 deletions.
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
# Kubeflow

[Prow test dashboard](https://k8s-testgrid.appspot.com/sig-big-data)
[Prow jobs dashboard](https://prow.k8s.io/?repo=google%2Fkubeflow)

The Kubeflow project is dedicated to making Machine Learning on Kubernetes easy, portable and scalable. Our goal is **not** to recreate other services, but to provide a straightforward way for spinning up best of breed OSS solutions. Contained in this repository are manifests for creating:

* A JupyterHub to create & manage interactive Jupyter notebooks
Expand All @@ -11,6 +8,11 @@ The Kubeflow project is dedicated to making Machine Learning on Kubernetes easy,

This document details the steps needed to run the Kubeflow project in any environment in which Kubernetes runs.

## Quick Links
* [Prow test dashboard](https://k8s-testgrid.appspot.com/sig-big-data)
* [Prow jobs dashboard](https://prow.k8s.io/?repo=google%2Fkubeflow)
* [Argo UI for E2E tests](http://testing-argo.kubeflow.io)

## The Kubeflow Mission

Our goal is to help folks use ML more easily, by letting Kubernetes to do what it's great at:
Expand Down
10 changes: 10 additions & 0 deletions testing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,16 @@ User or service account deploying the test infrastructure needs sufficient permi
kubectl create clusterrolebinding default-admin --clusterrole=cluster-admin [email protected]
```

##### Operator Logs

The following Stackdriver filter can be used to get the pod logs for the operator

```
resource.type="container"
resource.labels.namespace_id="e2e-0117-1911-3a53"
resource.labels.container_name="tf-job-operator"
```

## Managing namespaces

All namespaces created for the tests should be labeled with `app=kubeflow-e2e-test`.
Expand Down
1 change: 1 addition & 0 deletions testing/test-infra/components/argo.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ std.prune(k.core.v1.list.new([argo.parts(namespace).crd,
argo.parts(namespace).deploy,
argo.parts(namespace).deployUi,
argo.parts(namespace).uiService,
argo.parts(namespace).uiIngress,
argo.parts(namespace).serviceAccount,
argo.parts(namespace).roleBinding,
argo.parts(namespace).defaultRoleBinding,]))
44 changes: 39 additions & 5 deletions testing/test-infra/components/argo.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
}
}
],
"image": "argoproj/workflow-controller:v2.0.0-alpha2",
"image": "argoproj/workflow-controller:v2.0.0-alpha3",
"imagePullPolicy": "IfNotPresent",
"name": "workflow-controller",
"resources": {},
Expand Down Expand Up @@ -157,7 +157,7 @@
"value": "true"
}
],
"image": "argoproj/argoui:v2.0.0-alpha2",
"image": "argoproj/argoui:v2.0.0-alpha3",
"imagePullPolicy": "IfNotPresent",
"name": "argo-ui",
"resources": {},
Expand All @@ -171,12 +171,47 @@
"securityContext": {},
"serviceAccount": "argo",
"serviceAccountName": "argo",
"terminationGracePeriodSeconds": 30
"terminationGracePeriodSeconds": 30,
"readinessProbe": {
"httpGet": {
"path": "/",
"port": 8001,
}
},
}
}
},
}, // deployUi

uiIngress:: {
"apiVersion": "extensions/v1beta1",
"kind": "Ingress",
"metadata": {
"name": "argo-ui",
"namespace": namespace,
},
"annotations": {
"kubernetes.io/ingress.global-static-ip-name": "argo-ui",
},
"spec": {
"rules": [
{
"http": {
"paths": [
{
"backend": {
"serviceName": "argo-ui",
"servicePort": 80,
},
"path": "/*"
},
]
}
}
],
}
}, // ingress

uiService: {
"apiVersion": "v1",
"kind": "Service",
Expand All @@ -198,8 +233,7 @@
"app": "argo-ui"
},
"sessionAffinity": "None",
# TODO(jlewi): Add an option to provision a load balancer?
# "type": "LoadBalancer"
"type": "NodePort",
}
},

Expand Down

0 comments on commit 698cc67

Please sign in to comment.