Kubernetes服务与滚动更新实战指南
1. Kubernetes服务概述
Kubernetes服务是一组Pod的抽象,通过服务规范中指定的标签选择器来选择服务所定义或代表的Pod。服务的标签选择器表达式必须包含在Pod的标签中,服务才能代表该Pod。例如,如果服务选择器表达式是 “app=hello-world”,那么Pod的标签必须包含 “app=hello-world”,服务才能代表该Pod。
服务可通过其提供的一个或多个端点进行访问,可用端点的数量等于部署/复制控制器的Pod副本数量。若要在集群外部访问服务,服务必须暴露在外部IP地址上。 ServiceType 字段定义了服务的暴露方式,默认的 ServiceType 是 ClusterIP ,它仅在集群内暴露服务,而不暴露在外部IP上;另外两种 ServiceType 是 NodePort 和 LoadBalancer ,它们可以将服务暴露在外部IP上。
1.1 服务与复制控制器耦合问题
若服务与复制控制器(RC)紧密耦合,会产生以下问题:
- 修改依赖 :如果复制控制器或服务被修改,由于两者相互依赖,另一个也必须进行修改。若删除一个复制控制器并替换为另一个,服务也需要替换。
- 多版本共存问题 :对于高效的DevOps团队,应用通常有多个发布轨道,可能是每日或每周发布。对于多版本发布的应用,通常需要多个版本的复制控制器
超级会员免费看
订阅专栏 解锁全文
1005

被折叠的 条评论
为什么被折叠?



