侵权投诉

pod底层网络和数据存储是如何进行的

马哥Linux运维 2021-09-24 11:35 次阅读

1. 核心组件原理 —— pod 核心原理

1.1 pod 是什么

pod 也可以理解是一个容器,装的是 docker 创建的容器,也就是用来封装容器的一个容器;

pod 是一个虚拟化分组, 有自己的 IP 地址和主机名 hostname,利用 namespace 进行资源隔离,相当于一台独立沙箱环境;

pod 相当于一台独立主机,内部可以封装一个或多个容器(通常是一组相关的容器),内部容器之间访问采用 localhost。

1.2 pod 用来干什么

通常情况下,在服务部署的时候,使用 pod 来管理一组相关的服务(一个 pod 中要么部署一个服务,要么部署一组有关系的服务)。如下图是部署了一组有关系的服务的结构图,其中 C 表示容器(container),下面的 pod 里就有很多个容器。

如何理解一组相关的服务?

如下图:有一个请求是访问 Nginx,然后部署了 Nginx 的容器就把请求转发给部署了 web 服务的容器,web 再访问数据库,然后请求会依次返回来数据,最后再返回给用户。因此在 链式调用的调用链路上的服务 叫做一组相关的服务。

1.3 实现 web 服务集群

只需要复制多个 pod 的副本即可,这也是 k8s 管理的先进之处。k8s 如果要进行扩容或缩容,只需要控制 pod 的数量即可。比如上面那个部署模式,服务集群就是复制多个这样的 pod。

1.4 pod 底层网络和数据存储是如何进行的

前面说过 pod 内部的容器也是一个独立的沙箱环境,因此也有自己的 ip 和 端口。如果内部容器还是通过 ip:port 来通信,相当于还是远程访问,这样的话性能会受到一定的影响。如何提高内部容器之间访问的性能呢?

pod 底层

pod 内部容器创建之前,必须先创建 pause 容器。pause 有两个作用:共享网络和共享存储。

每个服务容器共享 pause 存储,不需要自己存储数据,都交给 pause维护。

pause 也相当于这三个容器的网卡,因此他们之间的访问可以通过 localhost 方式访问,相当于访问本地服务一样,性能非常高(就像本地几台虚拟机之间可以 ping 通)。

2. ReplicaSet 副本控制器

2.1 副本控制器基本理解

作用:管理控制 pod 副本(服务集群)的数量,以使其永远与预期设定的数量保持一致。例如:replicas = 3 (创建 3 个副本,这是提前设置好的)

当副本设置为 3 时,副本控制器将会永远保证副本数量为 3。因此当有 pod 服务宕机时(如上面第 3 个 pod),那副本控制器会立马重新创建一个新的 pod,就能够保证副本数量一直为预先设定好的 3 个。

2.2 ReplicaSet 和 ReplicationController 的区别

ReplicaSet 和 ReplicationController 都是副本控制器,其中:

相同点:都有前面 2.1 节所描述的功能

不同点:标签选择器的功能不同。ReplicaSet 可以使用标签选择器进行 单选 和 复合选择;而 ReplicationController 只支持 单选操作。

什么意思呢?

假设下面有下面两个不同机器上的 Node 结点,如何知道它们的 pod 其实都是相同的呢?答案是通过标签。

给每个 pod 打上标签 ( key=value 格式,如下图中的 app=web, release=stable,这有两个选项,相同的pod副本的标签是一样的),于是副本控制器可以通过标签选择器 seletor 去选择一组相关的服务。一旦 selector 和 pod 的标签匹配上了,就表明这个 pod 是当前这个副本控制器控制的,表明了副本控制器和 pod 的所属关系。如下图中 seletor 指定了 app = web 和 release=stable 是复合选择,要用 ReplicaSet 才能实现若用 ReplicationController 的话只能选择一个,如只选择匹配app=web标签。这样下面的 3 个 pod 就归这个副本控制器管。

可见 ReplicaSet 功能更齐全,所以在新版的 k8s 中,建议使用 ReplicaSet 作为副本控制器,不再使用 ReplicationController。

3. Deployment 部署对象

3.1 滚动更新

