首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我在Kubernetes上公开一个应用程序,该应用程序有多个LoadBalancer副本,我如何知道暴露了哪个pod?

如果我在Kubernetes上公开一个应用程序,该应用程序有多个LoadBalancer副本,我如何知道暴露了哪个pod?
EN

Stack Overflow用户
提问于 2020-07-31 16:26:32
回答 1查看 65关注 0票数 0

我在AKS (Azure的kubernetes)上部署了Prometheus服务器和2个副本,配置如下。

代码语言:javascript
复制
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  name: prometheus
  namespace: monitoring
  ...

spec:
  podMetadata:
  version: v2.13.1
  replicas: 2
  retention: 1d
  ...

因此,我的集群上将有2个prometheus服务器pod。

然后我用loadbalancer公开这个应用程序。

代码语言:javascript
复制
apiVersion: v1
kind: Service
metadata:
  name: prometheus
  namespace: monitoring
spec:
  type: LoadBalancer
  ports:
  - port: 80
    targetPort: 9090
  selector:
    app: prometheus

但是,我怎么知道负载均衡器暴露的是哪个promethus pod呢?负载均衡器似乎只暴露了一个普罗米修斯吊舱。

EN

回答 1

Stack Overflow用户

发布于 2020-07-31 16:48:23

如果您有多个pod副本,则所有pod副本的If都将作为Endpoints添加到服务prometheus中。因此,当流量到达LoadBalancer时,它会将其转发到prometheus服务IP,该服务IP会对流量进行负载平衡,并将其发送到其中一个副本pod。

要检查服务的端点,请使用以下命令

代码语言:javascript
复制
kubectl describe svc prometheus -n monitoring

如果您在使用上述命令的Endpoints部分中看到多个IP,这实质上意味着所有这些副本POD都由服务公开。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63188326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档