遵循本教程:

https://medium.com/kubernetes-tutorials/deploying-traefik-as-ingress-controller-for-your-kubernetes-cluster-b03a0672ae0c
我可以通过访问www.domain.com:nodePort来访问该网站
是否可以省略nodePort部分?你能提供例子吗?

最佳答案


是和否

  • 不直接。 Kubernetes总是在节点端口上公开外部服务,甚至是LoadBalancer类型的服务。
  • 是的。如果您在负载均衡器前面放置它。您自己的将端口80和/或443转发到您的NodePort的服务,或者是LoadBalancer类型的服务,其本质上是设置了一个将流量转发到您的NodePort的外部负载均衡器。


  • 公开您的入口的NodePort服务基本相同,您只需要设置自己的外部负载平衡器即可。 (即AWS ELB / ALB / NLB,GCP负载平衡器,Azure负载平衡器,F5等)
    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
    
    LoadBalancer类型只是对服务类型的更改:
    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: LoadBalancer
    
    在上述情况下,Kubernetes将自动管理load balancer in the provider

    关于kubernetes - 如何删除NodePort Kubernetes-Traefik入口 Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62841356/

    10-15 21:52