当前位置: 首页 > 知识库问答 >
问题:

对于k3s中的Traefik入口控制器,禁用TLS验证

江子石
2023-03-14

我正在使用k3s的默认安装(版本v1.17.0 k3s.1)并验证它在我的Raspberry Pi集群上正常工作。

在使用推荐的说明(https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/)安装kubernetes-dashboard之后,我使用基于k3s traefik的负载均衡器将其暴露在集群之外,确认了这一点。

但是,当我尝试使用traefik入口控制器公开它时,我无法连接到kubernetes仪表板,浏览器显示HTTP 500错误,即内部服务器错误。下面是我的入口yaml和kubernetes-dashboard pod日志,显示TLS证书错误。我相信证书错误是由于traefik不知道(和信任)kubernetes仪表板使用的TLS证书。

a、 k8s仪表板入口

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服务”域在我的pi群集计算机和浏览计算机主机文件中定义。

B.库伯内特斯仪表板吊舱日志

...
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
...

我的问题似乎与以下堆栈溢出问题非常相似:Kubernetes dashboard through Ingress

解决此问题的第一次尝试是将ssl.insecureSkipVerify:'true'添加到k3s中的traefik.toml文件中。不幸的是,我找不到全局traefik.toml文件(traefik似乎是使用Helm Chart安装的)。

请告诉我如何更新traefik或其他替代解决方案中的“ssl.unsecureskipverify”设置。

共有1个答案

索卓
2023-03-14

您需要在var/lib/rancher/k3s/server/manifests/traefik配置下创建一个HelmChartConfig。yaml哪些内容:

apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: traefik
  namespace: kube-system
spec:
spec:
  valuesContent: |-
    ssl.insecureSkipVerify: true    # <-- Add this line

但我怀疑它能否解决问题。

 类似资料:
  • 我正在云中的AWS EKS服务上运行我的工作负载。我可以看到没有默认的入口控制器可用(因为它可用于GKE),我们必须选择第三方。 我决定使用Traefik。在跟踪文档和其他资源(像这样)之后,我觉得使用Traefik作为IngresController不会自动在云中创建LoadBalancer。我们必须手动完成它来设置所有内容。 如何使用Traefik作为Kubernetes入口,就像其他入口控制

  • 我有AWS K3S库伯内特斯集群 我有AWS负载均衡器 我已注册域名 我已经注册了AWS证书 我为我的域和AWS负载均衡器DNS名称创建了CNAME记录 我在AWS K3S库伯内特斯集群上安装了Traefik入口控制器 我将用户管理和whoami服务部署到AWS K3S库伯内特斯集群 我创建了带有用户管理和whoami路径的Traefik入口 问题是: 如何使用Ingress Traefik Co

  • 我使用nginx入口控制器在GKE上设置了一个新的kubernetes集群。TLS不起作用,它在使用假证书。 有很多配置细节,所以我做了一个回购https://github.com/jobevers/test_ssl_ingress 简而言之,步骤是 创建一个没有GKE负载均衡器的新集群 用我的密钥和证书创建一个tls秘密 创建一个nginx入口部署/pod 创建入口控制器 nginx-ingre

  • 我想从我的网站上禁用TLS 1.0和TLS 1.1。 该网站位于谷歌云平台Kubernetes引擎上。 我用了这个Nginx入口https://cloud.google.com/community/tutorials/nginx-ingress-gke 对于SSL证书,我使用了本教程中的cert managerhttps://youtu.be/hoLUigg4V18 我不知道该怎么做。应在以下地点

  • 我正在运行一个kubernetes集群,它由三个节点组成,工作出色,但现在是时候让我的Web应用程序安全了,所以我部署了一个入口控制器(traefik)。但是我找不到在上面设置https的说明。我知道我必须做的大部分事情,比如设置“秘密”(带有证书的容器)等,但我想知道如何配置我的入口控制器和与之相关的所有文件,以便我能够使用安全连接 我已经配置了入口控制器,并创建了一些前端和后端。此外,我还配置

  • 我已经安装并配置了AWS ALB入口控制器(https://github.com/kubernetes-sigs/aws-alb-ingress-controller),它可以通过HTTP正常工作。但是,它不能通过HTTPS解析。 入口资源如下: 我还按照此处的说明添加了自签名SSL证书: https://kubernetes.github.io/ingress-nginx/user-guide/