我们在日常工作中,能遇见的情况只有下面三种,k8s集群内部之间的相互连接,k8s集群内部访问k8s集群外部的服务,还有就是k8s集群外部服务访问k8s集群内部的访问。下面我们来讲解下他们都是如何实现的,我们将使用分步的方式来讲解
为兰西等地区用户提供了全套网页设计制作服务,及兰西网站建设行业解决方案。主营业务为成都网站设计、成都网站建设、外贸网站建设、兰西网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!当k8s里面只有两个POD之间的通信是最为简单的
上图所示是我们Pod B
客户端去链接请求Pod A
服务端,这个时候我们只需要把Pod A
的地址告诉Pod B
即可,这个时候Pod A
扛不住请求了,我们需要在扩展一个Pod A
那我门是不是就想要办法在Pod A
服务端前面放个Nginx或者什么的来做负载,只有这样Pod B
才能按照以前的地址去请求服务啊,所以我们这个时候在Pod A
上面添加上一个service
服务
svc资源通过matchLables
字段选择打有对应标签的Pod
,这个时候Pod B
在来请求服务的时候就直接去访问SVC A
,我们告诉Pod B
SVC A
所对应的IP地址是什么,SVC A
会自动负载到后端的POD A
上,需要注意的是:当这个时候如果 A服务还是扛不住压力,那我们就只需要多启动几个Pod A
就行了,启动的新的Pod之后,svc还是会根据matchLables
把它自动添加到负载里面去
我们k8s集群里面不可能只有两种服务啊,肯定有很多服务,但我们不可能每个都手工去配置吧,所以这个时候就引入了CoreDNS
的概念,我们用CoreDNS来维护svc 和clusterIP的关系
其实这个时候 k8s集群内部的通讯就大致讲清楚了,但是这个里面有个及其特殊的svc:headless svc
,这个svc当别的客户端来请求他的时候,他不会去负载的向下面pod去做请求,而是把下面POD的所有IP返回给客户端,由客户端自己来决定链接那个POD。
如果是单个服务,我们可以选择直接在内部直接连接外部的服务,但是如果外部服务是个集群的话,那如果我们还这样做就需要在外部集群前面做个负载,
但是这样如果有很多个集群我们就要创建很多个nginx的4层负载,太麻烦了,我们可以把负载放到k8s集群里面,我们采用k8s的svc
+endpoints
来实现外部集群的负载均衡
这个时候svc
和endpoint
是通过名字来进行绑定的,这样我们就实现了集群内部和集群外部通讯
在实际工作中,除了k8s集群内部通讯,我认为就是这种通讯方式使用的比较多,因为我们在k8s上跑的集群不就是为了让客户来访问的吗?下面我们将下三种实现方式
nodeport是我们在node上面所端口绑定,所以node上都会开放此pord端口,我们任意请求其中一个node端口,即使这个pod没有落在这个node上也行,当请求到node port的时候他会自动转发到对应的Podip上来实现访问
必须pod落在那个node上,那个node才会开放对应的端口
ingress是我们使用最普遍的暴漏k8s集群内部服务让外部来访问的方式,ingress是一类资源的统称,我们现在一般都适用ingress-nginx,关于ingress 请参考https://www.zhangshoufu.com/articles/2019/07/19/1563529715618.html, 这里不在细说
视频讲解:https://www.bilibili.com/video/av71139472
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:kubernetes通讯浅谈-创新互联
路径分享:https://www.cdcxhl.com/article16/cojedg.html
成都网站建设公司_创新互联,为您提供Google、定制开发、网站建设、动态网站、网站维护、云服务器
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联