如何在负载均衡期间检查哪个 Kubernetes pod 正在响应?
How to check which Kubernetes pod is responding during load balancing?
我在 kubernetes 上部署了一个简单的网络应用程序。
我有两个 Pods 和他们的服务。
请求应在两个 pods 之间平衡。我该如何验证?
也许有一些工具或命令?
当我点击(发出请求)我的应用程序时,我想在控制台中看到类似这样的内容:
request on pod1
request on pod2
request on pod2
如果您的应用程序在请求期间记录某些内容,您可以从两个容器跟踪日志,您可以使用 stern
kubectl logs pods-1 -f
执行此操作的一种方法是在将响应从 pod 发送回客户端之前将 podname 或 podip 或主机名或其他标识符添加到 HTTP header。然后在客户端,您可以检查 header 以检查哪个 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 header,在日志中打印它们。
我在 kubernetes 上部署了一个简单的网络应用程序。
我有两个 Pods 和他们的服务。 请求应在两个 pods 之间平衡。我该如何验证?
也许有一些工具或命令? 当我点击(发出请求)我的应用程序时,我想在控制台中看到类似这样的内容:
request on pod1
request on pod2
request on pod2
如果您的应用程序在请求期间记录某些内容,您可以从两个容器跟踪日志,您可以使用 stern
kubectl logs pods-1 -f
执行此操作的一种方法是在将响应从 pod 发送回客户端之前将 podname 或 podip 或主机名或其他标识符添加到 HTTP header。然后在客户端,您可以检查 header 以检查哪个 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 header,在日志中打印它们。