Traefik 不想在端口 80 AWS 上工作

Traefik does not want to work on port 80 AWS

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

我试图在主节点上公开端口 30000-32767,在安全组中并且应用程序可以从世界上访问,不想只使用 80 端口的 traefik!当我试图在 master 的安全组中公开 80 端口时,我得到了 CONNECTION REFUSED,当我尝试在浏览器中访问我的应用程序时,当我删除公开的端口时得到错误 CONNECTION TIMEOUT 在浏览器中..有什么问题??? k8s的所有服务都up了,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 应用程序的输出。

您已使用 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 示例。

天哪,下一个问题是..我有非法域名,所以我尝试在 freenom.com 上注册一个新的免费合法域名。在域设置中设置 Amazon 的 NS 记录,在 R53 中创建新域的托管区域,别名 A 记录到负载均衡器的域名并且它有效!在 traefik 的服务配置中也将类型:NodePort 更改为类型:LoadBalancer。