From 6533ee3b8bea0dc3839e3724007f577383504bcd Mon Sep 17 00:00:00 2001 From: Moritz Graf Date: Sun, 10 Jan 2021 12:57:38 +0100 Subject: [PATCH] Current state --- k8s/README.md | 75 ++++++++++++------- .../datalab/jupyter-values.yaml | 0 k8s/_archive/tekton-pipelines/auth | 1 + .../tekton-pipelines/tekton-ingress.yml | 0 k8s/ameliegraf/ameliegraf.yml | 37 +++++++++ k8s/monitoring/tankerkoenig.yml | 4 +- 6 files changed, 88 insertions(+), 29 deletions(-) rename k8s/{ => _archive}/datalab/jupyter-values.yaml (100%) create mode 100644 k8s/_archive/tekton-pipelines/auth rename k8s/{ => _archive}/tekton-pipelines/tekton-ingress.yml (100%) create mode 100644 k8s/ameliegraf/ameliegraf.yml diff --git a/k8s/README.md b/k8s/README.md index e048762..9153684 100644 --- a/k8s/README.md +++ b/k8s/README.md @@ -211,27 +211,7 @@ k create ns ameliegraf k apply -f ameliegraf/ameliegraf.yml ``` -## Tekton -Implementation as described [in the docs](https://tekton.dev/docs/getting-started/). - -```sh -kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml -kubectl apply --filename https://github.com/tektoncd/dashboard/releases/latest/download/tekton-dashboard-release.yaml -#basic-auth, see https://kubernetes.github.io/ingress-nginx/examples/auth/basic/ -htpasswd -c ./tekton-pipelines/auth tekton -kubectl delete secret -n tekton-pipelines basic-auth -kubectl create secret -n tekton-pipelines generic basic-auth --from-file=tekton-pipelines/auth -kubectl apply -f tekton-pipelines/tekton-ingress.yml -rm tekton-pipelines/auth -``` - -Install client side tools: - -```sh -brew tap tektoncd/tools -brew install tektoncd/tools/tektoncd-cli -``` # Deployment (persistent stuff) @@ -337,14 +317,7 @@ helm upgrade --install nextcloud-phpmyadmin bitnami/phpmyadmin -n nextcloud -f n #TODO with Velero -## Jupyter -Using the project [zero-to-jupyterhub](https://zero-to-jupyterhub.readthedocs.io/en/latest/setup-jupyterhub/setup-jupyterhub.html). Helm chart can be found [here](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/tree/master/jupyterhub). - -```sh -helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/ -helm upgrade --cleanup-on-fail --install jupyter jupyterhub/jupyterhub --namespace datalab --values datalab/jupyter-values.yaml -``` ## fuel datalab @@ -454,3 +427,51 @@ kubectl create ns web kubectl apply -n web ./re kubectl apply -f web/ ``` + +## Kubeflow + +The whole Kubeflow deployment is documented in a seperate repository: +* [https://git.moritzgraf.de/moritz/datalab-kubeflow](https://git.moritzgraf.de/moritz/datalab-kubeflow) + + +# Archive + +Deployments previously used. + +## Jupyter + +**DEPRECATED: Using Kubeflow instead. Moved to _archive.** + +Using the project [zero-to-jupyterhub](https://zero-to-jupyterhub.readthedocs.io/en/latest/setup-jupyterhub/setup-jupyterhub.html). Helm chart can be found [here](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/tree/master/jupyterhub). + +```sh +helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/ +helm upgrade --cleanup-on-fail --install jupyter jupyterhub/jupyterhub --namespace datalab --values datalab/jupyter-values.yaml +helm delete jupyter --namespace datalab +``` + +## Tekton + +**DEPRECATED: Using Argo from Kubeflow instead.** + +Implementation as described [in the docs](https://tekton.dev/docs/getting-started/). + +```sh +kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml +kubectl apply --filename https://github.com/tektoncd/dashboard/releases/latest/download/tekton-dashboard-release.yaml +#basic-auth, see https://kubernetes.github.io/ingress-nginx/examples/auth/basic/ +htpasswd -c ./tekton-pipelines/auth tekton +kubectl delete secret -n tekton-pipelines basic-auth +kubectl create secret -n tekton-pipelines generic basic-auth --from-file=tekton-pipelines/auth +kubectl apply -f tekton-pipelines/tekton-ingress.yml +rm tekton-pipelines/auth + +k delete ns tekton-pipelines +``` + +Install client side tools: + +```sh +brew tap tektoncd/tools +brew install tektoncd/tools/tektoncd-cli +``` \ No newline at end of file diff --git a/k8s/datalab/jupyter-values.yaml b/k8s/_archive/datalab/jupyter-values.yaml similarity index 100% rename from k8s/datalab/jupyter-values.yaml rename to k8s/_archive/datalab/jupyter-values.yaml diff --git a/k8s/_archive/tekton-pipelines/auth b/k8s/_archive/tekton-pipelines/auth new file mode 100644 index 0000000..e1098a1 --- /dev/null +++ b/k8s/_archive/tekton-pipelines/auth @@ -0,0 +1 @@ +tekton:$apr1$T9lP4mmL$bjxrNzaITe3we2uaGr96o/ diff --git a/k8s/tekton-pipelines/tekton-ingress.yml b/k8s/_archive/tekton-pipelines/tekton-ingress.yml similarity index 100% rename from k8s/tekton-pipelines/tekton-ingress.yml rename to k8s/_archive/tekton-pipelines/tekton-ingress.yml diff --git a/k8s/ameliegraf/ameliegraf.yml b/k8s/ameliegraf/ameliegraf.yml new file mode 100644 index 0000000..59903f7 --- /dev/null +++ b/k8s/ameliegraf/ameliegraf.yml @@ -0,0 +1,37 @@ +--- +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: ameliegraf-de + namespace: datalab + annotations: + kubernetes.io/ingress.class: "nginx" + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + cert-manager.io/cluster-issuer: "letsencrypt-prod" +spec: + tls: + - hosts: + - "amelie.moritzgraf.de" + secretName: amelie-moritzgraf-de + rules: + - host: amelie.moritzgraf.de + http: + paths: + - path: / + backend: + serviceName: external-portfolio + servicePort: 443 + +--- + +apiVersion: v1 +kind: Service +metadata: + name: external-portfolio + namespace: ameliegraf +spec: + type: ExternalName + externalName: amgraf.myportfolio.com + selector: + app: external-portfolio + diff --git a/k8s/monitoring/tankerkoenig.yml b/k8s/monitoring/tankerkoenig.yml index 517589d..8e70773 100644 --- a/k8s/monitoring/tankerkoenig.yml +++ b/k8s/monitoring/tankerkoenig.yml @@ -31,7 +31,7 @@ spec: - "--api.stations=f8cbb0bd-2b53-4d08-828f-c3d004260cbe" - "--api.stations=4fdef6f5-6733-4e40-9f3a-ebc1de9871fa" - "--api.stations=e21a599a-55ef-4c57-af01-f98fbdd53793" - - "--web.telemetry-path='/metrics'" + #- "--web.telemetry-path='/metrics'" - "--log.level=debug" env: - name: TANKERKOENIG_API_KEY @@ -72,6 +72,6 @@ spec: - monitoring endpoints: - port: "tankerkoenig-exporter" - interval: 15m + interval: 1h scrapeTimeout: 3m path: "/metrics" \ No newline at end of file