Pod、ReplicaSet、Deployment、Service之间的关系如下图:
deployment根据pod的标签关联到pod,是为了管理pod的生命周期;
service根据pod的标签关联到pod,是为了让外部访问到pod,给pod做负载均衡。
pod被ReplicaSet管理,ReplicaSet控制pod的数量;
ReplicaSet被deployment管理,deployment控制pod应用的升级、回滚,也能控制pod的数量;
service提供一个统一固定入口,负责将前端请求转发给pod。
ReplicaSet:
Replication Controller的作用是确保Pod以指定的副本个数运行。
ReplicaSet是Replication Controller升级版。ReplicaSet和Replication Controller之间的唯一区别是对选择器支持。
Replication Controller只支持基于等式的selector(env=dev或environment!=qa),但ReplicaSet还支持新的,基于集合的selector(version in (v1.0,v2.0)或env notin (dev, qa))。
在yaml文件中通过spec.replicas声明pod的副本数。
一、pod
pod是kubernetes中最小的编排单位,由一个容器或多个容器组成。这些容器共享存储、网络、命名空间,以及如何运行的规范。
nginx-pod.yamlapiVersion:v1kind:Podmetadata