Skip to content

Latest commit

 

History

History
17 lines (9 loc) · 1.84 KB

File metadata and controls

17 lines (9 loc) · 1.84 KB

K8s集群业务服务暴露外网访问

Service 的两种类型,分别是 NodePort 和 Loadbalancer。这两种类型都可以为 Service 赋予公网 IP

NodePort

NodePort 的暴露方式虽然可以直接复用 Kubernetes 节点的公网 IP,但我并不推荐你在生产环境使用它

Loadbalancer

每声明一个 Loadbalancer 类型的 Service,都会创建一个新的负载均衡器实例,负载均衡器由于具有固定 IP 地址,所以费用也相对较高,并且还需要为流量额外付费。所以,在实际的项目中,我们一般不直接用 Loadbalancer 类型对外暴露服务,而是通过网关来实现服务暴露,这和我们之前提到的传统应用的服务暴露方式非常类似。这时候,就不得不提到 Ingress 了

Ingress

Ingress 是 Kubernetes 的一个内置对象,通常我们把 Ingress 看作 Service 之上的 Service。Ingress 对象只用来声明路由策略,并不处理具体的流量转发。要使得 Ingress 生效,我们还需要额外安装 Ingress-Controller,例如 Ingress-Nginx

文章