ReplicaSet 副本控制器可以永久保持 pod 副本的数量。但是项目的需求在不断的迭代、更新,项目在不断发版。那如何做到服务更新?难道把服务停掉再把新版本部署上去吗?当然不是,答案是用滚动更新。就是重新创建一个 pod (v2版本) 来代替 之前的 pod (v1版本)。

那是如何滚动更新的呢?涉及到下面要讲到的部署模型。

3.2 部署模型

单独的 ReplicaSet 是不支持滚动更新的,Deployment 对象支持滚动更新,通常和 ReplicaSet 一起使用。

需要滚动更新时的步骤:

Deployment 建立新的 Replicaset

Replicaset 重新建立新的 pod

所以它们之间是有层次关系的,Deployment 管 Replicaset,Replicaset 维护 pod。在更新时删除的是旧的 pod,老版本的 ReplicaSet 是不会删除的,所以在需要时还可以回退以前的状态。

4. StatefulSet 部署有状态服务

4.1 引入定义

思考:如果 MySQL(有状态服务) 使用容器化部署,会存在什么问题?

容器都是有生命周期的,一旦宕机数据就很可能丢失

pod 也有生命周期的,用 pod 部署时把 pod 集群副本重启以后也可能会出现数据丢失

因此对 k8s 来说,不能使用 Deployment 部署有状态的服务。通常情况下,Deployment 被用来部署无状态服务。然后 StatefulSet 就是为了解决有状态服务使用容器化部署的一个问题。

4.2 如何理解状态服务

有状态服务

有实时的数据需要存储

在有状态服务集群中,如果把某一个服务抽离出来,一段时间后再加入回集群网络,此后集群网络会无法使用

无状态服务

没有实时的数据需要存储

在无状态服务集群中,如果把某一个服务抽离出去,一段时间后再加入回集群网络,对集群服务无任何影响,因为它们不需要做交互,不需要数据同步等等。

4.3 部署模型

StatefulSet 的部署模型和 Deployment 的很相似。比如下图,借助 PVC(与存储有关) 文件系统来存储的实时数据,因此下图就是一个有状态服务的部署。在 pod 宕机之后重新建立 pod 时,StatefulSet 通过保证 hostname 不发生变化来保证数据不丢失。因此 pod 就可以通过 hostname 来关联(找到) 之前存储的数据。

原文链接:https://blog.csdn.net/qq_43280818/article/details/106910187

责任编辑:haq

原文标题:Kubernetes 核心组件原理梳理,运维必备~

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

