Kubernetes服务类型与滚动更新全解析
1. Kubernetes服务管理基础
在Kubernetes中,通常会有多个版本的复制控制器(Replication Controller,简称RC)共存,但多个RC不能与控制器/服务耦合共存。当创建新的RC时,Pod不会立即启动,需要一定时间(可能是几秒)。服务代表RC时,需要知道Pod中的容器何时准备好,以便将流量路由到该Pod。
为解决上述问题,服务是一个类似于Pod的REST对象,具有模块化、抽象和重用等面向对象的优点。将服务与控制器解耦实现了单一职责原则(SRP),服务或控制器可以独立修改或删除,互不影响。多个复制控制器可以无限期保留,以满足DevOps团队的需求。复制控制器仅管理Pod,而服务仅暴露访问Pod的端点,这种解耦是一种管理设计模式。
另一种用于服务的管理模式是就绪探针(Readiness Probe),用于确定Pod的容器是否准备好接收流量。
Kubernetes有以下几种服务类型:
| 服务类型 | 外部IP | 描述 |
| ---- | ---- | ---- |
| ClusterIP | 否 | 默认类型,仅在集群内部暴露服务 |
| NodePort | 是 | 除在集群内部暴露服务外,还在集群的每个节点的特定端口(URL为 :NodePort)暴露服务 |
| LoadBalancer | 是 | 除在集群内部和每个节点暴露服务外,还在外部负载均衡器IP上暴露服务 |
2. 环境设置
- 创建一个基于Amazon Linux AMI的AWS EC2实例,使用公共IP地址通过
超级会员免费看
订阅专栏 解锁全文

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



