本篇内容介绍了“怎么使用Kubernetes服务公开应用程序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Kubernets Services
实际上同一个cluster中的Pods拥有独立的ip,只是这些ip仅在K8s内部使用不对外暴露。为解决pods终止,删除或者替换问题,K8s通过Services对Pods进行群组消息分发,让pods与其中的程序能够自动进行服务发现。K8s Service是对Pods进行:逻辑集群划分,enables external traffic exposure(使外部流量展现?),负载均衡与服务发现的一个抽象层。
Service通过pods在cluster中独立的的内部ip与端口将外部流量正确导流到pods。如果想要内部服务能够被外边访问到,需要以下参数:
· LoadBalancer (负载均衡) - 向外提供一个IP地址(就像AWS或者GCP云服务提供的IP)
· NodePort - 在一个cluster中的所有Node通过NAT模式将同一个port暴露给Servce。
Services overview
Service 为其管理的Pods提供了流量的负载均衡。当某个服务的部署器中有一组Pods时,这会非常有用。(在下一节,我们创建的application将会多实例部署)。
Service还负责一个cluster中的服务发现(covered in Accessing the Service)。比如一个web服务可以直接接受后端服务的流量,而不用考虑Pods。
Service 使用 Label Selectors(标签选择器)匹配一组Pods。Label Selectors是Label上一组允许逻辑操作的组件。
Label 是附加在比如Pods等对象上的 key/value 键值对,hashtags from social media(可以看做主题标签 例子:#标题)。Label用来识别对象间的关系,用类似以下方式:
· Production environment(production, test, dev)产品的环境( 出产,测试用,开发版本)
· Application version (beata,v1.3)程序版本
· Type of service/service (fronted,backen,database)服务类型(前端,后端,数据库)
Labels
Label 可以在对象创建时候或之后附加其上,也可以随时更改。Kubectl run命令在新 Pods/Deployment 执行时已经设置了默认的 Labels/Labels Selectors。Deployment中Labels与Label Selectors之间的链接决定了Pods之间的关系。
“怎么使用Kubernetes服务公开应用程序”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。