k8s服务器发现service和ingress 一定要配合DNS的使用

https://kubernetes.io/zh/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/

 

什么是服务发现?

服务的互相访问,三大类需求:

1 内部 <-> 内部 :内部互访

2 内部 -> 外部 :对外请求

3 外部 -> 内部 :暴露服务

 

先看两个概念:ingress和service:

原文:https://www.jianshu.com/p/06a3153021ca

ingress是干嘛的?

前面聊过,service只能提供4层负载均衡的能力,虽然service可以通过NodePort的方式来服务,但是随着服务的增多,会在物理机上开辟太多端口,管理起来混乱。

那么我们换一种思路来暴露服务,创建一个具有N个副本的nginx服务,在nginx服务内配置各个服务的域名与集群内部的服务的IP,这些nginx服务再通过NodePort的方式来暴露。外部服务通过域名:Nginx NodePort端口来访问nginx,nginx再通过域名反向代理到真实服务。

上面的这个流程就是ingress做的事,ingress分为ingress controller与ingress配置。ingress controller是反向代理服务器,对外通过NodePort(或者其他方式)来暴露,ingress配置是抽象出来的域名代理配置。

 

什么是service?

service是pod的一个逻辑分组,是pod服务的对外入口抽象。service同样也通过pod的标签来选择pod,与控制器一致。

上一篇:Ingress介绍与使用


下一篇:K8S 之 为K8S集群搭建七层代理服务Ingress(高可用)