欢迎来到第一文库网! | 帮助中心 第一文库网-每个人都是第一
第一文库网
全部分类
  • 研究报告>
  • 学术论文>
  • 全科教育>
  • 应用文档>
  • 行业资料>
  • 企业管理>
  • 技术资料>
  • 生活休闲>
  • ImageVerifierCode 换一换
    首页 第一文库网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    K8S Service实战与原理初探.docx

    • 资源ID:406245       资源大小:97.51KB        全文页数:12页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    扫码关注公众号登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    K8S Service实战与原理初探.docx

    K8SService实战与原理初探【导读】本文主要讲述了K8SService的基本概念,使用方式及实现原理。故事的开始,让我们先从一件生产故障说起。5月29日,内部某系统出现大规模访问Service故障,发现Pod容器内无法正常访问ServiceIPiPort,整个故障持续时间超过12h,相关运维支撑人员没有找到根本原因和解决办法。经过复盘,我们发现,大家对于K8SSerViCe的原理不够清晰,导致对问题的定位不能做得到快速准确,如果当时能够按照如下的思路去思考问题,排查过程不至于花费如此久的时间。JW个Srvic3E法访同?WSrvkN府的U-Od事再I1JIt(SerViCe:POrt无法访问个才机坨w?>mu*.才矶一<»多个Srvic5e法访问<参个主10均也MW17MKubPrryKubpta<wrH也樗R下面,我们就来细说一下SerViCe在KUberneteS中的作用、使用方法及原理。SerViCe是一种暴露一组POd网络的抽象方式,K8SSerViCe提供了针对于一组POd的负载均衡的暴露。通过这样的方式,可以避免不同的POd之间访问时需要知晓对应Pod网络信息的痛苦。例如:前端-后端,由于前端PODIP随时变动,后端亦如此,如何处理前端POD和后端POD的通信,就需要SerViCe这一抽象,来保证简单可靠。Service的使用1、典型服务配置方法当配置了Se1eetOr之后,SerViCeCoi1trO1Ier会自动查找匹配这个SeIeCtOr的pod,并且创建出一个同名的endpoint对象,负责具体SerViCe之后连接。apiVersion:v1kind:Servicemetadata:name:my-servicespec:se1ector:app:MyAppports:-protoco1:TCPport:80targetPort:93762、配置没有se1ector的服务没有SC1eCtOr的SerViCe不会出现EndPOint的信息,需要手工创建EndPOint绑定,ErIdPOirIt可以是内部的pod,也可以是外部的服务。apiVersion:v1kind:Servicemetadata:name:my-servicespec:ports:-protoco1:TCPport:80targetPort:9376apiVersion:v1kind:Endpointsmetadata:name:my-servicesubsets:-addresses:-ip:192.0.2.42ports:-port:9376Service的类型1. C1userIPkubect1exposepodnginx-Iype=C1userIPport=80name=ng-svcapiVersion:v1kind:Servicemetadata:name:ng-svcnamespace:defau1tspec:se1ector:name:nginxc1usterIP:11.254.0.2ports:-name:httpport:80protoco1:TCPtargetPort:1234SessionAffinity:Nonetype:C1usterIP2. 1oadBa1anceapiVersion:v1kind:Servicemetadata:name:my-servicespec:se1ector:app:MyAppports:-protoco1:TCPport:80targetPort:9376c1usterIP:10.0.171.239type:1oadBa1ancerstatus:IoadBa1ancer:ingress:-ip:192.0.2.1273. NodePortapiVersion:v1kind:Servicemetadata:name:my-servicespec:type:NodePortse1ector:app:MyAppports:-port:80targetPort:80nodePort:300074. Externa1Name5.Head1essapiVersion:v1kind:Servicemetadata:1abe1s:run:cur1name:my-head1ess-servicenamespace:defau1tspec:c1usterIP:Noneports:-port:80protoco1:TCPtargetPort:80se1ector:run:cur1type:C1usterIP对定义了选择算符的无头服务,Endpoint控制器在API中创建了Endpoints记录,并且修改DNS配置返回A记录(IP地址),通过这个地址直接到达Service的后端Pod上。#pingmy-head1ess-servicePINGmy-head1ess-SerViCe(172.200.6.207):56databytes64bytesfrom172.200.6.207:seq=0tt1=64time=0.040ms64bytesfrom172.200.6.207:seq=1tt1-64time-0.063ms对没有定义选择算符的无头服务,Endpoint控制器不会创建Endpoints记录。然而DNS系统会查找和配置,无论是:对于Externa1Name类型的服务,查找其CNAME记录对所有其他类型的服务,查找与Service名称相同的任何Endpoints的记录SerViCe的实现方式1用户态代理访问即:当对于每个SerViCe,KUbe-PrOXy会在本地NOCIe上打开一个随机选择的端口,连接到代理端口的请求,都会被代理转发给Pod。那么通过IPtab1eS规则,捕获到达SerViCe:POrt的请求都会被转发到代理端口,代理端口重新转为对Pod的访问这种方式的缺点是存在内核态转为用户态,再有用户态转发的两次转换,性能较差,一般不再使用2. Iptab1es模式3. Ipvs模式ServiceIptab1es实现原理Iptab1es表和链及处理过程Service的Traffic流量将会通过prerouting和output重定向到kube-service链-APREROUTING-mcomment-commentwkubernetesserviceporta1s"-jKUBE-SERVICES-APOSTROUTING-mcommentcomment,kubernetespostroutingru1es"-jKUBE-POSTROUTING-OUTPUT-mcomment-comment,kubernetesserviceporta1sn-jKUBESERVICES KUBE-SERVICES->KUBE-SVC-XXXXXXXXXXXXXXXX->KUBE-SEP-XXXXXXXXXXXXXXXXrepresentsaC1usterIPservice KUBE-NODEPORTS->KUBE-SVC-XXXXXXXXXXXXXXXX->KUBE-SEP-XXXXXXXXXXXXXXXXrepresentsaNodePortservice几种不同类型的Service在Kube-Proxy启用Iptab1es模式下上的表现 C1usterIP-aKube-Services!-s172.200.0.0i6-d10.100.160.92/32-ptcp-mcomment-comment"defau1t/CCS-gateway-C1USterip:httpc1usterIPr,-mtcpdport30080-jKUBE-MARK-MASQ-AKUBE-SERVICES-d10.100.160.92/32-ptcp-mcomment-comment,defau1t/ccs-gateway-c1usterip:httpc1usterIP"-mtcp-dport30080-jKUBE-SVC-76GERFBRR2RGNBJ-AKUBE-SVC-76GERFBRR2RGHNBJ-mcommentcoent,'defau1tccs-gateway-c1usterip:httpr,mstatistic-moderandom-probabi1ity0.33333333349-jKUBE-SEP-GBVECAZBIC3ZKMXB-AKUBE-SVC-76GERFBRR2RGHNBJ-mcomment-comment,defa11/ccs-gateway-c1usterip:http,*-mstatistic-moderandom-probabi1ity0.50000000000-jKUBE-SEP-PVCYYXEU44D3IMGK-AKUBE-SVC-76GERFBRR2RGHNBJ-mcomment-commentr,defau1t/ccs-gateway-c1usterip:httpr,-jKUBE-SEP-JECGZ1HE32MERRX-AKUBE-SVC-CEZPIJSAUFW5MYPQ-mcomment-comment',kubernetes-dashboarc1kubernetes-dashboard-jKUBE-SEP-Q06MV41IR5U56RP7M-AKUBE-SEP-GBVECAZBIC3ZKMXB-s172.200.6.224/32-mcommentcomment,defa1tccs-gateway-c1usterip:httpn-jKUBE-MARK-MASQ-AKUBE-SEP-GBVECAZBIC3ZKMXB-Ptcp-mcomment-comment,defau1t/ccs-gateway-c1usterip:httpr,-mtcp-jDNAT-to-destination172.200.6.224:80.NodePortapiVersion:v1kind:Servicemetadata:1abe1s:app:ccs-gatewayspec:c1usterTP:10.101.156.39externa1TrafficPo1icy:C1usterports:-name:httpnodePort:30081port:30080protoco1:TCPtargetPort:80se1ector:app:ccs-gatewaysessionAffinity:-AKUBE-NODEPORTS-Ptcp-mcomment-comment,defau1t/ccs-gateway-service:http,'-mtcpdport30081-jKUBE-MARK-MASQ-AKUBE-NODEPORTS-ptcp-mcomment-commentwdefau1tccs-gateway-service:httpr,-mtcp-dport30081-jKUBE-SVC-QYHRFFH15VINYT2K#-AK1JBE-SVC-QYHRFFH15VINYT2K-mcomment-comment,defau1tccs-gateway-service:httpr,-mstatistic-moderandom-probabi1i

    注意事项

    本文(K8S Service实战与原理初探.docx)为本站会员(lao****ou)主动上传,第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第一文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 001doc.com网站版权所有   

    经营许可证编号:宁ICP备2022001085号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



    收起
    展开