【问题标题】:TLS setup on K8S Ingress with Traefik使用 Traefik 在 K8S Ingress 上设置 TLS
【发布时间】:2018-06-19 08:23:22
【问题描述】:

我的设置与用于 k8s 的 user guide 没有太大不同。出于某种原因,我只能访问http://app.minikube 而不能访问https://app.minikube

有人可以看看我的设置,看看我明显缺少什么吗?

apiVersion: v1
kind: Service
metadata:
 name: myapp
 labels:
   app: myapp
spec:
 ports:
 - name: http
   port: 80
   targetPort: 7777
 selector:
   app: myapp
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: myingress
 annotations:
   kubernetes.io/ingress.class: traefik
spec:
 rules:
 - host: app.minikube
   http:
     paths:
     - path: /
       backend:
         serviceName: myapp
         servicePort: http
 tls:
  - secretName: mytls

仅供参考,根据Traefik user guidetls 中的hosts 定义是不需要的,这就是我将其省略的原因。

TLS 配置中的 hosts 字段被忽略。相反,证书提供的域用于此目的。建议不要使用通配符证书,因为它们会全局匹配)

【问题讨论】:

  • 你是如何创建秘密的?你得到什么错误?
  • 我认为这个秘密很好:kubectl create secret tls mytls --key=tls.key --cert=tls.crt。该错误只是未找到。

标签: ssl https kubernetes traefik


【解决方案1】:

您缺少hosts 部分:

  tls:
  - hosts:
    - my-host.example.com
    secretName: my-secret

【讨论】:

  • 谢谢,我很感激这个想法。但是,文档明确指出这不是必需的:“TLS 配置中的字段主机被忽略。相反,证书提供的域用于此目的。建议不要使用通配符证书,因为它们将全局匹配。”
  • 哦,好吧...我的工作正常,主机是我能发现的唯一区别,也许它无法读取秘密或类似的东西。祝你好运解决这个问题,并在你这样做时添加答案/更新:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-07
  • 2022-06-29
  • 1970-01-01
  • 2020-05-04
  • 1970-01-01
  • 2020-05-19
  • 1970-01-01
相关资源
最近更新 更多