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之间的关系。
实际上同一个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之间的关系。
相关文章推荐
- (zz)How to sideload apps on your iPhone using Xcode 7(无需99刀也能在真机上测试App)
- NServiceBus翻译之持久化技术(四):How To Debug RavenDB Through Fiddler Using NServiceBus
- 使用 Shark 来对你的 iPhone 应用进行性能调优(Using Shark to Performance Tune Your iPhone App)
- [优文翻译]003.你应避免的移动开发APP的5个细节(5 Things to Avoid while Developing Your Next Mobile App)
- How To Implement Forms-Based Authentication in Your ASP.NET Application by Using C# .NET
- Adding A Middle Tier to Your Java Code Using Jaguar CTS @ JDJ
- How to generate an RSS feed for your web site using ASP.NET
- Using the HotKey to wake up your application like KingSoft Dictionary does(MFC)
- using sqlbulkcopy to quick load data from your client to sqlserver
- Failed to start the database service MSSQL$OfficeServers. Repair this product using Add/Remove Programs
- [翻译]13 Tips to Comment Your Code
- Simulate a Windows Service using ASP.NET to run scheduled jobs
- Simulate a Windows Service using ASP.NET to run scheduled jobs
- Photoshop CS2 RAW : Using Adobe Camera Raw, Bridge, and Photoshop to Get the Most out of Your Digita
- [转]How to create a Windows service by using Sc.exe
- Using JavaScript and CSS to Enhance Your ASP.NET Datagrid
- ScottGu之博客翻译-第6部分-用存储过程检索数据-LINQ to SQL (Part 6 - Retrieving Data Using Stored Procedures)
- Build your own ObjectPool in Java to boost app speed
- How to generate an RSS feed for your web site using ASP.NET