Kubernetes原理浅析

传统部署时代: 早期,组织在物理服务器上运行应用程序。无法为物理服务器中的应用程序定义资源边界,这会导致资源分配问题。例如,如果在物理服务器上运行多个应用程序,则可能会出现一个应用程序占用大部分资源的情况,结果可能导致其他应用程序的性能下降。一种解决方案是在不同的物理服务器上运行每个应用程序,但是由于资源利用不足而无法扩展,并且组织维护许多物理服务器的成本很高。

虚拟化部署时代: 作为解决方案,引入了虚拟化功能,它允许您在单个物理服务器的 CPU 上运行多个虚拟机(VM)。虚拟化功能允许应用程序在 VM 之间隔离,并提供安全级别,因为一个应用程序的信息不能被另一应用程序自由地访问。

因为虚拟化可以轻松地添加或更新应用程序、降低硬件成本等等,所以虚拟化可以更好地利用物理服务器中的资源,并可以实现更好的可伸缩性。

每个 VM 是一台完整的计算机,在虚拟化硬件之上运行所有组件,包括其自己的操作系统。

容器部署时代: 容器类似于 VM,但是它们具有轻量级的隔离属性,可以在应用程序之间共享操作系统(OS)。因此,容器被认为是轻量级的。容器与 VM 类似,具有自己的文件系统、CPU、内存、进程空间等。由于它们与基础架构分离,因此可以跨云和 OS 分发进行移植。

容器当下大家比较熟知的是docker,而Kubernetes可以看作docker的管理工具。

为什么需要Kubernetes?

真正的生产型应用会涉及多个容器。这些容器必须跨多个服务器主机进行部署。容器安全性需要多层部署,因此可能会比较复杂。但 Kubernetes 有助于解决这一问题。简单来说,就是Kubernetes 可以帮助开发者构建跨多个容器的应用服务、跨集群调度、扩展这些容器,并长期持续管理这些容器的健康状况。

专业术语:

主机(Master): 用于控制 Kubernetes 节点的计算机。所有任务分配都来自于此。

API SERVER:用户不论用命令行还是图形界面,请求都发送至api server,内部系统与外部用户也通过相同的api通信

etcd:存储集群的配置和状态,主节点通过etcd查询节点,容器与容器的状态参数

Controllers:从api server获取到所需状态,控制节点的当前状态,有差异就解决

Scheduler:监听来自api的新请求,对节点进行排名,把pod部署到合适的节点,不合适就先挂着不部署

 

节点(Node):负责执行请求和所分配任务的计算机。由 Kubernetes 主机负责对节点进行控制。

 

容器集(Pod):被部署在单个节点上的,且包含一个或多个容器的容器组。同一容器集中的所有容器共享同一个 IP 地址、IPC、主机名称及其它资源。容器集会将网络和存储从底层容器中抽象出来。这样,您就能更加轻松地在集群中移动容器。

Kubelet:运行在节点上的服务,1.监视来自api的任务,执行任务,并向主节点报告。2.监视pod,pod有问题会向控制程序报告,控制程序会改变分配策略。

Container Runtime:容器运行时从镜像库拉取镜像。

kube-proxy:让每个节点获得他的IP地址,实现负载均衡。

复制控制器(Replication controller):用于控制应在集群某处运行的完全相同的容器集副本数量。

 

当pod有问题时,kubernetes会创造一个和原来一样的pod,但是IP不一样。service用来解决这个问题。

服务(Service):将工作内容与容器集分离。Kubernetes 服务代理会自动将服务请求分发到正确的容器集——无论这个容器集会移到集群中的哪个位置,甚至可以被替换掉。

 

Kubernetes 工作的简单流程:

主机(master)接收开发者的命令,自动选择从属节点(node)进行分发,之后它将在该节点分配资源,并指派容器集来完成任务请求。

当 kubernetes 将容器集调度到一个节点上时,该节点上的 kubelet 会发送指令让 docker 启动指定的容器。kubelet 随后会不断从 docker 收集这些容器的状态,并将这些信息汇集至主机。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac上python3安装HTMLTestRunner

下载支持python3版本的HTMLTestRunner.py文件后,拷贝到python3的lib目录下 在终端输入如下命令: 将HTMLTestRunner.py文件拷贝到如下目录后,pycharm中就可以import HTMLTestRunner 转载于:https://www.cnblogs.com/yrxns/p/9857812.html

从Bengio的NPS模型看AGI的实现通路

来源:混沌巡洋舰这两天深度学习祖师Yoshua Bengio 的 Neural Production System 刷新了AI圈子。与以往的深度学习套路不同的是, 这篇文章有效的把符号主义AI对人类认知的模拟与深度学习结合, 得到了一个能够学习规则的神经机器。我们先来看下…

burp的intruder报错Payload set 1: Invalid number settings

使用burp对某一参数进行测试时,当类型为numbers时,报如下错误: 解决方法: 先点击Go back 之后:在Decimal,Hex两个选项之间来回点就好了

机器学习漫谈:深度学习的辉煌

