Kubernetes:谁首先是负载均衡器或入口
Kubernetes: Who is first a loadbalancer or ingress
问题很简单,但我无法完全弄清楚请求到达 kubernetes 系统时遵循哪些步骤。
- 谁首先处理收到的请求?
Ingress Controller
、LoadBalancer
、ClusterIP
...
所以,我知道有几种方法可以使 pods 可以从外部访问:
- 正在创建
NodePort
服务。
- 正在创建
LoadBalancer
服务。
- 正在创建
Ingress
规则。
这里有一些与最佳实践或强制性事实相关的问题?
Ingress
前面一个ClusterIP Service
是强制的吗?
1.1 我可以或不应该在 NodePort
或 LoadBalancer
服务前创建一个 Ingress
吗?
Ingress Controllers
是LoadBalancer Services
?我的意思是,traefik
或其他 Ingress Controllers
是否都部署为 LoadBalancer
服务?
误解源于我在那里找到的几篇文章:
- image here:似乎
LoadBalancer
位于 Ingress Controllers
的第一个。
- image here: 好像
Ingress
在LoadBalancer
. 前面
以上问题源于尝试向外部公开一个 mongodb
复制集。
- 我为每个节点创建了一个
LoadBalancer
。这是正确的吗?
- 我想使用我的
Ingress Controller
为那些 LoadBalancer
创建一个域。这可能吗?
- 在无头服务之前创建 Ingress 是否有意义?
Ingress is in front of a ClusterIP Service mandatory?
如果您希望该服务可从外部访问,那么您将需要一个可从外部访问的服务。这可以是 LoadBalancer 服务或 Ingress。群集外无法访问 ClusterIP 服务。
Could or shouldn't I create an Ingress in front of a NodePort or a LoadBalancer service?
您可以在 NodePort 或 LoadBalancer 前面创建一个 Ingress,但是在 LoadBalancer 前面创建一个 Ingress 没有意义,除非您想要两个不同的端点来访问相同的服务(LoadBalancer 将获得一个 IP,Ingress Controller 自己的 LoadBalancer 将获得另一个 IP)。但是,使用 Ingress 将允许您拥有其他功能,例如 SSL 证书,这是标准 LoadBalancer 服务资源(通常)不提供的
Ingress Controllers are LoadBalancer Services? I mean, traefik or other Ingress Controllers are all of them deployed as LoadBalancer services?
正确。入口控制器为进入集群的流量打开端点,然后使用您在集群中创建的入口资源来确定如何以及将流量路由到何处。
端点是一个可公开访问的端点(除非您将其配置为内部负载均衡器,在这种情况下,只有您公司网络中的机器才能访问它)。
控制器通常会更新集群中的入口资源,因此您将看到属于入口的负载均衡器的 IP
问题很简单,但我无法完全弄清楚请求到达 kubernetes 系统时遵循哪些步骤。
- 谁首先处理收到的请求?
Ingress Controller
、LoadBalancer
、ClusterIP
...
所以,我知道有几种方法可以使 pods 可以从外部访问:
- 正在创建
NodePort
服务。 - 正在创建
LoadBalancer
服务。 - 正在创建
Ingress
规则。
这里有一些与最佳实践或强制性事实相关的问题?
Ingress
前面一个ClusterIP Service
是强制的吗?1.1 我可以或不应该在
NodePort
或LoadBalancer
服务前创建一个Ingress
吗?Ingress Controllers
是LoadBalancer Services
?我的意思是,traefik
或其他Ingress Controllers
是否都部署为LoadBalancer
服务?
误解源于我在那里找到的几篇文章:
- image here:似乎
LoadBalancer
位于Ingress Controllers
的第一个。 - image here: 好像
Ingress
在LoadBalancer
. 前面
以上问题源于尝试向外部公开一个 mongodb
复制集。
- 我为每个节点创建了一个
LoadBalancer
。这是正确的吗? - 我想使用我的
Ingress Controller
为那些LoadBalancer
创建一个域。这可能吗? - 在无头服务之前创建 Ingress 是否有意义?
Ingress is in front of a ClusterIP Service mandatory?
如果您希望该服务可从外部访问,那么您将需要一个可从外部访问的服务。这可以是 LoadBalancer 服务或 Ingress。群集外无法访问 ClusterIP 服务。
Could or shouldn't I create an Ingress in front of a NodePort or a LoadBalancer service?
您可以在 NodePort 或 LoadBalancer 前面创建一个 Ingress,但是在 LoadBalancer 前面创建一个 Ingress 没有意义,除非您想要两个不同的端点来访问相同的服务(LoadBalancer 将获得一个 IP,Ingress Controller 自己的 LoadBalancer 将获得另一个 IP)。但是,使用 Ingress 将允许您拥有其他功能,例如 SSL 证书,这是标准 LoadBalancer 服务资源(通常)不提供的
Ingress Controllers are LoadBalancer Services? I mean, traefik or other Ingress Controllers are all of them deployed as LoadBalancer services?
正确。入口控制器为进入集群的流量打开端点,然后使用您在集群中创建的入口资源来确定如何以及将流量路由到何处。
端点是一个可公开访问的端点(除非您将其配置为内部负载均衡器,在这种情况下,只有您公司网络中的机器才能访问它)。
控制器通常会更新集群中的入口资源,因此您将看到属于入口的负载均衡器的 IP