ECK Kibana 入口

Ingress for ECK Kibana

我已经按照 Elasticsearch 文档安装了 ECK crds 和 operator,集群已启动并运行良好,我还可以转发 kibana 服务,我可以通过以下命令使用 ui:

kubectl port-forward service/kibana-kb-http 5601

但是,如果我写了一个 Ingress,我就无法访问它,最好的情况是我会收到关于证书的警告,最坏的情况是什么也没有。

我也在用Traefik,我的Kibana是:

apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
  name: kibana
  labels:
    various...
spec:
  version: 7
  count: 1
  elasticsearchRef:
    name: "elasticsearch"
  podTemplate:
    spec:
      http:
        tls:
          selfSignedCertificate:
            disabled: false
      containers:
        - name: kibana
          resources:
            limits:
              memory: 2Gi
              cpu: 2

我的入口尝试之一:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: k-ingress
  annotations:
    kubernetes.io/ingress.class: traefik
spec:
  rules:
    - host: kibana.host.com
      http:
        paths:
          - backend:
              serviceName: kibana-kb-http
              servicePort: 5601
            path: /

我发现了其他关于它的问题,但它们要么太旧,要么没有得到答复。有什么建议吗?

我回去查看Kibana文档,发现只需要将Kibana yaml文件修改为:

apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
  name: kibana
  labels:
    various...
spec:
  version: 7
  http:
    service:
      spec:
        type: LoadBalancer
    tls:
      selfSignedCertificate:
        disabled: true
  count: 1
  elasticsearchRef:
    name: "elasticsearch"
  podTemplate:
    containers:
      - name: kibana
        resources:
          limits:
            memory: 2Gi
            cpu: 2

请注意,tls 部分已移至规范部分,而不是在 podTemplate 中,并且已添加 LoadBalancer。现在,我可以使用 http://my-cluster:5601

连接到 Kibana