当前位置:首页 >百科 >Kubernetes向集群外部暴露服务的方式,你知道吗? 大概的工作原理类似于Nginx

Kubernetes向集群外部暴露服务的方式,你知道吗? 大概的工作原理类似于Nginx

2024-06-28 10:09:50 [百科] 来源:避面尹邢网

Kubernetes向集群外部暴露服务的向集方式,你知道吗?

作者:路多辛 云计算 云原生 Ingress相当于service的群外service,可以将外部请求通过按照不同规则转发到对应的部暴service。实际上,露服ingress相当于一个7层的知道负载均衡器,是向集k8s对反向代理的一个抽象,大概的群外工作原理类似于Nginx。

Kubernetes向进群外暴露服务的部暴方式有三种:Ingress、LoadBlancer类型的露服Service、NodePort类型的知道Service。

Kubernetes向集群外部暴露服务的方式,你知道吗? 大概的工作原理类似于Nginx

Ingress

Ingress相当于service的向集service,可以将外部请求通过按照不同规则转发到对应的群外service。实际上,部暴ingress相当于一个7层的露服负载均衡器,是知道k8s对反向代理的一个抽象,大概的工作原理类似于Nginx。

Kubernetes向集群外部暴露服务的方式,你知道吗? 大概的工作原理类似于Nginx

Kubernetes向集群外部暴露服务的方式,你知道吗? 大概的工作原理类似于Nginx

Ingress工作原理(以Nginx Ingress为例):

Ingress-controller通过和Kubernetes APIServer交互,动态感知集群中Ingress规则的变化,感知到规则的变化后生成对应的Nginx配置,将配置写到nginx-ingress-controller的pod里(ingress-controller的pod里运行着一个Nginx服务,ingress-controller会把生成的 nginx配置写入/etc/nginx.conf文件中),然后执行reload使配置生效。

LoadBlancer类型的Service

创建service时,指定type类型为LoadBalancer,需要有外部负载均衡器的支持,绝大部分云厂商都支持创建外部负载均衡。

NodePort类型的Service

创建service时,指定type类型为NodePort,这样,服务就会暴露在集群节点ip的指定端口上。

几种方式的优缺点

NodePort方式有如下缺点:

  • 当服务比较多的时候,会占用集群节点的大量端口,难以维护;
  • 多了一层NAT,请求量比较大的时候会对性能产生影响。

LoadBlancer方式有如下缺点:

  • 每个service一个外部负载均衡器,麻烦又浪费;
  • 需要有外部负载均衡器支持,有局限性。

Ingress相比上面两种方式,只需要一个NodePort或者一个LoadBlancer就可以满足所有service对集群外暴露服务的需求,简单灵活。

责任编辑:姜华 来源: 今日头条 IngressKubernetes

(责任编辑:焦点)

    推荐文章
    热点阅读