【问题标题】:How to set up ingress in Kubernetes for http and https backend如何在 Kubernetes 中为 http 和 https 后端设置入口
【发布时间】:2019-07-18 15:40:43
【问题描述】:

假设我有一个简单的网站,我想在 Kubernetes 上运行它。网站应该监听 HTTP 和 HTTPS 协议。

在 Kubernetes 中,我已经为其设置了部署、服务和入口。如果我只尝试端口 80,一切正常,但如果我想用 HTTPS 扩展它,一切都会失败,并且我从入口控制器收到 404 错误。 HTTPS 流量应直接转发到后端。我该怎么做?

我尝试使用 --enable-ssl-passthrough=true 选项(直接在 Daemon Set 配置中)扩展我的入口控制器守护程序集,但随后是入口控制器的 pod没有开始。我在 Internet 上找到了一篇文章,要启用 --enable-ssl-passthrough,应使用该标志安装入口控制器:see this page。顺便说一句,我怎样才能“安装”带有该标志的入口控制器?

我尝试在入口规则中添加 80 和 443 端口,但也没有成功。

Kubernetes:v1.14.3 入口控制器:documentation

请查看我的服务和入口:

apiVersion: v1
kind: Service
metadata:
  name: {{ container_service_ingress }}-service
  labels:
    cms: "{{ cms }}"
    namespace: "default"
spec:
  selector:
    website: "{{ domain }}"
    cms: "{{ cms }}"
  ports:
    - name: http
      port: 80
    - name: https
      port: 443
  type: NodePort

---

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: {{ container_service_ingress }}-ingress
# I tried this annotation, but it didn't help:
  annotations:
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
  labels:
    website: "{{ domain }}"
spec:
  rules:
  - host: {{ domain }}
    http:
      paths:
      - backend:
          serviceName: {{ container_service_ingress }}-service
          servicePort: 80
      - backend:
          serviceName: {{ container_service_ingress }}-service
          servicePort: 443

在这种情况下,入口控制器无法启动,因为它说配置文件中的重复位置“/”

有人可以帮我吗?

【问题讨论】:

    标签: kubernetes-ingress nginx-ingress kubernetes-service


    【解决方案1】:
    apiVersion: networking.k8s.io/v1beta1
    kind: Ingress
    metadata:
      name: tls-ingress
    spec:
      tls:
      - hosts:
        - ssl.example.com
        secretName: test-tls
      rules:
        - host: ssl.example.com
          http:
            paths:
            - path: /
              backend:
                serviceName: service1
                servicePort: 80
    

    您需要使用 tls 部分来满足您的要求。

    【讨论】:

    • 谢谢!我用另一个入口控制器 - Traefik 做到了。它有比 Nginx 入口控制器更多的相关手册。
    猜你喜欢
    • 2020-09-07
    • 2015-09-02
    • 2019-02-02
    • 2018-06-21
    • 2021-05-05
    • 2018-10-15
    • 2021-01-17
    • 1970-01-01
    • 2019-11-20
    相关资源
    最近更新 更多