新西兰服务器机房是怎么样的
新西兰是大洋洲经济发达的国家之一,很多外贸客户经常选择新西兰服务器来搭建自己的外贸网络平台。今天,恒....
的头像 深圳市恒讯科技有限公司 发表于 10-15 17:38 47次 阅读
华为创新性地推出“5G新通话”解决方案
在北京国家会议中心举行的2021年中国国际信息通信展览会上,由中国通信企业协会发起的“ICT中国(2....
的头像 华为云核心网 发表于 10-15 17:27 174次 阅读
华为发布SD-WAN逐包负载分担方案 提升带宽利用率
华为SD-WAN逐包负载分担方案,提升带宽利用率至90%,让您的广域网络更加高效。
的头像 华为产品资料 发表于 10-15 16:44 141次 阅读
教大家如何减小微量水分策略的结果中的误差
微量水分测定仪采用卡尔——菲休库仑法,对不同物质进行微量水分测定,是一种可靠的方法,微量水分测定仪成....
发表于 10-15 16:39 17次 阅读
详解工业液体密度测试步骤
业液体通常需要进行液体密度的测试来加以控制品质。行业内的测试仪就是搏仕的液体密度测试仪了。下面将演示....
发表于 10-15 16:27 10次 阅读
音频电路原理(双音频解码电子电路/TDA2822双声道功放电路/音频放大处理电路)
双音多频信号解码电路是目前在按键电话(固定电话、移动电话)、程控交换机及无线通信设备中广泛应用的集成....
发表于 10-15 16:08 137次 阅读
音频电路原理(双音频解码电子电路/TDA2822双声道功放电路/音频放大处理电路)
浅析压敏(热敏)陶瓷粉末水分测试实验报告
厦门搏仕检测设备有限公司  www.lboshi.cn 18959266236 陶瓷粉末水分含量介绍....
发表于 10-15 15:57 7次 阅读
探究塑料颗粒密度测试仪实验报告
密度计品牌:搏仕 型号:BOS-300系列 测试品:塑料颗粒 塑料种类纷多,密度值各不相同,如PP料....
发表于 10-15 15:47 13次 阅读
塑料水分测定仪测试经验总结
厦门搏仕检测设备有限公司  www.lboshi.cn 18959266236 塑料水分测定仪针对不....
发表于 10-15 15:38 13次 阅读
剖析汽车塑料零配件水分测试仪实验
水分仪品牌:搏仕     型号:BOS-180A系列     测试品:汽车塑料片 塑料的含水量是影响....
发表于 10-15 15:23 8次 阅读
四维图新构建现实世界三维还原的能力赋能智能网联应用
实时构建现实世界三维还原,将物理世界数字化,是四维图新近20年来一直努力的方向,通过对物理世界的人、....
的头像 四维图新NavInfo 发表于 10-15 14:40 342次 阅读
完整关注跨模态转换器网络
舞蹈是几乎所有文化中的一种通用语言,也是如今许多人在当代媒体平台上表达自己的一种方式。跳舞的能力(组....
的头像 TensorFlow 发表于 10-15 10:25 80次 阅读
对于超带宽产业发展和UBBF的创新洞察的期待
年鉴学派代表之一,著名历史学家布罗代尔在《十五至十八世纪的物质文明、经济与资本主义》中提出,物质文明....
的头像 脑极体 发表于 10-15 10:00 98次 阅读
MySQL缓冲区设计介绍
1. Buffer 与 cache 的区别? Bbuffer 与 Cache 非常类似,因为它们都用....
的头像 数据分析与开发 发表于 10-15 09:50 64次 阅读
pandasgui安装与简单使用
pandasgui安装与简单使用 根据作者的介绍,pandasgui是用于分析 Pandas Dat....
的头像 数据分析与开发 发表于 10-15 09:46 64次 阅读
交换模式与路由模式有哪些异同点
交换模式是什么?路由模式又是什么? 交换模式与路由模式有哪些异同点? ...
发表于 10-15 09:35 0次 阅读
采集与分析用户行为数据的意义
本文属于用户行为数据领域入门级别文章,适合对用户行为数据略知一二但是对这个主题非常感兴趣的同学。 1....
的头像 数据分析与开发 发表于 10-15 09:32 92次 阅读
RAID技术有哪些优点
RAID的基本原理是什么? RAID技术有哪些优点? ...
发表于 10-15 06:48 0次 阅读
JD-BQX7 七参数便携式气象站功能有哪些
七参数便携式气象站功能有哪些?在清凉谷旅游风景区的监测使用,满足风景区气象监测服务的需求,使得清凉谷....
发表于 10-14 16:29 32次 阅读
智慧电梯的运用能解决行业哪些需求
电梯作为与百姓生活最为密切相关的特种设备,直接关系人民群众生命和财产安全,关系经济发展大局和社会和谐....
发表于 10-14 16:28 18次 阅读
IBM利用AI 驱动帮助气候和数据科学家分析海量环境数据集
IBM (纽交所证券代码:IBM) 发布了一套环境智能应用软件,利用 AI 帮助企业做好准备并应对可....
的头像 IBM中国 发表于 10-14 16:01 475次 阅读
迈入高速新进程,上海宝存推出PCIe Gen4企业级存储
2021年10月14日,上海宝存信息科技有限公司(Shannon Systems)推出企业级PCIe....
的头像 话说科技 发表于 10-14 15:03 74次 阅读
迈入高速新进程,上海宝存推出PCIe Gen4企业级存储
小型自动气象站的应用/特点/组成/功能
小型自动气象站功能,技术参数,适用范围。小型自动气象站【恒美 HM-QC5】是按照国际气象WMO组织....
发表于 10-14 11:22 8次 阅读
光合强度测定仪的主要作用是什么
光合强度测定仪【恒美 HM-GH40】测定光合速率。光合作用是植物生长过程中的重要生理过程,它可以直....
发表于 10-14 11:13 8次 阅读
食品检测设备有哪些,其用途是什么
食品检测设备【恒美】有哪些,随着国家经济的大幅提高以及居民消费水平的普遍提高,休闲食品的食品种类与数....
发表于 10-14 10:43 15次 阅读
食品检测仪的工作原理及使用方法
食品检测仪【恒美 HM-G1200】的操作原理及方法。食品检测仪【恒美 HM-G1200】因其体积小....
发表于 10-14 10:29 13次 阅读
TableSQL API和Pyhton上相关的性能优化
一、简介 1.14 新版本原本规划有 35 个比较重要的新特性以及优化工作,目前已经有 26 个工作....
的头像 数据分析与开发 发表于 10-13 17:25 98次 阅读
虚拟化存储管理策略的组成部分
尽管虚拟化存储有很多好处,但目前还没有一种明确的方法来部署或管理该技术;这部分是因为企业有不同的要求....
的头像 存储D1net 发表于 10-13 16:32 89次 阅读
胶水固含量测试注意事项
厦门搏仕检测设备有限公司  www.lboshi.cn 18959266236 1、无论是高粘性胶水....
发表于 10-13 16:16 32次 阅读
神经网络复杂性的基本下界
最近,人们对深度神经网络产生了极大的兴趣,因为它们在计算机视觉等领域取得了突破性的成果。 尽管如此,....
的头像 人工智能与大数据技术 发表于 10-13 15:40 129次 阅读
神经网络复杂性的基本下界
入门炫酷的Kubernetes网络方案
    最近业界使用范围最广的K8S CNI网络方案 Calico 宣布支持 eBPF,而作为第一个....
的头像 马哥Linux运维 发表于 10-13 15:19 126次 阅读
将FSoE部署到安全系统时面临的挑战
今年,瑞萨将高度关注Functional Safety over EtherCAT (FSoE) 解....
的头像 瑞萨电子 发表于 10-13 14:23 94次 阅读
浅谈商业智能BI给企业带来的价值
整体分析问题BI可以将企业信息化的数据孤岛整合起来,提供一个全局的视图,让决策者可以更加全面地看待问....
发表于 10-13 13:57 19次 阅读
IP百科知识之什么是MCE
MCE(Multi-VPN-Instance CE,多实例CE)是一种通过多实例在CE设备上提供逻辑....
的头像 华为产品资料 发表于 10-13 11:27 223次 阅读
IP知识百科之带你全面了解VPN技术
VPN是什么 VPN(Virtual Private Network)是依靠Internet服务提供....
的头像 华为产品资料 发表于 10-13 11:11 142次 阅读
红外遥控这么简单让我看看还有谁不会
平时我们经常会用到遥控器,那么现在遥控器也分很多种类,有使用红外通信的,也有使用蓝牙,无线的等,今天....
的头像 单片机匠人 发表于 10-13 11:06 214次 阅读
数字政府时代下的新模式:数据化运营能力
如今,在大数据等技术支撑下,政府在日常办公、信息收集与发布、公共管理等事务中都是在数字化、网络化的环....
发表于 10-13 11:01 28次 阅读
eBPF技术应用云原生网络实践系列之基于socket的service
背景介绍 Kubernetes 中的网络功能,主要包括 POD 网络,service 网络和网络策略....
的头像 Linux阅码场 发表于 10-13 10:54 174次 阅读
eBPF技术应用云原生网络实践系列之基于socket的service
土壤水分速测仪的使用方法介绍
土壤水分速测仪【恒美 HM-S】使用说明。土壤水分速测仪【恒美 HM-S】可快速测量土壤中的水分含量....
发表于 10-13 10:51 10次 阅读
汽车以太网数据通道的研究和发现
大家好!之前小编给大家做了两期汽车以太网的介绍,反响特别好,今天我们继续进行汽车以太网的探讨吧~ 由....
的头像 罗森伯格汽车电子 发表于 10-13 10:32 139次 阅读
汽车以太网数据通道的研究和发现
LiDAR测量物料体积能为行业带来哪些变化
在商业化竞争日益激烈的环境下,任何提高运营效率的机会对公司来说都是宝贵的。包括对原材料的精准测量和追....
的头像 广州虹科电子科技有限公司 发表于 10-13 09:11 128次 阅读
禹山便携式溶氧传感器的使用方法
禹山便携式溶氧传感器采用了国际领先的荧光寿命技术,其基于物理学中特定物质对活性荧光的猝熄原理。这种荧....
发表于 10-12 16:43 17次 阅读
HTTPS是如何工作的
我是一个浏览器,每到夜深人静的时候,主人就打开我开始学习。 为了不让别人看到浏览记录,主人选择了“无....
的头像 Linux爱好者 发表于 10-12 16:34 218次 阅读
美政府索要芯片数据原因之一被公开 剑指中国大陆车用芯片产业链
前不久,美政府组织召开了第三轮半导体峰会,依然是为了解决目前严重的缺芯问题。在这一轮峰会上,美政府要....
的头像 电子发烧友网 发表于 10-12 14:31 198次 阅读
戴尔科技集团和VMware推出新的多云和基础设施解决方案
中国,北京——2021年10月11日 新闻摘要 •基于VMware Cloud的戴尔科技集团APEX....
发表于 10-12 11:38 41次 阅读
物联网的网络管理协议特色
物联网的网络管理协议虽然是在TCP/IP 协议之下的管理协议,但是也有许多新的特色。例如,若物联网的....
的头像 讯维官方公众号 发表于 10-12 11:11 414次 阅读
小型气象监测站的应用/特点/组成/功能
小型气象监测站【恒美 HM-QC05】是按照国际气象WMO组织气象观测标准,研究而开发生产的多要素自....
发表于 10-12 10:49 18次 阅读
SATA连接器:低成本下的高连接性
电子发烧友网报道(文/李宁远)SATA连接器,作为连接器细分种类之一,广泛应用于PC、SSD、服务器....
的头像 电子发烧友网 发表于 10-12 10:49 203次 阅读
全项目食品安全检测仪的检测项目
全项目食品安全检测仪检测项目,全项目食品安全检测仪【恒美HM-G1200】可以在餐饮行业、学校工厂食....
发表于 10-12 09:48 33次 阅读
C++中的背包问题说明和源码示例
  问题说明 有N件物品和一个容量为V的背包。 第i件物品的重量是w[i],价值是v[i]。 求解将....
的头像 C语言编程学习基地 发表于 10-12 09:27 96次 阅读
探究Redis 性能测试与监控
很多人在安装部署好Redis后,就没有对Rredis的配置和部署等有效性和高可用性进行性能测试,最终....
的头像 马哥Linux运维 发表于 10-12 09:19 165次 阅读
探究Redis 性能测试与监控
ARM架构的数据类型定义是什么
ARM架构的数据类型定义是什么? 局部变量和全局变量是什么意思? ...
发表于 10-09 06:32 0次 阅读
常量和变量有哪些区别
引用和拷贝有什么区别? 常量和变量有哪些区别? ...
发表于 10-08 08:42 0次 阅读
VS2017是如何实现串口发送及接收数据的
VS2017是如何实现串口发送及接收数据的?有哪些操作步骤? ...
发表于 09-30 07:04 0次 阅读
怎样使用代码来访问PLC数据
如何配置网络参数?怎样使用代码来访问PLC数据? 如何使用gitHub开源的组件技术来读写西门子plc数据? ...
发表于 09-29 07:42 0次 阅读
怎样使用gitHub开源的组件技术来读写三菱的plc数据
如何配置网络参数?怎样使用代码来访问PLC数据? 怎样使用gitHub开源的组件技术来读写三菱的plc数据? ...
发表于 09-29 06:03 0次 阅读
工业4.0如何保证在各地收集到的数据的完整性
工业4.0如何保证在各地收集到的数据的完整性? 如何选择一个低成本的数据处理方案? ...
发表于 09-27 07:47 0次 阅读
EMCP平台-空调远程管理云平台有哪些优势
EMCP平台-空调远程管理云平台有何功能? EMCP平台-空调远程管理云平台有哪些优势?...
发表于 09-27 07:15 0次 阅读
求一种工业自动化数据采集方案
工业数据网关是什么? 工业数据采集类型有哪几种? ...
发表于 09-27 06:42 0次 阅读