Kubernetes Kibana UI的URL是什么
我遵循docs并安装了Kibana,当我将该服务用作type:LoadBalancer时,该服务不是 接下来,我删除了类型:LoadBalancer,并让它默认为ClusterIP,结果很好。(注意,我没有AWS) 但是,我不知道如何访问UI,我尝试了这个URL,但它不起作用。 任何关于如何访问Kibana UI的想法。我检查了服务、部署,一切都是绿色检查 我试过的另一件事是这个URL和我从命令kubectl cluster info获得的URL 然而,这显示了这个错误Kubernetes Kibana UI的URL是什么,kubernetes,kibana,efk,Kubernetes,Kibana,Efk,我遵循docs并安装了Kibana,当我将该服务用作type:LoadBalancer时,该服务不是 接下来,我删除了类型:LoadBalancer,并让它默认为ClusterIP,结果很好。(注意,我没有AWS) 但是,我不知道如何访问UI,我尝试了这个URL,但它不起作用。 任何关于如何访问Kibana UI的想法。我检查了服务、部署,一切都是绿色检查 我试过的另一件事是这个URL和我从命令kubectl cluster info获得的URL 然而,这显示了这个错误 { kind: "Sta
{
kind: "Status",
apiVersion: "v1",
metadata: { },
status: "Failure",
message: "services "kibana-logging" is forbidden: User "system:anonymous" cannot get services/proxy in the namespace "kube-system"",
reason: "Forbidden",
details: {
name: "kibana-logging",
kind: "services"
},
code: 403
}
所以,作为另一种尝试,我使用Kibana服务作为节点端口,但这也不起作用
apiVersion: v1
kind: Service
metadata:
name: kibana-logging
namespace: kube-system
labels:
k8s-app: kibana-logging
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
kubernetes.io/name: "Kibana"
spec:
selector:
k8s-app: kibana-logging
type: NodePort
ports:
- port: 5601
protocol: TCP
targetPort: ui
nodePort: 30887
$ kubectl -n kube-system get rc,svc,cm,po
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
svc/elasticsearch-logging ClusterIP 10.98.10.182 <none> 9200/TCP 12m
svc/heapster ClusterIP 10.107.184.85 <none> 80/TCP 3d
svc/kibana-logging NodePort 10.102.254.129 <none> 5601:30887/TCP 12m
svc/kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 3d
svc/kubernetes-dashboard ClusterIP 10.105.30.246 <none> 80/TCP 3d
svc/monitoring-influxdb ClusterIP 10.109.144.39 <none> 8086/TCP 3d
apiVersion:v1
种类:服务
元数据:
名称:kibana logging
名称空间:kube系统
标签:
k8s应用程序:kibana日志
kubernetes.io/cluster-service:“true”
addonmanager.kubernetes.io/mode:协调
kubernetes.io/name:“Kibana”
规格:
选择器:
k8s应用程序:kibana日志
类型:节点端口
端口:
-港口:5601
协议:TCP
目标端口:用户界面
节点端口:30887
$kubectl-n kube系统获得rc、svc、cm、po
名称类型CLUSTER-IP外部IP端口年龄
svc/elasticsearch logging ClusterIP 10.98.10.182 9200/TCP 12m
svc/heapster ClusterIP 10.107.184.85 80/TCP 3d
svc/kibana日志节点端口10.102.254.129 5601:30887/TCP 12m
svc/kube dns ClusterIP 10.96.0.10 53/UDP,53/TCP 3d
svc/kubernetes仪表盘群集IP 10.105.30.246 80/TCP 3d
svc/XDB ClusterIP 10.109.144.39 8086/TCP 3d
我想知道我应该使用什么URL来访问Kibana UI。请注意,我已尝试使用kubectl proxy,我希望在没有它的情况下也能使用它使用您在服务中定义的节点端口:
https://10.123.24.107:30887
在集群外部公开内部服务器的最常见方法是 首先,您需要在Kubernetes集群中运行入口控制器。
有两种类型的维护入口控制器-和 然后,您需要创建一个文件,如下所示,并根据需要进行更改:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
spec:
backend:
serviceName: testsvc
servicePort: 80
当您使用kubectl create-f
创建它时,您应该看到如下内容:
$ kubectl get ingress
NAME RULE BACKEND ADDRESS
test-ingress - testsvc:80 1.2.3.4
在此示例中,1.2.3.4
是入口控制器分配的IP
当您准备好所有东西后,您将能够通过IP1.2.3.4
请在中找到更多示例和用例
您还可以在不使用入口资源的情况下公开Kubernetes服务:
我让它与入口配置中的这些更改一起工作
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kube
namespace: kube-system
annotations:
kubernetes.io/ingress.class: nginx
nginx.org/rewrites: "serviceName=kubernetes-dashboard rewrite=/;serviceName=kibana-logging rewrite=/"
spec:
rules:
- host: HOSTNAME_OF_MASTER
http:
paths:
- path: /kube-ui/
backend:
serviceName: kubernetes-dashboard
servicePort: 80
- path: /kibana/
backend:
serviceName: kibana-logging
servicePort: 5601
我的Kibana系列设置为Nodeport
apiVersion: v1
kind: Service
metadata:
name: kibana-logging
namespace: kube-system
labels:
k8s-app: kibana-logging
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
kubernetes.io/name: "Kibana"
spec:
type: NodePort
ports:
- port: 5601
protocol: TCP
targetPort: ui
selector:
k8s-app: kibana-logging
仪表板也被配置为这样
# ------------------- Dashboard Service ------------------- #
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
type: NodePort
ports:
- port: 80
targetPort: 9090
selector:
k8s-app: kubernetes-dashboard
一旦svc运行,您就可以从任何节点使用NodePort访问kibana。示例::31325/app/kibana
$ kubectl get svc -o wide -n=kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
elasticsearch-logging ClusterIP 10.xx.120.130 <none> 9200/TCP 11h k8s-app=elasticsearch-logging
heapster ClusterIP 10.xx.232.165 <none> 80/TCP 11h k8s-app=heapster
kibana-logging NodePort 10.xx.39.255 <none> 5601:31325/TCP 11h k8s-app=kibana-logging
kube-dns ClusterIP 10.xx.0.xx <none> 53/UDP,53/TCP 12h k8s-app=kube-dns
kubernetes-dashboard NodePort 10.xx.xx.xx <none> 80:32086/TCP 11h k8s-app=kubernetes-dashboard
monitoring-influxdb ClusterIP 10.13.199.138 <none> 8086/TCP 11h k8s-app=influxdb
$kubectl获取svc-o宽-n=kube系统
名称类型CLUSTER-IP外部IP端口年龄选择器
elasticsearch logging ClusterIP 10.xx.120.130 9200/TCP 11h k8s app=elasticsearch logging
heapster ClusterIP 10.xx.232.165 80/TCP 11h k8s应用程序=heapster
kibana日志记录节点端口10.xx.39.255 5601:31325/TCP 11h k8s app=kibana日志记录
kube dns群集IP 10.xx.0.xx 53/UDP,53/TCP 12h k8s app=kube dns
kubernetes仪表板节点端口10.xx.xx.xx 80:32086/TCP 11h k8s app=kubernetes仪表板
监控influxdb集群IP 10.13.199.138 8086/TCP 11h k8s app=influxdb
我试过了,但是得到了404{statusCode:404,错误:“找不到”}并且没有/api/v1/proxy/namespace/?就我上面写的url。我已经有了一个入口,并且仪表板正在那里运行,只要我为另一个入口添加配置,比如仪表板上面的入口下降,kibana也没有出现,你能为仪表板入口和kibana(pod、服务、入口)提供yaml吗?