簡體   English   中英

儀表板不適用於 https - K8s 版本 - v1.19.6

[英]dashboard not working with https - K8s Version- v1.19.6

我已經使用命令部署了Kubernetes 儀表板

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

我已經將服務編輯為 Nodeport 並相應地配置了 Ingress object。 我可以使用 http 登錄儀表板,但在使用 https 登錄相同的 URL 時遇到問題:

"TLS handshake error from 10.244.0.0:44950: remote error: tls: unknown certificate" .

當我使用 ssl 配置入口規則時,它給出了錯誤:

"Client sent an HTTP request to an HTTPS server."

我有 jenkins 應用程序在具有真實證書的同一集群上運行,我可以登錄 jenkins url 與 Z5E05610C500A18C7B6。

集群信息:
k8s 集群運行於(Linux Server 7.9 版)
kubernetes版(v1.19.6)
請求您確認是否有任何解決此問題的建議

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: kube-system-ingress
  namespace: kubernetes-dashboard
  annotations:
    kubernetes.io/ingress.class: "haproxy"
    ingress.kubernetes.io/ssl-passthrough: "false"
spec:
  tls:
  - hosts:
    - console.qa.test.com
    secretName: qa-pss-dashboard
  rules:
  - host: console.qa.test.com
    http:
      paths:
      - path: /
        backend:
          serviceName: kubernetes-dashboard
          servicePort: 8443

我認為您必須添加注釋 ingress.kubernetes.io/backend-protocol: "HTTPS"

請注意 kubernetes 儀表板服務暴露在 443 端口,而不是與部署(pod 端口)相關的 8443。

所以:

    backend:
      service:
        name: kubernetes-dashboard
        port:
          number: 443

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM