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
kubernetes Container、Pod、Replicaset、Service、Deployment、Lable、Statefulset关系和区别相关推荐
- 容器编排技术 -- Kubernetes DNS Pod 与 Service 介绍
容器编排技术 -- Kubernetes DNS Pod 与 Service 介绍 1 介绍 2 怎样获取 DNS 名字? 3 支持的 DNS 模式 3.1 Service 3.1.1 A 记录 3. ...
- k8s(Kubernetes)中Pod,Deployment,ReplicaSet,Service之间关系分析
看完k8s文档,好多概念似乎明白了,又似乎不明白,多个概念之间的关系也很混乱,不是很明白,不要紧,接下来,好好分析一下. 结论 您有可能在急着找答案搜到我这篇文章,不费话,结论就在开头,请看下图. d ...
- Kubernetes学习笔记(二):Pod控制器详解:资源元信息、ReplicaSet、Deployment、DaemonSet、Job、CronJob
1.资源元信息 Kubernetes的资源对象组成:主要包括了Spec.Status两部分.其中Spec部分用来描述期望的状态,Status部分用来描述观测到的状态 Kubernetes的元数据部分. ...
- Deployment、ReplicaSet、Pod和Service的关系
Pod.ReplicaSet.Deployment.Service的关系. Pod:k8s管理的最小单位,包括一个或多个容器,是提供实际业务服务的组件. ReplicaSet(rs):是Pod的管 ...
- Kubernetes(15):Pod控制器ReplicaSet和Deployment详解
文章目录 前言 第一节 Pod控制器 第二节 ReplicaSet(RS) 1. 概念和资源清单 2. 创建ReplicaSet 3. 扩缩容 3.1 方法一:直接编辑rs 3.2方法二 :命令扩缩容 ...
- 自动化运维之k8s——Kubernetes集群部署、pod、service微服务、kubernetes网络通信
目录 一.Kubernetes简介 1.Kubernetes简介 2.kubernetes设计架构 3.Kubernetes核心组件 4.kubernetes设计结构 二.Kubernetes部署 1 ...
- k8s pod控制器详解(ReplicaSet、Deployment、Horizontal Pod Autoscaler)
一.Pod控制器介绍 Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类: 自主式pod:kubernetes直接创建出来的Pod,这种pod删 ...
- kubernetes的pod分类,网络模型以及kuberctl命令的使用
文章目录 1.什么是pod 1.2 pod控制器种类 2. kubernetes网络模型 2.2 同节点Pod之间的通信 2.3 不同节点上的Pod通信 2.4 Pod与Service 3. kube ...
- 6、kubernetes 核心技术-Pod
文章目录 一.Pod 概述 1.1 Pod 基本概念 二.Pod存在的意义 三.Pod实现机制 3.1 共享网络 3.2 共享存储 四.Pod镜像拉取策略 五.Pod资源限制 六.Pod 生命周期和重 ...
- Kubernetes中pod分类、核心组件、网络模型及kubectl命令使用
文章目录 Kubernetes中pod分类.核心组件.网络模型及kubectl命令使用 1.k8s中pod分类 2.核心组件 3.网络模型 4.kubectl常用命令使用 Kubernetes中pod ...
最新文章
- 【Vegas原创】exp时,ORA-00932: 数据类型不一致解决方法
- 二叉树的前序遍历,中序遍历,后序遍历学习 (原)
- 急速搭建 Serverless AI 应用:为你写诗
- FastDFS_install_document_detail
- STM32 CAN过滤器
- Spring对不同来源的Resources的支持
- xmind 使用备忘
- 2021全国研究生数学建模竞赛C题思路
- Win7安装 Rational Rose软件
- keil4和keil5如何兼容使用
- a级纳税人数据问题记录
- 一道线性代数证明题:若AX=0的解空间为U,则U的正交补是由A的行向量组张成的
- K8S给节点打标签和打污点
- EasyExcel合并单元格策略样例
- wIN 7 一键清理垃圾
- 分享20个无版权的高清无 码图库站
- 一个简单的点对点文件传输程序
- Java:支付宝当面付demo(公钥证书方式)-沙箱环境测试版
- mysql关系运算选择投影连接,[转载]选择、投影和连接运算(关系数据库)
- 揭开自动驾驶在机场场景的商业化现状、挑战及趋势
热门文章
- 第四届中国云计算大会——123
- spring 使用 groovy 的 utf-8 问题
- request.getAttribute()和request.getParameter()两个方法的区别
- 【05】JSON笔记
- spring AOP的方式监控方法的执行时间
- Windows Phone 的主题
- 事务管理最佳实践多余的话之二:Transaction后缀给声明式事务管理带来的好处
- BOW( opencv源码)
- 孙鑫VC学习笔记:第十七讲 (三) 用命名管道实现进程间的通信
- 孙鑫VC学习笔记:第十一讲 (三) 如何把元文件保存到文件当中