Kubernetes Kibana UI的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

我遵循docs并安装了Kibana,当我将该服务用作type:LoadBalancer时,该服务不是 接下来,我删除了类型:LoadBalancer,并让它默认为ClusterIP,结果很好。(注意,我没有AWS) 但是,我不知道如何访问UI,我尝试了这个URL,但它不起作用。 任何关于如何访问Kibana UI的想法。我检查了服务、部署,一切都是绿色检查

我试过的另一件事是这个URL和我从命令kubectl cluster info获得的URL 然而,这显示了这个错误

{
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

当您准备好所有东西后,您将能够通过IP
1.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吗?