Traefik不想在80端口AWS上工作

时间:2018-12-23 22:48:20

标签: amazon-web-services kubernetes traefik kops traefik-ingress

请帮助我通过AWS中的traefik处理我的k8s简单应用程序的可访问性。

我试图在安全组中公开主节点上的端口30000-32767,并且应用程序可以从世界访问,但不想只使用80的traefik端口!当我尝试在主机的安全组中公开80端口时,得到拒绝连接,当尝试在浏览器中访问我的应用程序时,当我删除公开的端口时出现错误 CONNECTION TIMEOUT 在浏览器中..是什么问题??? k8的所有服务均已启动,traefik中没有错误。

KOPS:

kops create cluster \
--node-count = 2 \
--networking calico \
--node-size = t2.micro \
--master-size = t2.micro \
--master-count = 1 \
--zones = us-east-1a \
--name = ${KOPS_CLUSTER_NAME}

K8S app.yml和traefik.yml:

  1. 应用

https://pastebin.com/WtEe633x

  1. traefik

https://pastebin.com/pnPJVPBP

当我键入myapp.com时,想要在80端口上获得echoserver应用程序的输出。

2 个答案:

答案 0 :(得分:1)

天哪,问题出在下一个..我的域名非法,所以我尝试在freenom.com上注册一个新的免费合法域名。在域设置中设置Amazon的NS记录,在R53中创建新域的托管区域,并使用别名A记录作为loadbalancer的域名,它可以正常工作!在traefik的服务配置中也将类型:NodePort更改为类型:LoadBalancer。

答案 1 :(得分:0)

您已经使用NodePort服务进行设置:

kind: Service
apiVersion: v1
metadata:
  name: traefik-ingress-service
#  namespace: kube-system
spec:
  selector:
    k8s-app: traefik-ingress-lb
  ports:
    - protocol: TCP
      port: 80
      name: web
    - protocol: TCP
      port: 8080
      name: admin
  type: NodePort

这并不意味着服务代理将从外部的PoV侦听端口80。默认情况下,NodePort服务自动自动随机分配其端口。您可能想要做的是改为使用LoadBalancer服务。查看https://github.com/Ridecell/kubernetes/blob/9e034f4d0fb38e49f808ae0852af74366f630d48/manifests/traefik.yml#L152-L171为例。