提问者:小点点

在单个入口控制器上并行运行多个应用程序(例如JupyterLab/Elyra Kubeflow管道UI)


我已经安装了Elyra(这是JupyerLab一些以AI为中心的扩展,包括用于创建Kubeflow管道的可视化编辑器)和KubeFlow管道并行在一个KIND(Docker中的库伯内特斯)集群上。

首先,我安装了这里记录的Kubeflow管道

导出PIPELINE_VERSION=1.4.1
kubectl应用-k"github.com/kubeflow/pipelines/manifests/kustomize/cluster-scoped-resources?ref=$PIPELINE_VERSION"
kubectl等待条件=建立--timeout=60s crd/applications.app.k8s.io
kubectl应用-k"github.com/kubeflow/pipelines/manifests/kustomize/env/platform-agnostic-pns?ref=$PIPELINE_VERSION"

然后,我安装了这里记录的NGINX入口控制器

Kubectl应用-fhttps://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/kind/deploy.yaml

最后,我使用以下步骤安装了Elyra/JupyterLab

因此,我需要的所有UI都已经创建了相应的服务:

k get svc
NAME TYPE CLUSTER-IPEXTERNAL-IPPORT(S)AGE
elyra-ai NodePort10.96.84.318888:32111/TCP94m
kubernetes ClusterIP10.96.0.1443/TCP105m

k get svc-n kubeflow|grep ml-pieline-用户界面
ml-pieline-用户界面ClusterIP10.96.132.23380/TCP105m

因此,我创建了一个ingres. yaml来启用JupyterLab/Elyra。

如您所见,我正在添加许多路径条目,例如login、elyra、git、lsp、lab、kernelspes、静态、…

所以现在我被困在二维空间里了。

  1. 我不想为我正在安装的每个JupyterLab扩展添加路径条目
  2. 我找不到一种方法也使Kubeflow管道UI从集群外部访问

Elyra管道编辑器可以通过ClusterIP访问Kubeflow管道endpoint,但最好也能访问Kubeflow管道UI…


共1个答案

匿名用户

最简单的方法是使用虚拟主机。所以在DNS或 /etc/hosts文件中添加例如:

127.0.0.1elyra.local.host
127.0.0.1kubeflow.local.host

然后两个service. yaml变得简单,对于Elyra/JupyteLab:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: elyra-ingress
spec:
  rules:
  - host: "elyra.local.host"
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: elyra-ai
            port:
              number: 8888

对于Kubeflow管道:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: kfp-ingress
spec:
  rules:
  - host: "kubeflow.local.host"
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: ml-pipeline-ui
            port:
              number: 80

相关问题