我正在尝试将Zeppelin添加到Kubernetes集群中。
因此,使用来自apache/zeppelin的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仪表板,一切看起来都很好(Deployment,Pod,Services和Replica Sets为绿色)。 Zeppelin Pod中有很多jersey.internal
警告,但look like they are not relevant却是警告。
所有这些,我希望通过URL http://[MyIP]/zeppelin
访问Zeppelin Web界面。
但是当我这样做时,我得到了:
HTTP ERROR 404
Problem accessing /zeppelin. Reason:
Not Found
访问Zeppelin界面我缺少什么?
注意:
答案 0 :(得分:3)
为什么您不通过NodePort公开Zeppelin服务?
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)跟随您的链接