Docker k8s nginx ingress kibana

Docker k8s nginx ingress kibana,docker,kubernetes,kibana,nginx-ingress,Docker,Kubernetes,Kibana,Nginx Ingress,我有一个k8s集群,我在上面部署了ELK,我的kibana部署和服务看起来像 apiVersion: apps/v1 kind: Deployment metadata: labels: service: kibana name: kibana spec: replicas: 1 selector: matchLabels: service: kibana strategy: type: RollingUpdate template:

我有一个k8s集群,我在上面部署了ELK,我的kibana部署和服务看起来像

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    service: kibana
  name: kibana
spec:
  replicas: 1
  selector:
    matchLabels:
      service: kibana
  strategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        service: kibana
    spec:
      containers:
        - image: docker.elastic.co/kibana/kibana:6.6.0
          name: kibana
          ports:
            - containerPort: 5601
          resources:
            requests:
              memory: 1Gi
            limits:
              memory: 1Gi
      restartPolicy: Always
      imagePullSecrets:
        - name: regcred
---
apiVersion: v1
kind: Service
metadata:
  labels:
    service: kibana
  name: kibana
spec:
  ports:
    - name: "5601"
      port: 5601
      targetPort: 5601
  selector:
    service: kibana
  type: NodePort
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: loadbalancer-https
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: true
    nginx.ingress.kubernetes.io/force-ssl-redirect: true
    nginx.ingress.kubernetes.io/secure-backends: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/app-root: /
    nginx.org/ssl-services: "kibana"
    kubernetes.io/ingress.class: nginx
spec:
  tls:
    - hosts:
        - kibana.some.com
      secretName: secret
  rules:
    - host: kibana.some.com
      http:
        paths:
          - path: /
            backend:
              serviceName: kibana
              servicePort: 5601
nginx入口看起来像

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    service: kibana
  name: kibana
spec:
  replicas: 1
  selector:
    matchLabels:
      service: kibana
  strategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        service: kibana
    spec:
      containers:
        - image: docker.elastic.co/kibana/kibana:6.6.0
          name: kibana
          ports:
            - containerPort: 5601
          resources:
            requests:
              memory: 1Gi
            limits:
              memory: 1Gi
      restartPolicy: Always
      imagePullSecrets:
        - name: regcred
---
apiVersion: v1
kind: Service
metadata:
  labels:
    service: kibana
  name: kibana
spec:
  ports:
    - name: "5601"
      port: 5601
      targetPort: 5601
  selector:
    service: kibana
  type: NodePort
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: loadbalancer-https
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: true
    nginx.ingress.kubernetes.io/force-ssl-redirect: true
    nginx.ingress.kubernetes.io/secure-backends: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/app-root: /
    nginx.org/ssl-services: "kibana"
    kubernetes.io/ingress.class: nginx
spec:
  tls:
    - hosts:
        - kibana.some.com
      secretName: secret
  rules:
    - host: kibana.some.com
      http:
        paths:
          - path: /
            backend:
              serviceName: kibana
              servicePort: 5601
但是我得到了502坏网关,如果我查看nginx入口日志,我会看到

2019/03/02 01:25:09 [error] 875#875: *470787 upstream prematurely closed connection while reading response header from upstream, client: 10.138.82.98, server: kibana.some.com, request: "GET /favicon.ico HTTP/2.0", upstream: "http://10.244.2.86:5601/favicon.ico", host: "kibana.some.com", referrer: "https://kibana.some.com/"
这似乎很简单,但我不知道我在这里遗漏了什么。我希望能得到一些帮助


谢谢

它应该与您的
nginx.ingres.kubernetes.io/secure-backends相关:您的ingres中的“true”
配置。您是否在Pod中为Kibana配置了HTTPS/TLS支持?否则,我建议删除此注释

另外,请注意,不推荐使用
nginx.ingres.kubernetes.io/secure-backends:“true”
注释

参考:


它应该与您的
nginx.ingres.kubernetes.io/secure-backends相关:您的ingres中的“true”
配置。您是否在Pod中为Kibana配置了HTTPS/TLS支持?否则,我建议删除此注释

另外,请注意,不推荐使用
nginx.ingres.kubernetes.io/secure-backends:“true”
注释

参考:


感谢您的回复@fei,我删除了这一行,但在nginx入口日志上都表现出相同的错误。是的,我为我的kibana启用了https,我为kibana禁用了https,让nginx ingress来做这项工作,现在它可以工作了。是的,我认为您的https设置中可能存在一些错误配置,我不太确定您的设置到底是什么。但一般来说,在nginx入口后面的kibana并不需要这些。很高兴你解决了你的问题。谢谢你的回复@fei,我删除了那一行,但在nginx入口日志上都表现出相同的错误。是的,我为我的kibana启用了https,我为kibana禁用了https,让nginx ingress来做这项工作,现在它可以工作了。是的,我认为您的https设置中可能存在一些错误配置,我不太确定您的设置到底是什么。但一般来说,在nginx入口后面的kibana并不需要这些。很高兴你解决了你的问题。你解决了吗?是的,答案如下。放下安全的后端,你会明白吗?是的,答案如下。放下安全的后端应该可以