Cherry-picking several Azure changes for v1.2 release (#1661)
* Cherry-pick of 'Update jupyter web app image tag for Azure' * Cherry-pick of 'Customize dashboard links in Azure Stack' * Cherry-pick of 'Adds tests for Azure Stack centraldashboard links mod' * Cherry-pick of 'Update Azure stack links and tests' * Update generated tests
This commit is contained in:
parent
6794984104
commit
7d870dd84f
|
|
@ -0,0 +1,12 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: centraldashboard
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: centraldashboard
|
||||||
|
env:
|
||||||
|
- name: DASHBOARD_LINKS_CONFIGMAP
|
||||||
|
value: centraldashboard-links-config
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: kubeflow
|
||||||
|
resources:
|
||||||
|
- ../../../../common/centraldashboard/overlays/stacks
|
||||||
|
patchesStrategicMerge:
|
||||||
|
- links-configmap.yaml
|
||||||
|
- deployment_patch.yaml
|
||||||
|
|
@ -0,0 +1,67 @@
|
||||||
|
apiVersion: v1
|
||||||
|
data:
|
||||||
|
links: |-
|
||||||
|
{
|
||||||
|
"menuLinks": [
|
||||||
|
{
|
||||||
|
"link": "/pipeline/",
|
||||||
|
"text": "Pipelines"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "/jupyter/",
|
||||||
|
"text": "Notebook Servers"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "/katib/",
|
||||||
|
"text": "Katib"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"externalLinks": [],
|
||||||
|
"quickLinks": [
|
||||||
|
{
|
||||||
|
"text": "Upload a pipeline",
|
||||||
|
"desc": "Pipelines",
|
||||||
|
"link": "/pipeline/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "View all pipeline runs",
|
||||||
|
"desc": "Pipelines",
|
||||||
|
"link": "/pipeline/#/runs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Create a new Notebook server",
|
||||||
|
"desc": "Notebook Servers",
|
||||||
|
"link": "/jupyter/new?namespace=kubeflow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "View Katib Experiments",
|
||||||
|
"desc": "Katib",
|
||||||
|
"link": "/katib/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"documentationItems": [
|
||||||
|
{
|
||||||
|
"text": "Kubeflow Overview",
|
||||||
|
"desc": "An overview of Kubeflow architecture and workflows",
|
||||||
|
"link": "https://www.kubeflow.org/docs/started/kubeflow-overview/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Kubeflow on Azure",
|
||||||
|
"desc": "Running Kubeflow on AKS and Microsoft Azure",
|
||||||
|
"link": "https://www.kubeflow.org/docs/azure/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Azure Machine Learning Docs",
|
||||||
|
"desc": "Azure Machine Learning Documentation",
|
||||||
|
"link": "https://aka.ms/kubeflow-azureml-docs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Azure Kubernetes Service Docs",
|
||||||
|
"desc": "Azure Kubernetes Service Documentation",
|
||||||
|
"link": "https://aka.ms/kubeflow-aks-docs"
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: centraldashboard-links-config
|
||||||
|
|
@ -10,7 +10,7 @@ namespace: kubeflow
|
||||||
images:
|
images:
|
||||||
- name: gcr.io/kubeflow-images-public/jupyter-web-app
|
- name: gcr.io/kubeflow-images-public/jupyter-web-app
|
||||||
newName: gcr.io/kubeflow-images-public/jupyter-web-app
|
newName: gcr.io/kubeflow-images-public/jupyter-web-app
|
||||||
newTag: vmaster-gd9be4b9e
|
newTag: vmaster-g845af298
|
||||||
resources:
|
resources:
|
||||||
- ../../../../../jupyter/jupyter-web-app/base/cluster-role-binding.yaml
|
- ../../../../../jupyter/jupyter-web-app/base/cluster-role-binding.yaml
|
||||||
- ../../../../../jupyter/jupyter-web-app/base/cluster-role.yaml
|
- ../../../../../jupyter/jupyter-web-app/base/cluster-role.yaml
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,13 @@ kind: Kustomization
|
||||||
namespace: kubeflow
|
namespace: kubeflow
|
||||||
resources:
|
resources:
|
||||||
- ../../admission-webhook/webhook/v3
|
- ../../admission-webhook/webhook/v3
|
||||||
- ../../common/centraldashboard/overlays/stacks
|
|
||||||
- ../../kubeflow-roles/base
|
- ../../kubeflow-roles/base
|
||||||
- ./application/jupyter-web-app
|
- ./application/jupyter-web-app
|
||||||
- ../../jupyter/notebook-controller/base_v3
|
- ../../jupyter/notebook-controller/base_v3
|
||||||
- ../../profiles/base_v3
|
- ../../profiles/base_v3
|
||||||
- ./application/spark-operator
|
- ./application/spark-operator
|
||||||
- ./application/spartakus
|
- ./application/spartakus
|
||||||
|
- ./application/centraldashboard
|
||||||
# Training Operators
|
# Training Operators
|
||||||
- ../../pytorch-job/pytorch-job-crds/overlays/application
|
- ../../pytorch-job/pytorch-job-crds/overlays/application
|
||||||
- ../../pytorch-job/pytorch-operator/overlays/application
|
- ../../pytorch-job/pytorch-operator/overlays/application
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package centraldashboard
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/kubeflow/manifests/tests"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestKustomize(t *testing.T) {
|
||||||
|
testCase := &tests.KustomizeTestCase{
|
||||||
|
Package: "../../../../../stacks/azure/application/centraldashboard",
|
||||||
|
Expected: "test_data/expected",
|
||||||
|
}
|
||||||
|
|
||||||
|
tests.RunTestCase(t, testCase)
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
apiVersion: app.k8s.io/v1beta1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: centraldashboard
|
||||||
|
app.kubernetes.io/name: centraldashboard
|
||||||
|
name: centraldashboard
|
||||||
|
namespace: kubeflow
|
||||||
|
spec:
|
||||||
|
addOwnerRef: true
|
||||||
|
componentKinds:
|
||||||
|
- group: core
|
||||||
|
kind: ConfigMap
|
||||||
|
- group: apps
|
||||||
|
kind: Deployment
|
||||||
|
- group: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
- group: rbac.authorization.k8s.io
|
||||||
|
kind: RoleBinding
|
||||||
|
- group: core
|
||||||
|
kind: Service
|
||||||
|
- group: core
|
||||||
|
kind: ServiceAccount
|
||||||
|
- group: networking.istio.io
|
||||||
|
kind: VirtualService
|
||||||
|
descriptor:
|
||||||
|
description: Provides a Dashboard UI for kubeflow
|
||||||
|
keywords:
|
||||||
|
- centraldashboard
|
||||||
|
- kubeflow
|
||||||
|
links:
|
||||||
|
- description: About
|
||||||
|
url: https://github.com/kubeflow/kubeflow/tree/master/components/centraldashboard
|
||||||
|
maintainers:
|
||||||
|
- email: prodonjs@gmail.com
|
||||||
|
name: Jason Prodonovich
|
||||||
|
- email: apverma@google.com
|
||||||
|
name: Apoorv Verma
|
||||||
|
- email: adhita94@gmail.com
|
||||||
|
name: Adhita Selvaraj
|
||||||
|
owners:
|
||||||
|
- email: prodonjs@gmail.com
|
||||||
|
name: Jason Prodonovich
|
||||||
|
- email: apverma@google.com
|
||||||
|
name: Apoorv Verma
|
||||||
|
- email: adhita94@gmail.com
|
||||||
|
name: Adhita Selvaraj
|
||||||
|
type: centraldashboard
|
||||||
|
version: v1beta1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/component: centraldashboard
|
||||||
|
app.kubernetes.io/name: centraldashboard
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: centraldashboard
|
||||||
|
app.kubernetes.io/component: centraldashboard
|
||||||
|
app.kubernetes.io/name: centraldashboard
|
||||||
|
name: centraldashboard
|
||||||
|
namespace: kubeflow
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: centraldashboard
|
||||||
|
app.kubernetes.io/component: centraldashboard
|
||||||
|
app.kubernetes.io/name: centraldashboard
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
sidecar.istio.io/inject: "false"
|
||||||
|
labels:
|
||||||
|
app: centraldashboard
|
||||||
|
app.kubernetes.io/component: centraldashboard
|
||||||
|
app.kubernetes.io/name: centraldashboard
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: USERID_HEADER
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: userid-header
|
||||||
|
name: kubeflow-config
|
||||||
|
- name: USERID_PREFIX
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: userid-prefix
|
||||||
|
name: kubeflow-config
|
||||||
|
- name: DASHBOARD_LINKS_CONFIGMAP
|
||||||
|
value: centraldashboard-links-config
|
||||||
|
image: gcr.io/kubeflow-images-public/centraldashboard:vmaster-g8097cfeb
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /healthz
|
||||||
|
port: 8082
|
||||||
|
initialDelaySeconds: 30
|
||||||
|
periodSeconds: 30
|
||||||
|
name: centraldashboard
|
||||||
|
ports:
|
||||||
|
- containerPort: 8082
|
||||||
|
protocol: TCP
|
||||||
|
serviceAccountName: centraldashboard
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
apiVersion: networking.istio.io/v1alpha3
|
||||||
|
kind: VirtualService
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: centraldashboard
|
||||||
|
app.kubernetes.io/name: centraldashboard
|
||||||
|
name: centraldashboard
|
||||||
|
namespace: kubeflow
|
||||||
|
spec:
|
||||||
|
gateways:
|
||||||
|
- kubeflow-gateway
|
||||||
|
hosts:
|
||||||
|
- '*'
|
||||||
|
http:
|
||||||
|
- match:
|
||||||
|
- uri:
|
||||||
|
prefix: /
|
||||||
|
rewrite:
|
||||||
|
uri: /
|
||||||
|
route:
|
||||||
|
- destination:
|
||||||
|
host: centraldashboard.$(namespace).svc.$(clusterDomain)
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: centraldashboard
|
||||||
|
app.kubernetes.io/component: centraldashboard
|
||||||
|
app.kubernetes.io/name: centraldashboard
|
||||||
|
name: centraldashboard
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- events
|
||||||
|
- namespaces
|
||||||
|
- nodes
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: centraldashboard
|
||||||
|
app.kubernetes.io/component: centraldashboard
|
||||||
|
app.kubernetes.io/name: centraldashboard
|
||||||
|
name: centraldashboard
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: centraldashboard
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: centraldashboard
|
||||||
|
namespace: kubeflow
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: centraldashboard
|
||||||
|
app.kubernetes.io/component: centraldashboard
|
||||||
|
app.kubernetes.io/name: centraldashboard
|
||||||
|
name: centraldashboard
|
||||||
|
namespace: kubeflow
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
- app.k8s.io
|
||||||
|
resources:
|
||||||
|
- applications
|
||||||
|
- pods
|
||||||
|
- pods/exec
|
||||||
|
- pods/log
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
- configmaps
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: centraldashboard
|
||||||
|
app.kubernetes.io/component: centraldashboard
|
||||||
|
app.kubernetes.io/name: centraldashboard
|
||||||
|
name: centraldashboard
|
||||||
|
namespace: kubeflow
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: centraldashboard
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: centraldashboard
|
||||||
|
namespace: kubeflow
|
||||||
|
|
@ -0,0 +1,71 @@
|
||||||
|
apiVersion: v1
|
||||||
|
data:
|
||||||
|
links: |-
|
||||||
|
{
|
||||||
|
"menuLinks": [
|
||||||
|
{
|
||||||
|
"link": "/pipeline/",
|
||||||
|
"text": "Pipelines"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "/jupyter/",
|
||||||
|
"text": "Notebook Servers"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "/katib/",
|
||||||
|
"text": "Katib"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"externalLinks": [],
|
||||||
|
"quickLinks": [
|
||||||
|
{
|
||||||
|
"text": "Upload a pipeline",
|
||||||
|
"desc": "Pipelines",
|
||||||
|
"link": "/pipeline/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "View all pipeline runs",
|
||||||
|
"desc": "Pipelines",
|
||||||
|
"link": "/pipeline/#/runs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Create a new Notebook server",
|
||||||
|
"desc": "Notebook Servers",
|
||||||
|
"link": "/jupyter/new?namespace=kubeflow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "View Katib Experiments",
|
||||||
|
"desc": "Katib",
|
||||||
|
"link": "/katib/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"documentationItems": [
|
||||||
|
{
|
||||||
|
"text": "Kubeflow Overview",
|
||||||
|
"desc": "An overview of Kubeflow architecture and workflows",
|
||||||
|
"link": "https://www.kubeflow.org/docs/started/kubeflow-overview/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Kubeflow on Azure",
|
||||||
|
"desc": "Running Kubeflow on AKS and Microsoft Azure",
|
||||||
|
"link": "https://www.kubeflow.org/docs/azure/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Azure Machine Learning Docs",
|
||||||
|
"desc": "Azure Machine Learning Documentation",
|
||||||
|
"link": "https://aka.ms/kubeflow-azureml-docs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Azure Kubernetes Service Docs",
|
||||||
|
"desc": "Azure Kubernetes Service Documentation",
|
||||||
|
"link": "https://aka.ms/kubeflow-aks-docs"
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: centraldashboard
|
||||||
|
app.kubernetes.io/name: centraldashboard
|
||||||
|
name: centraldashboard-links-config
|
||||||
|
namespace: kubeflow
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
getambassador.io/config: |-
|
||||||
|
---
|
||||||
|
apiVersion: ambassador/v0
|
||||||
|
kind: Mapping
|
||||||
|
name: centralui-mapping
|
||||||
|
prefix: /
|
||||||
|
rewrite: /
|
||||||
|
service: centraldashboard.$(namespace)
|
||||||
|
labels:
|
||||||
|
app: centraldashboard
|
||||||
|
app.kubernetes.io/component: centraldashboard
|
||||||
|
app.kubernetes.io/name: centraldashboard
|
||||||
|
name: centraldashboard
|
||||||
|
namespace: kubeflow
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 8082
|
||||||
|
selector:
|
||||||
|
app: centraldashboard
|
||||||
|
app.kubernetes.io/component: centraldashboard
|
||||||
|
app.kubernetes.io/name: centraldashboard
|
||||||
|
sessionAffinity: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: centraldashboard
|
||||||
|
app.kubernetes.io/name: centraldashboard
|
||||||
|
name: centraldashboard
|
||||||
|
namespace: kubeflow
|
||||||
|
|
@ -48,7 +48,7 @@ spec:
|
||||||
configMapKeyRef:
|
configMapKeyRef:
|
||||||
key: userid-prefix
|
key: userid-prefix
|
||||||
name: kubeflow-config
|
name: kubeflow-config
|
||||||
image: gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-gd9be4b9e
|
image: gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-g845af298
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
name: jupyter-web-app
|
name: jupyter-web-app
|
||||||
ports:
|
ports:
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ spec:
|
||||||
configMapKeyRef:
|
configMapKeyRef:
|
||||||
key: userid-prefix
|
key: userid-prefix
|
||||||
name: kubeflow-config
|
name: kubeflow-config
|
||||||
image: gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-gd9be4b9e
|
image: gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-g845af298
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
name: jupyter-web-app
|
name: jupyter-web-app
|
||||||
ports:
|
ports:
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ spec:
|
||||||
configMapKeyRef:
|
configMapKeyRef:
|
||||||
key: userid-prefix
|
key: userid-prefix
|
||||||
name: kubeflow-config-bk4bc7m928
|
name: kubeflow-config-bk4bc7m928
|
||||||
image: gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-gd9be4b9e
|
image: gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-g845af298
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
name: jupyter-web-app
|
name: jupyter-web-app
|
||||||
ports:
|
ports:
|
||||||
|
|
|
||||||
|
|
@ -41,40 +41,25 @@ data:
|
||||||
],
|
],
|
||||||
"documentationItems": [
|
"documentationItems": [
|
||||||
{
|
{
|
||||||
"text": "Getting Started with Kubeflow",
|
"text": "Kubeflow Overview",
|
||||||
"desc": "Get your machine-learning workflow up and running on Kubeflow",
|
"desc": "An overview of Kubeflow architecture and workflows",
|
||||||
"link": "https://www.kubeflow.org/docs/started/getting-started/"
|
"link": "https://www.kubeflow.org/docs/started/kubeflow-overview/"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "MiniKF",
|
"text": "Kubeflow on Azure",
|
||||||
"desc": "A fast and easy way to deploy Kubeflow locally",
|
"desc": "Running Kubeflow on AKS and Microsoft Azure",
|
||||||
"link": "https://www.kubeflow.org/docs/started/getting-started-minikf/"
|
"link": "https://www.kubeflow.org/docs/azure/"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "Microk8s for Kubeflow",
|
"text": "Azure Machine Learning Docs",
|
||||||
"desc": "Quickly get Kubeflow running locally on native hypervisors",
|
"desc": "Azure Machine Learning Documentation",
|
||||||
"link": "https://www.kubeflow.org/docs/started/getting-started-multipass/"
|
"link": "https://aka.ms/kubeflow-azureml-docs"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "Minikube for Kubeflow",
|
"text": "Azure Kubernetes Service Docs",
|
||||||
"desc": "Quickly get Kubeflow running locally",
|
"desc": "Azure Kubernetes Service Documentation",
|
||||||
"link": "https://www.kubeflow.org/docs/started/getting-started-minikube/"
|
"link": "https://aka.ms/kubeflow-aks-docs"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"text": "Kubeflow on GCP",
|
|
||||||
"desc": "Running Kubeflow on Kubernetes Engine and Google Cloud Platform",
|
|
||||||
"link": "https://www.kubeflow.org/docs/gke/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Kubeflow on AWS",
|
|
||||||
"desc": "Running Kubeflow on Elastic Container Service and Amazon Web Services",
|
|
||||||
"link": "https://www.kubeflow.org/docs/aws/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Requirements for Kubeflow",
|
|
||||||
"desc": "Get more detailed information about using Kubeflow and its components",
|
|
||||||
"link": "https://www.kubeflow.org/docs/started/requirements/"
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue