kubernetes Container、Pod、Replicaset、Service、Deployment、Lable、Statefulset关系和区别

 

一、总架构图

deploy控制RS,RS控制Pod,这一整套,向外提供稳定可靠的Service。

RS用来管理正常运行Pod数量(https://blog.csdn.net/u013288190/article/details/109500148)

 

二、Container

容器,是实体,有资源。

 

三、Pod

实例,是逻辑概念,多个相关的Container构成一个Pod,它是Kubernetes资源调度的基本单位。

pod本身没有资源。
Pod是一组紧密关联的容器集合,它们共享PID、IPC、Network和UTS namespace。Pod的设计理念是支持多个容器在一个Pod中共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。


缺点: 不支持高并发, 高可用, 当Pod当机后无法自动恢复。

https://blog.csdn.net/u013288190/article/details/109500270

 

四、replicaset(RS)

是pod的复制抽象,用于保证与label selector匹配的pod数量维持在期望状态。

缺点: 无法修改template模板, 也就无法发布新的镜像版本

https://blog.csdn.net/u013288190/article/details/109500148

 

五、service

service是pod的路由代理抽象,用于解决pod之间的服务发现问题,即上下游pod之间使用的问题。

传统部署方式中,实例所在的主机ip(或者dns名字)一般是不会改变的,但是pod的运行状态可动态变化(比如容器重启、切换机器了、缩容过程中被终止了等),所以访问端不能以写死IP的方式去访问该pod提供的服务。

service的引入旨在保证pod的动态变化对访问端透明,访问端只需要知道service的地址,由service来提供代理。

 

 

 

六、Deployment

Deployment在继承Pod和Replicaset的所有特性的同时, 它可以实现对template模板进行实时滚动更新并具备我们线上的Application life circle的特性.

Deployment 通过“控制器模式”,来操作 ReplicaSet 的个数和属性,进而实现“水平扩展 / 收缩”和“滚动更新”这两个编排动作。

 

 

七、Lable

Label是attach到Pod的一对键/值对,用来传递用户定义的属性。

比如,你可能创建了一个"tier"和“app”标签,通过Label(tier=frontend, app=myapp)来标记前端Pod容器,使用Label(tier=backend, app=myapp)标记后台Pod。

然后可以使用Selectors选择带有特定Label的Pod,让具体某一个Pod或者Deployment去使用某一个Service实现特定的网络配置.

 

八、StatefulSet

“Deployment用于部署无状态服务,StatefulSet用来部署有状态服务”。

RC、Deployment、DaemonSet都是面向无状态的服务,它们所管理的Pod的IP、名字,启停顺序等都是随机的.

而StatefulSet是什么?顾名思义,有状态的集合,管理所有有状态的服务,比如MySQL、MongoDB集群等。


StatefulSet本质上是Deployment的一种变体,它为了解决有状态服务的问题,它所管理的Pod拥有固定的Pod名称,启停顺序,在StatefulSet中,Pod名字称为网络标识(hostname),还必须要用到共享存储。


在Deployment中,与之对应的服务是service,而在StatefulSet中与之对应的headless service,headless service,即无头服务,与service的区别就是它没有Cluster IP,解析它的名称时将返回该Headless Service对应的全部Pod的Endpoint列表。


除此之外,StatefulSet在Headless Service的基础上又为StatefulSet控制的每个Pod副本创建了一个DNS域名。

 

 

 

 

 

 

 

https://blog.csdn.net/bbwangj/article/details/81812675

 

https://www.sohu.com/a/373933371_612370

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件工程小施同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值