您的位置:首页 > 移动开发

Kubernetes Tutorials翻译4——Using a Service to Expose Your App

2017-03-16 00:00 489 查看
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
相关文章推荐