【问题标题】:How to use LoadBalancer IP as the outgoing / outbound / egress IP of the pods如何使用 LoadBalancer IP 作为 pod 的传出/出站/出口 IP
【发布时间】:2019-07-27 22:14:59
【问题描述】:

我在阿里云的 ManagedKubernetes 集群上部署了 1 个服务 spec.type=LoadBalancer 我可以成功地将该 IP 用于传入流量

但出站 ip 似乎仍然使用 NAT 网关 IP 进行具有服务 spec.type=LoadBalancer 的部署

那么,对于使用 LoadBalancer 的部署,我如何才能将相同的 IP 用于传出和传入流量?

【问题讨论】:

    标签: kubernetes flannel alibaba-cloud project-calico


    【解决方案1】:

    您可能会在这里找到您的解决方案:

    https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-type-loadbalancer

    从 Kubernetes 1.5 开始,默认情况下,发送到 Type=LoadBalancer 的服务的数据包经过源 NAT,因为处于就绪状态的所有可调度 Kubernetes 节点都符合负载平衡流量的条件。因此,如果数据包到达没有端点的节点,系统会将其代理到具有端点的节点,将数据包上的源 IP 替换为节点的 IP(如上一节所述)。 您可以通过负载均衡器公开 source-ip-app 来测试这一点

    $ kubectl expose deployment source-ip-app --name=loadbalancer --port=80 --target-port=8080 --type=LoadBalancer
    service/loadbalancer exposed
    
    $ kubectl get svc loadbalancer
    NAME           TYPE           CLUSTER-IP    EXTERNAL-IP       PORT(S)   AGE
    loadbalancer   LoadBalancer   10.0.65.118   104.198.149.140   80/TCP    5m
    
    $ curl 104.198.149.140
    CLIENT VALUES:
    client_address=10.240.0.5
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 2014-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多