【发布时间】:2018-09-16 17:33:08
【问题描述】:
我正在使用带有 Traefik 的 Kubernetes 作为入口控制器。我的网络中有一些 Web 服务还不能被容器化。因此,我正在寻找一种通过 Traefik Ingress 公开我的非 Kubernetes Web 服务的方法。我没有更多的公共 IP,因此不能拆分两个环境。
我已经创建了一个端点 + 服务来解决这个问题,但是当我尝试连接时,我得到一个 SSL 协议错误。我做错了什么还是有人有其他解决方案?
这些是我的(测试)端点和服务 yaml:
kind: Endpoints
apiVersion: v1
metadata:
name: my-service
subsets:
- addresses:
- ip: 10.4.0.6
ports:
- port: 443
---
kind: Service
apiVersion: v1
metadata:
name: my-service
spec:
ports:
- protocol: TCP
port: 443
name: https
targetPort: 443
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: host.com
http:
paths:
- path: /*
backend:
serviceName: my-service
servicePort: 443
【问题讨论】:
-
您看到了什么错误?如果您的后端不在端口 443(不是 TLS)上,它是否有效。您是否设置了证书?
-
@Rico 我所有的后端服务都重定向到端口 443。为了测试这个场景,我必须部署一个端口 80 测试服务。 Chrome 会抛出 ERR_SSL_PROTOCOL_ERROR,但这是一个非常普遍的错误。
标签: kubernetes traefik