Kubernetes中的集群IP是什么?

Kubernetes中的集群IP是什么?,kubernetes,google-kubernetes-engine,kubernetes-networking,Kubernetes,Google Kubernetes Engine,Kubernetes Networking,我创建了一个由三个节点组成的集群:一个主节点,两个小节点。 如何在Kubernetes中检查集群IP? 它是主节点的IP吗?群集IP仅分配给服务,它是Kubernetes的内部IP。群集IP可能意味着两件事:一种只能在Kubernetes群集内访问的服务类型,或者Kubernetes群集内组件的内部(“虚拟”)IP。假设您询问如何查找群集的内部IP,可以通过3种方式访问它(使用): 通过命令行kubectl实用程序: $ kubectl describe service my-nginx Nam

我创建了一个由三个节点组成的集群:一个主节点,两个小节点。 如何在Kubernetes中检查集群IP?
它是主节点的IP吗?

群集IP仅分配给服务,它是Kubernetes的内部IP。

群集IP可能意味着两件事:一种只能在Kubernetes群集内访问的服务类型,或者Kubernetes群集内组件的内部(“虚拟”)IP。假设您询问如何查找群集的内部IP,可以通过3种方式访问它(使用):

  • 通过命令行
    kubectl
    实用程序:

    $ kubectl describe service my-nginx
    Name:           my-nginx
    Namespace:      default
    Labels:         run=my-nginx
    Selector:       run=my-nginx
    Type:           LoadBalancer
    IP:         10.123.253.27
    LoadBalancer Ingress:   104.197.129.240
    Port:           <unnamed>   80/TCP
    NodePort:       <unnamed>   30723/TCP
    Endpoints:      10.120.0.6:80
    Session Affinity:   None
    No events.
    
  • 通过Kubernetes容器内的
    $\u SERVICE\u HOST
    环境变量(在本例中
    my-nginx-yczg9
    是集群中pod的名称):

  • 有关服务IP的更多详细信息可以在文档中找到,前面提到的是使用
    LoadBalancer
    服务类型在集群外部公开服务的一个很好的示例。

    运行此操作

    $ kubectl cluster-info
    
    它显示这样的结果,您可以看到Kubernetes master IP


    群集IP是由K8s分配给服务的虚拟IP。它是K8s内部IP

    群集IP使其可以从Kubernetes群集的任何节点访问。为此目的使用虚拟IP地址可以让多个POD在同一节点上公开同一端口–所有这些POD都可以通过唯一的IP地址访问

    此IP是稳定的,在服务生命周期中不会更改(除非明确删除)


    2个不同的POD可以使用此IP进行通信,不过我建议使用群集DNS服务。

    您所说的“群集IP”是什么意思?您的用例是什么?尝试从以下链接实现服务类型负载平衡器:,它在那里请求群集ip。服务端点比什么?我们通过
    kubectl get endpoints
    ?@IvanAracki kubectl get endpoints为您提供pod IP而不是服务端点,这是我的期望之一。谢谢我们可以在不购买外部dns名称的情况下为群集IP分配名称吗?你能建议我们能做到这一点吗?
    $ kubectl exec my-nginx-yczg9 -- sh -c 'echo $MY_NGINX_SERVICE_HOST'
    10.123.253.27
    
    $ kubectl cluster-info