Я пытаюсь добавить Цеппелин в кластер Kubernetes.
Итак, используя образ докера Zeppelin (0.8.1) из apache / zeppelin , я создал K8S Deployment and Service следующим образом:
Развертывание:
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 все выглядит хорошо («Развертывание», «Pods», «Services» и «Replica Sets» зеленого цвета). В модуле Zeppelin есть несколько предупреждений 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)