【问题标题】:Endpoint IP vs Service IP端点 IP 与服务 IP
【发布时间】:2020-04-22 11:57:20
【问题描述】:

我创建了一个 POD 并使用以下命令将其公开为服务:

 

kubectl run nginx --image=nginx --restart=Never --port=80 --expose

当我执行以下命令时,我得到两个不同的 IP 地址。下面的IP地址代表什么?在集群中调用我的服务时,其他服务应该使用哪个 IP。

master $ kubectl get ep nginx

NAME    ENDPOINTS      AGE

nginx   10.40.0.1:80   11m

master $ kubectl get svc nginx

NAME    TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE

nginx   ClusterIP   10.103.78.253   <none>        80/TCP    12m

【问题讨论】:

    标签: kubernetes kubectl


    【解决方案1】:

    服务端点中的 IP 是服务选择器选择的后端 pod 的 IP,与 pod 上的标签匹配。如果 pod 有多个副本,则 IP 将不止一个在端点。 ClusterIP 中的 IP 是一个虚拟 IP,应该用于调用服务。服务将通过 clusterIP 传入的任何请求转发(具有负载平衡)到端点中存在的 POD IP。

    来自文档here

    【讨论】:

    • 感谢您的精彩和准确的解释。
    猜你喜欢
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 2020-08-09
    • 2017-10-17
    • 2019-05-29
    相关资源
    最近更新 更多