访问Kubernetes集群中的齐柏林飞艇接口

访问Kubernetes集群中的齐柏林飞艇接口,kubernetes,apache-zeppelin,Kubernetes,Apache Zeppelin,我想把齐柏林飞艇加入库伯内特斯星系团 因此,使用中的齐柏林飞艇(0.8.1)docker映像,我创建了一个K8S部署和服务,如下所示: 部署: kind: Deployment apiVersion: extensions/v1beta1 metadata: name: zeppelin-k8s spec: replicas: 1 selector: matchLabels: component: zeppelin-k8s template:

我想把齐柏林飞艇加入库伯内特斯星系团

因此,使用中的齐柏林飞艇(0.8.1)docker映像,我创建了一个K8S部署和服务,如下所示:

部署:

kind: Deployment
apiVersion: extensions/v1beta1
metadata:
        name: zeppelin-k8s
spec:
  replicas: 1
  selector:
    matchLabels:
      component: zeppelin-k8s
  template:
    metadata:
      labels:
        component: zeppelin-k8s
    spec:
      containers:
        - name: zeppelin-k8s
          image: apache/zeppelin:0.8.1
          ports:
            - containerPort: 8080
          resources:
            requests:
                cpu: 100m
服务:

kind: Service
apiVersion: v1
metadata:
  name: zeppelin-k8s
spec:
  ports:
    - name: zeppelin
      port: 8080
      targetPort: 8080
  selector:
    component: zeppelin-k8s
为了公开接口,我创建了以下入口:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: minikube-ingress
  annotations:
spec:
  rules:
  - host: spark-kubernetes
    http:
      paths:
      - path: /zeppelin
        backend:
          serviceName: zeppelin-k8s
          servicePort: 8080
使用Kubernetes仪表板,一切看起来都很好(部署、POD、服务和副本集都是绿色的)。齐柏林飞艇吊舱里有一堆
jersey.内部的
警告,但是没有

有了这些,我希望通过URL
http://[MyIP]/Zeppelin
访问齐柏林飞艇的web界面

但当我这样做时,我得到:

HTTP ERROR 404 
Problem accessing /zeppelin. Reason:

    Not Found
访问齐柏林飞艇界面我缺少什么

注:

  • 我使用带有Kubernetes 1.14的Minikube集群
  • 我的K8S集群上还有一个Spark集群,我能够通过这种方式正确访问Spark master web ui(这里我省略了Ingress配置中的Spark部分)

    • 为什么不通过NodePort公开齐柏林飞艇服务

      1) 将yaml更新为:

      kind: Service
      apiVersion: v1
      metadata:
        name: zeppelin-k8s
      spec:
        ports:
          - name: zeppelin
            port: 8080
            targetPort: 8080
        type: NodePort
        selector:
          component: zeppelin-k8s
      
      2) 通过公开访问

      minikube service zeppelin-k8s --url
      

      3) 遵循链接,你为什么不通过NodePort公开齐柏林飞艇服务

      1) 将yaml更新为:

      kind: Service
      apiVersion: v1
      metadata:
        name: zeppelin-k8s
      spec:
        ports:
          - name: zeppelin
            port: 8080
            targetPort: 8080
        type: NodePort
        selector:
          component: zeppelin-k8s
      
      2) 通过公开访问

      minikube service zeppelin-k8s --url
      

      3) 点击链接你

      Ahah,我30秒前就找到了这个解决方案。我确认它有效。谢谢!:)啊哈,我在30秒前找到了这个解决方案。我确认它有效。谢谢!:)