首页 > 解决方案 > 如何在负载均衡期间检查哪个 Kubernetes pod 正在响应?

问题描述

我在 kubernetes 上部署了一个简单的 Web 应用程序。

我有两个 Pod 和 Service。请求应该在两个 pod 之间平衡。我如何验证这一点?

也许有一些工具或命令?当我点击(发出请求)我的应用程序时,我想在控制台中看到类似的内容:

request on pod1
request on pod2
request on pod2

标签: kubernetesload-balancingkubernetes-pod

解决方案


一种方法是在将响应从 pod 发送回客户端之前,将 podname 或 podip 或主机名或其他标识符添加到 HTTP 标头。然后在客户端,您可以检查标头以检查哪个 pod 响应了该特定请求。

例如,您可以在 pod 中定义 env 如下

env:
  - name: MY_POD_NAME
    valueFrom:
      fieldRef:
        fieldPath: metadata.name
  - name: MY_POD_IP
    valueFrom:
      fieldRef:
        fieldPath: status.podIP

然后您可以读取环境变量MY_POD_NAME并将MY_POD_IP它们添加到 http 标头中,并在日志中打印它们。


推荐阅读