Kubernetes 服务(Service)

有了 Workload,我们可以方便地管理多实例的应用,但是要想能够方便地访问应用,我们还需要一个类似于 负载均衡 的资源来分发请求,在 kubernetes 中,有两个资源负责这个功能,分别是 Service 以及 Ingress 。其中 Service 主要负责集群内部的访问,而 Ingress 主要负责来自集群外部的访问。因为实验环境的特殊性,本节只介绍 Service。

除了承担负载均衡的功能之外,在 dns 可用的情况下,Service 也提供了服务发现的功能。简单来说,如果服务 A 想要访问服务 B ,那么在服务 A 里就不需要配置服务 B 的 endpoint 信息,只需要用 B 这个名字即可。在微服务的场景下,服务之间的调用链非常复杂,服务发现能极大地减少不灵活的配置信息,提供系统的可维护性。

常见的架构中,我们的应用对外提供服务,一般都是多实例,然后前面挂载负载均衡器,这样既能保证稳定性,也能保证扩展性。但是要维护这个分发确实要经过比较繁琐的配置,比如 nginx 中的配置文件,一般需要写上 backend 的地址和端口等等。在容器环境中,实例的变动会很频繁,用这种老的方式就会很难维护。Kubernetes 的 Service 用了一种更为简单的方式:标签匹配。只要符合匹配标签的 Pod,都会挂在 Service 的后面充当 backend 实例。

移动端设备除iPad Pro外,其它移动设备仅能阅读基础的文本文字。
建议使用PC或笔记本电脑,浏览器使用Chrome或FireFox进行浏览,以开启左侧互动实验区来提升学习效率,推荐使用的分辨率为1920x1080或更高。
我们坚信最好的学习是参与其中这一理念,并致力成为中文互联网上体验更好的学练一体的IT技术学习交流平台。
您可加QQ群:575806994,一起学习交流技术,反馈网站使用中遇到问题。
内容、课程、广告等相关合作请扫描右侧二维码添加好友。

狐狸教程 Copyright 2021

进入全屏