gpt4 book ai didi

kubernetes - Kubernetes 中的集群 IP 是什么?

转载 作者:行者123 更新时间:2023-12-02 22:28:15 31 4
gpt4 key购买 nike

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

最佳答案

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

  1. 通过命令行 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.
  2. 通过 kubernetes API(这里我使用 kubectl proxy 通过 localhost 路由到我的集群):

    $ kubectl proxy &
    $ curl -G http://localhost:8001/api/v1/namespaces/default/services/my-nginx
    {
    "kind": "Service",
    "apiVersion": "v1",
    "metadata": <omitted>,
    "spec": {
    "ports": [
    {
    "protocol": "TCP",
    "port": 80,
    "targetPort": 80,
    "nodePort": 30723
    }
    ],
    "selector": {
    "run": "my-nginx"
    },
    "clusterIP": "10.123.253.27",
    "type": "LoadBalancer",
    "sessionAffinity": "None"
    },
    "status": {
    "loadBalancer": {
    "ingress": [
    {
    "ip": "104.197.129.240"
    }
    ]
    }
    }
    }
  3. 通过 $<NAME>_SERVICE_HOST Kubernetes 容器内的环境变量(在本例中 my-nginx-yczg9 是集群中 pod 的名称):

    $ kubectl exec my-nginx-yczg9 -- sh -c 'echo $MY_NGINX_SERVICE_HOST'
    10.123.253.27

有关服务 IP 的更多详细信息,请参阅 Services in Kubernetes文档,以及前面提到的 simple-nginx example是使用 LoadBalancer 在集群外部公开服务的一个很好的示例。服务类型。

关于kubernetes - Kubernetes 中的集群 IP 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33407638/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com