k3s のデフォルトのインストール (リリース v1.17.0+k3s.1) を使用しており、Raspberry Pi クラスターで正しく動作していることを確認しました。
推奨される手順 ( https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/ ) を使用して kubernetes-dashboard をインストールした後、k3s を使用してクラスターの外部に公開した後、これが機能することを確認しましたtraefik ベースのロード バランサー。
ただし、traefik イングレス コントローラーを使用して公開しようとすると、ブラウザーに HTTP 500 エラー、つまり内部サーバー エラーが表示され、kubernetes ダッシュボードに接続できませんでした。以下は、TLS 証明書エラーを示すイングレス yaml および kubernetes-dashboard ポッド ログです。証明書エラーは、kubernetes ダッシュボードで使用される TLS 証明書を traefik が認識していない (そして信頼していない) ことが原因であると考えています。
を。k8s-dashboard-Ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/ssl-redirect: "true"
spec:
rules:
- host: k8s-services
http:
paths:
- path: /k8s-dashboard
backend:
serviceName: kubernetes-dashboard
servicePort: 443
ノート。ドメイン「k8s-services」ドメインは、私のpiクラスターマシンとブラウジングコンピューターのホストファイルで定義されています。
b. Kubernetes ダッシュボード ポッドのログ
...
2020/01/18 06:04:19 Auto-generating certificates
2020/01/18 06:04:19 Metric client health check failed: the server is currently unable to handle the request (get services dashboard-metrics-scraper). Retrying in 30 seconds.
2020/01/18 06:04:19 Successfully created certificates
2020/01/18 06:04:19 Serving securely on HTTPS port: 8443
2020/01/18 06:04:49 Successful request to sidecar
2020/01/18 06:23:28 http: TLS handshake error from 10.42.0.113:52698: remote error: tls: bad certificate
2020/01/18 06:24:33 http: TLS handshake error from 10.42.0.113:52886: remote error: tls: bad certificate
2020/01/18 06:24:41 http: TLS handshake error from 10.42.0.113:52908: remote error: tls: bad certificate
2020/01/18 06:24:47 http: TLS handshake error from 10.42.0.113:52926: remote error: tls: bad certificate
2020/01/18 06:24:53 http: TLS handshake error from 10.42.0.113:52948: remote error: tls: bad certificate
2020/01/18 06:25:37 http: TLS handshake error from 10.42.0.113:53076: remote error: tls: bad certificate
2020/01/18 06:25:41 http: TLS handshake error from 10.42.0.113:53090: remote error: tls: bad certificate
2020/01/18 06:25:44 http: TLS handshake error from 10.42.0.113:53102: remote error: tls: bad certificate
2020/01/18 06:31:22 http: TLS handshake error from 10.42.0.113:54144: remote error: tls: bad certificate
2020/01/18 06:31:29 http: TLS handshake error from 10.42.0.113:54158: remote error: tls: bad certificate
...
私の問題は、次のスタック オーバーフローの問題に非常に似ているようです: Ingress を介した Kubernetes ダッシュボード
この問題に対処する最初の試みは、k3s の traefik.toml ファイルに「ssl.insecureSkipVerify: 'true'」を追加することです。残念ながら、グローバルな traefik.toml ファイルが見つかりませんでした (そして、traefik は Helm チャートを使用してインストールされているようです)。
traefik の「ssl.insecureSkipVerify」設定を更新する方法、またはその他の代替ソリューションを教えてください。