来源:王宏琳科学网博客如今,当有人提到人工智能引起社会变革潜力时,他们很可能是在谈论机器学习中的人工神经网络。当一篇文章谈人工神经网络突破性进展时,作者很可能指的是深度学习。人工神经网络是一种非线性统计建模工具&#…

idea中每次push/pull都需要输入账号密码

在terminal中输入git config --global credential.helper store 之后再输入一次账号密码 以后就可以免输入账号密码了

μ子刷屏的背后:说「新物理学即将现身」还为之过早

用于 μ 子 g-2 实验的巨型电磁体抵达费米实验室。这个磁体于 1990 年代制造于布鲁克海文实验室,并在 2000 年代早期由该实验室使用,但之后被运送到了费米实验室,进行这个新的且目前仍在持续的实验。来源:机器学习研究组订阅对一个…

mybatis自学笔记-1

从昨天开始对mybatis突然有了很深的兴趣,主要原因在于这几天的项目采用的是smm,以后使用mybatis的概率也是非常大,抱着一劳永逸的想法,选了这几天的黄道吉日就把mybatis给办了吧。笔记主要参考mybatis的官网,在此给出链…

迈向智能世界2030的九大技术挑战与研究方向

来源:华为在2021华为全球分析师大会上,华为董事、战略研究院院长徐文伟发布了迈向智能世界2030的九大技术挑战与研究方向,呼吁产学研精诚合作,以开放包容、协同创新的机制,汇集全人类的智慧和创新能力,满足…

VM虚拟机下配置centos linux系统

如果配置中出现错误,请参照下列文档参照: 1. linux关于connect: network is unreachable 问题的解决 https://blog.csdn.net/liu911025/article/details/73431468/ 2. Centos 配置eth0 提示Device does not seem to be present https://blog.csdn.net/xiaobei4929/article/de…

2021年AI将改变制造业的6大应用趋势

来源:先进制造业▍一、用于缺陷检测的深度学习在制造中,生产线中的缺陷检测过程变得越来越智能。深度神经网络集成使计算机系统可以识别诸如刮擦,裂纹,泄漏等表面缺陷。通过应用图像分类,对象检测和实例分割算法&#…

RequestMapping注解的继承问题

RequestMapping注解被用来注明访问路径,例如: RequestMapping("/data") RequestMapping("/user/list") 在写代码的时候遇到了there is already xxxx been method的错误,显示之前已经被注入,发现是父类中有相同的Reque…

神经科学家为视力受损的人研发新技术

来源:IEEE电气电子工程师作者:Megan Scudellari有许多可穿戴和便携式设备,旨在改善盲人和视力受损者的生活(在某些情况下,甚至恢复视力)。这些装置已经被开发用于身体的几乎每个部位:手指、手腕…

用机器指令和汇编指令编程(修改版)

实验名称 用机器指令和汇编指令编程(1)实验日期 2018.10.22 学院:计软院 专业:计算机科学与技术 年级:2017级班次:5班 姓名:陈奕明 学号 20171308194一、实验目的 1. 掌握使用debug工具编写和调试汇编命令的方…

学术交流丨魏子卿院士:北斗坐标系

来源:微信公众号中国测绘学会引文格式:魏子卿, 吴富梅, 刘光明. 北斗坐标系[J]. 测绘学报,2019,48(7):805-809. DOI: 10.11947/j.AGCS.2019.20190131第一作者:魏子卿(中国工程院院士&#xff0c…

centos 安装MySQL报错You could try using --skip-broken to work around the problem You could try running:

centos 安装MySQL报错You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum …

​马斯克的全球上网计划:月费646元,网速可达200Mbps

SpaceX创始人兼首席执行官埃隆马斯克来源:腾讯科技审校作者:金鹿腾讯科技讯 4月16日消息,美国太空探索技术公司SpaceX在六个月前向公众推出了Starlink Early Access计划。在最初的几个月里,这项卫星互联网服务的用户增长到了1万多…

剑指 Offer 68 - II. (二叉树)二叉树的最近公共祖先

题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以…

从狼群智能到无人机群协同决策

来源:飞思实验室文:小翼生物群集行为是自然界存在的一种普遍现象 ,先前的研究已表明人们可以通过模仿鸟群、鱼群、蜂群等行为, 研究其群体性决策机制, 进而用于构建集群系统的决策系统框架. 狼群在认知、分工, 以及复杂环境适应性等方面具有突出的优势, …

华为自动驾驶实车实路测试视频曝光!

来源:量子位、物联网智库等自动驾驶的风又刮起来了,这次处在风暴中心的是华为。4月15日,消息称配备华为自动驾驶技术的北汽新能源极狐阿尔法S的HI版车型在上海进行了公开试乘,这也是华为自动驾驶技术公开试乘的全球首秀。就试乘效…

未来智能:人有人用,机有机用

来源: 苇草智酷作者:王飞跃当今最好的人工智能程序到底有多智能?它们是如何工作的?能做些什么?我们有必要担心机器比人类聪明且将很快夺取我们的工作吗?以上这些问题都颇受人们的关注,梅拉妮米歇…