Доступ к интерфейсу Zeppelin в кластере Kubernetes

Я пытаюсь добавить Zeppelin в кластер Kubernetes.

Итак, используя образ докера Zeppelin (0.8.1) из апач/цеппелин, я создал развертывание и сервис 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

Чтобы открыть интерфейс, я создал следующий Ingress:

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 все выглядит нормально (развертывание, модули, службы и наборы реплик — зеленые). В Zeppelin Pod куча предупреждений jersey.internal, но это похоже они не актуальны.

При этом я рассчитываю получить доступ к веб-интерфейсу Zeppelin через URL http://[MyIP]/zeppelin.

Но когда я это делаю, я получаю:

HTTP ERROR 404 
Problem accessing /zeppelin. Reason:

    Not Found

Чего мне не хватает для доступа к интерфейсу Zeppelin?

Примечание :

  • Я использую кластер Minikube с Kubernetes 1.14.
  • У меня также есть кластер Spark в моем кластере K8S, и таким образом я могу правильно получить доступ к веб-интерфейсу spark-master (здесь я опустил часть spark в конфигурации Ingress)
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
1
0
333
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Почему вы просто не раскрываете свой сервис zeppelin через 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) Перейдите по ссылке, которую вы

Ахах, я нашел это решение буквально 30 секунд назад. Подтверждаю, работает. Спасибо ! :)

Nakeuh 08.04.2019 16:18

Другие вопросы по теме