Kubernetes:获取网络上其他 Pods 的 IP 地址
Kubernetes: Getting the IP Addresses of Other Pods on the Network
获取本地网络上其他 kubernetes pods 的 IP 地址的最佳方法是什么?
目前,我正在使用以下命令并解析输出:kubectl describe pods
。
不幸的是,上面的命令通常需要很多秒才能完成(至少 3 秒,通常 30 多秒),如果多个请求几乎同时发生,我会收到 503 样式错误。我已经围绕这个命令构建了一个缓存系统来缓存本地 pod 上的 IP 地址,但是当一个 10 左右 pods 醒来并需要创建这个缓存时,会有很大的延迟并且经常会出现很多错误。我觉得我做错了什么。获取网络上其他 pods 的 IP 地址似乎应该是一个简单的过程。那么获得它们的最佳方式是什么?
有关更多详细信息,我在他们的容器引擎上使用 Google 的 kubernetes 系统。 运行 标准 Ubuntu 图片。
Context:为了添加上下文,我试图在集群上的 pods 之间放置一个共享的 memcached。为此,他们都需要知道彼此的 IP 地址。如果有更简单的方法 link pods/instances 用于 memcached,那也会有所帮助。
你试过了吗
kubectl get pods -o wide
这也是 pods 的 returns IP 地址。由于这不会 return 所有信息 describe
returns,这可能会更快。
对于您描述的用例,您应该使用服务。无头服务将允许您使用 my-svc.my-namespace.svc.cluster.local
引用它们。这假设您不需要知道各个节点,只需要知道如何到达其中一个节点,因为它将在它们之间循环。
如果您确实需要将集群中的固定网络身份附加到 pods,您可以设置一个 StatefulSet 并通过以下方式引用它们:app-0.my-svc.my-namespace.svc.cluster.local
、app-1.my-svc.my-namespace.svc.cluster.local
等等。
您永远不需要通过其他方式联系特定的 pod ip,特别是因为可以随时重新安排它们并更改它们的 IP。
对于您的具体用例,仅使用支持 StatefulSet 中的集群的 memcache helm chart 可能更容易:https://github.com/kubernetes/charts/tree/master/stable/memcached
获取本地网络上其他 kubernetes pods 的 IP 地址的最佳方法是什么?
目前,我正在使用以下命令并解析输出:kubectl describe pods
。
不幸的是,上面的命令通常需要很多秒才能完成(至少 3 秒,通常 30 多秒),如果多个请求几乎同时发生,我会收到 503 样式错误。我已经围绕这个命令构建了一个缓存系统来缓存本地 pod 上的 IP 地址,但是当一个 10 左右 pods 醒来并需要创建这个缓存时,会有很大的延迟并且经常会出现很多错误。我觉得我做错了什么。获取网络上其他 pods 的 IP 地址似乎应该是一个简单的过程。那么获得它们的最佳方式是什么?
有关更多详细信息,我在他们的容器引擎上使用 Google 的 kubernetes 系统。 运行 标准 Ubuntu 图片。
Context:为了添加上下文,我试图在集群上的 pods 之间放置一个共享的 memcached。为此,他们都需要知道彼此的 IP 地址。如果有更简单的方法 link pods/instances 用于 memcached,那也会有所帮助。
你试过了吗
kubectl get pods -o wide
这也是 pods 的 returns IP 地址。由于这不会 return 所有信息 describe
returns,这可能会更快。
对于您描述的用例,您应该使用服务。无头服务将允许您使用 my-svc.my-namespace.svc.cluster.local
引用它们。这假设您不需要知道各个节点,只需要知道如何到达其中一个节点,因为它将在它们之间循环。
如果您确实需要将集群中的固定网络身份附加到 pods,您可以设置一个 StatefulSet 并通过以下方式引用它们:app-0.my-svc.my-namespace.svc.cluster.local
、app-1.my-svc.my-namespace.svc.cluster.local
等等。
您永远不需要通过其他方式联系特定的 pod ip,特别是因为可以随时重新安排它们并更改它们的 IP。
对于您的具体用例,仅使用支持 StatefulSet 中的集群的 memcache helm chart 可能更容易:https://github.com/kubernetes/charts/tree/master/stable/memcached