【发布时间】:2017-10-05 04:10:51
【问题描述】:
我一直在尝试将 Traefik 用作 Google Cloud 容器引擎上的 Ingress Controller。
我的 http 部署/服务启动并运行(当我使用普通的 LoadBalancer 公开它时,它的响应很好)。
然后我删除了 LoadBalancer,并按照本教程进行操作:https://docs.traefik.io/user-guide/kubernetes/
所以我得到了一个新的traefik-ingress-controller 部署和服务,以及一个可以通过 kubectl 代理访问的 traefik ui 的入口。
然后我为我的 http 服务创建了入口,但我的问题出现了:我找不到将其公开的方法。
我希望任何人都可以通过外部 IP 访问它。
我错过了什么?
这是kubectl get --export all的输出:
NAME READY STATUS RESTARTS AGE
po/mywebservice-3818647231-gr3z9 1/1 Running 0 23h
po/mywebservice-3818647231-rn4fw 1/1 Running 0 1h
po/traefik-ingress-controller-957212644-28dx6 1/1 Running 0 1h
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
svc/mywebservice 10.51.254.147 <none> 80/TCP 1d
svc/kubernetes 10.51.240.1 <none> 443/TCP 1d
svc/traefik-ingress-controller 10.51.248.165 <nodes> 80:31447/TCP,8080:32481/TCP 25m
svc/traefik-web-ui 10.51.248.65 <none> 80/TCP 3h
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deploy/mywebservice 2 2 2 2 1d
deploy/traefik-ingress-controller 1 1 1 1 3h
NAME DESIRED CURRENT READY AGE
rs/mywebservice-3818647231 2 2 2 23h
rs/traefik-ingress-controller-957212644 1 1 1 3h
【问题讨论】:
-
您似乎已经使用 NodePorts 设置了 Traefik Ingress 控制器服务,因此看起来您应该能够访问端口 31447 上的任何节点。或者,您可以通过 LoadBalancer 和路由公开该服务通过单个公共 IP 地址进行流量。
-
我遇到了同样的问题。即使尝试
curl nodeIP:nodePort也不会返回响应。你找到解决办法了吗?
标签: kubernetes google-cloud-platform traefik