Nginx请求Kubernetes中的两个或更多节点

罗纳尔多·兰赫拉斯

我试图了解kubernetes背后的一些概念,所以我有以下几点:

  1. 具有2个节点的kubernetes集群
  2. nginx的部署具有2个副本,因此我有2个POD。
  3. 在端口32134上公开nginx的服务,因此我可以使用以下命令访问每个节点:

    http:// node01:32134http:// node02:32134

因此,让我们怀疑一下:

  1. 做一个kubectl describe pod nginx-001我让这个吊舱在node01下运行对pod nginx-002执行相同的命令,我也将此pod运行在node01因此,如果我的Pod仅在一个节点下运行,如何在两个URL(node01和node02)中获取HTTP 200?Node02不应该响应,因为没有任何Nginx在运行,对吗?

  2. kubctl logs -f nginx-001我得到所有访问请求日志。奇怪的是:不管我打http://node01还是http://node02我总是在nginx-001 POD中获取日志,另一个Pod(nginx-002)永远不会在日志中获取请求。似乎ks8总是将所有请求都重定向到nginx-001,而忘记了另一个pod。

重要说明,我正在使用Digital Ocean Kubernetes服务

用户名

1)那是kube-proxy介入的地方。kube-proxy负责将您的请求路由到Pod,无论Pod部署在何处。您可能有50个节点的群集。您可能部署了10个副本nginx,所有副本仅部署在1个节点上,将请求路由到服务将是kube-proxy的工作。

2)这基本上取决于您遇到的负载。您可能是唯一使用nginx服务的人。因此,它将持续发送请求到一个pod。Kubernetes服务可在一组服务器Pod之间实现负载平衡,从而允许客户端Pod独立且持久地运行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章