【问题标题】:Accessing micro service end point from deployed micro service using Kubernetes orchestration使用 Kubernetes 编排从部署的微服务访问微服务端点
【发布时间】:2018-04-24 10:28:35
【问题描述】:

我正在尝试在具有 2 个节点的 Kubernetes 集群中部署我的示例微服务 Docker 映像。我探索了关于 Pod、Services、Deployment、StatefulSets 和 Daemon-sets 等的一切。

我正在尝试为此创建一个示例部署和服务。在这里,我探讨了部署如何提供可伸缩性和负载平衡功能。并通过提供 Services ClusterIp 探索服务发现。

我有两个问题:

我的场景是我试图在我的本地 Ubuntu 机器上部署微服务。该机器的 IP 地址为 192.168.1.15。当我提到 Kubernetes 时,服务也会有一个 clusterIP。

  1. 如果我的微服务端点是/api/v1/loadCustomer,如何调用这个端点?我还需要使用 clusterIP 吗?我可以直接拨打 192.168.1.15:8080/api/v1/loadCustomers 吗?

  2. 当我调用我的端点时,clusterIP 的作用是什么?可以直接用port吗?

我指的是以下链接进行探索:

https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    tldr:

    您无法从集群外部使用 clusterIP 访问应用程序。您可以使用负载均衡器的 IP (type=LoadBalaner) 或节点的 IP (type=NodePort) 访问应用程序。

    clusterIP 的好处: 如您所知,Pod 可以在其生命周期内创建和终止,因此创建和终止 IP(端点 IP)地址。因此,clusterIP 是静态的,它不依赖于 Pod 的生命周期。

    长答案

    在 Kubernetes 集群中 应用程序或 pod 具有以下抽象。

    端点IP和端口:由flannel、calico等CNI插件提供。

    • 每个 pod 都有一个唯一的 IP 和 tragetPort。

    您可以通过以下命令列出和观察端点。

    kubectl get endpoints --all-namespaces 
    

    clusterIP 和端口 :由 kube-proxy 组件提供。

    • 复制的 pod 共享一个 clusterIP 和端口。

    • 对复制 pod 的请求进行负载平衡。

    • 内部公开,以便其他 pod 可以发现它

    您可以使用以下命令列出并查看集群IP和端口

    kubectl get services --all-namespaces 
    

    外部IP和端口:可以是3-4层负载均衡器的IP和端口,也可以是节点的IP和Nodeport。

    如果你想使用负载均衡器的IP和端口,你可以在服务文件中使用type=LoadBalaner

    如果你想使用节点的IP,你需要在服务文件中使用type=NodePort

    【讨论】:

    • 谢谢您的回复先生。我正在探索您的陈述和指导。我了解 Ips 的概念。但我在这里又感到了一个疑问。当我创建 pod 时,我正在定义端口。而且当我定义服务时也添加端口。但是您的声明说节点端口的选项。我对此感到困惑。您是指 pod 端口还是服务端口?你能澄清一下吗?
    • 您好,当您使用type=NodePort 时,您将获得默认值:30000-32767 范围内的端口。您可以使用以下命令kubectl get service 检查节点端口。将有一个来自上述范围的端口。然后您可以使用http://nodeip:nodeport 访问您的应用程序
    • 如果您仍有疑问,请告诉我,我会尽力分享我的知识。
    • 好的。太好了。明白了这个概念。谢谢 Suresh Vishnoi 先生。
    • 很好,不用担心
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    • 2018-09-23
    • 2022-01-04
    • 2020-07-10
    • 2022-11-05
    • 2018-06-13
    • 1970-01-01
    相关资源
    最近更新 更多