容器技术与容器编排系统详解

news2024/9/26 5:24:38

一、Docker 容器技术

概括起来,Docker 容器技术有3个核心概念容器、镜像和镜像仓库。如果把容器类比为动态的、有生命周期的进程,则镜像就像是静态的可执行程序及其运行环境的打包文件,而镜像仓库则可想象成应用程序分发仓库,事先存储了制作好的各类镜像文件。

运行Docker守护进程(daemon)的主机称为Docker主机,它提供了容器引擎并负责管理本地容器的生命周期,而容器的创建则要基于本地存储的Docker镜像进行,当本地缺失所需的镜像时,由守护进程负责到Docker Registry获取。

Docker命令行客户端通过Docker守护进程提供的API与其交互,用于容器和镜像等的对象管理操作。

Docker各组件间的逻辑架构及交互关系如下图所示。

Docker 逻辑架构

任何拥有Docker运行时引擎的主机都能够根据同一个镜像创建并启动运行环境完全一致的容器,在容器中添加新数据或修改现有数据的结果都存储在由容器附加在镜像之上的可写顶层中。

因此,同一 Docker 主机上的多个容器可以共享同一基础镜像,但各有自己的数据状态。

二、容器编排系统

Docker本身非常适合管理单个容器,若运行的是构建于有限几个或十几个容器上的应用程序,则可以仅在 Docker引擎上自主运行,部署和管理这些容器并不会遇到太大的困难。

然而,对于包含成百上千个容器的企业级应用程序来说,这种管理将变得极其复杂,甚至无法实现。

容器编排是指自动化容器应用的部署、管理、扩展和联网的一系列管控操作,能够控制和自动化许多任务,包括调度和部署容器、在容器之间分配资源、扩缩容器应用规模、在主机不可用或资源不足时将容器从一台主机迁移到其他主机、负载均衡以及监视容器和主机的运行状况等。

容器编排系统

容器编排系统用于完成容器编排相关的任务。

以Kubernetes、Mesos 和 Docker Swarm 等为代表的这类工具通常需要用户在 YAML 或 JSON 格式的配置清单中描述应用程序的配置,以指示编排系统在何处检索容器镜像、如何在容器之间建立网络、在何处存储日志以及如何挂载存储卷等。

确定调度目标后,编排工具将根据预定规范管理容器的生命周期。

概括来说,容器编排系统能够为用户提供如下关键能力。

  • 集群管理与基础设施抽象将多个虚拟机或物理机构建成协同运行的集群,并将这些硬件基础设施抽象为一个统一的资源池。
  • 资源分配和优化基于配置清单中指定的资源需求与现实可用的资源量,利用成熟的调度算法合理调度工作负载。
  • 应用部署支持跨主机自动部署容器化应用,支持多版本并存、滚动更新和回滚等机制。
  • 应用伸缩支持应用实例规模的自动或手动伸缩。
  • 应用隔离∶支持为租户、项目或应用进行访问隔离。
  • 服务可用性∶利用状态监测和应用重构等机制确保服务始终健康运行。

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

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

相关文章

6.30学习-函数柯里化,回调解决异步多线程

6.30学习-函数柯里化,回调解决异步多线程 1.函数柯里化1.1 确定参数的函数柯里化1.2参数不确定的函数柯里化1.3 用法1.3.1 给setTimeout传递进来的函数添加参数 2.回调解决异步多线程 1.函数柯里化 函数柯里化,经常可能就面试的时候听说过,反…

【Unity3D编辑器开发】Unity3D中初次尝试使用PropertyDrawer属性

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 前段时间一直比较忙,没有时间更新博客,…

SSH连接vmware 虚拟机 centos

检查虚拟机设置的网络连接是否为NAT模式 点击左上角“编辑” -> “虚拟网络编辑器” 在虚拟网络编辑器中查看IP地址 ,点击NAT模式后,点击“NAT设置 记住自己的网关,下面在服务器中配置需要 进入服务器的 /etc/sysconfig/network-scripts/ 编辑 i…

Java性能权威指南-总结22

Java性能权威指南-总结22 对象序列化追踪对象复制 Java EE网络API小结 对象序列化 追踪对象复制 先介绍一个示例,如何不对对象引用进行序列化,以避免在反序列化时处理对象引用。然而,writeobject()中最有力的优化是不重复输出对象引用。 在…

强大业务体系支撑,亚马逊云科技占据近八成中国企业出海总销量

从人类发展历史上看,无论是刳木为舟,剡木为楫,还是郑和下西洋,亦或是欧洲大航海时代,人类对于出海探索这件事就从未停止。而在如今的时代,相似的故事依旧在上演。过去的十年,是中国互联网最为繁…

一文了解AppSec,以及如何通过Perforce工具保障应用程序防护

应用程序防护(AppSec)是有效且高效的安全措施,有助于帮助软件应用程序解决日益严重的安全威胁。本篇文章将讨论应用程序防护(AppSec)的原理、最佳实践以及您应该使用什么AppSec工具。 什么是AppSec? AppS…

近视眼选择什么台灯好一点?高品质护眼台灯推荐

目前我国儿童以及青少年的近视率达到53.7%,且近视发病率不断呈现低龄化趋势,导致近视的主要是因为用眼过度。而电子产品的普及,网课、打游戏、刷短视频等,被许多家长认为是导致近视的主要原因,其往往忽略掉了一个很重要…

springboot社区服务系统-计算机毕设 附源码77279

springboot社区服务系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中&a…

Unity游戏开发之游戏动画(模型动画制作及导入)

一. 简单制作3D角色 在stream中下载Fuse软件在Fuse中制作人物,导出模型为OBJ格式(注意:这里导出目录必须为英文路径,否则只能导出空的OBJ文件)压缩Obj文件为zip格式打开Mixamo网站:https://www.mixamo.com…

刷题日记04《回溯算法》

回溯算法本质 回溯算法的本质是穷举,即对所有可能的情况进行一一穷举,如果求解过程中发现某个情况不符合求解要求,直接进行剪枝即可 回溯算法模板 我们可以将回溯算法理解为以下两种模板 1.递归回溯 result [] def backtrack(路径, 选择列表…

企业电子招投标系统源代码之电子招投标系统建设的重点和未来趋势+spring clould +java+二次开发

计算机与网络技术的不断发展,推动了社会各行业信息化的步伐。时至今日,电子政务、电子商务已经非常普及,云计算、大数据、工业4.0、“互联网”等发展理念也逐步深入人心,如何将传统行业与互联网科技有效结合起来,产生1…

港联证券:新能源汽车再迎助力 科技巨头持续加注机器人领域

上周五,A股再度反弹拉升,两市股指盘中全线走高,沪指突破3200点,深成指涨逾1%,创业板指一度涨超2%。截至收盘,沪指涨0.62%报3200.06点,深成指涨1.02%报11026.59点,创业板指涨1.6%报22…

【梦辛工作室】java实现简易消息队列处理器 可分区 分区顺序消费MxMQ

大家好哇,又是我,梦辛工作室的灵,最近在巩固JUC并发包,突然想到如果自己的应用体量不大,但有需要消息队列来实现应用解耦和削峰来缓解服务器突增压力,比如抢票时,突然有比较用户同时抢票&#x…

C++之GNU C的__attribute__((constructor))优先级使用(一百四十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

C++ 设计模式----“对象性能“模式

“对象性能”模式 面向对象很好地解决了“抽象”的问题,但是必不可免地要付出一定的代价。对于通常情况来讲,面向对象的成本大都可以忽略不计。但是某些情况,面向对象所带来的成本必须谨慎处理。 典型模式 Singleto Flyweighta Singlet…

51单片机笔记

51单片机笔记 一、编程区域 1.1 用户应用程序区(AP区) 是指用户自己编写的程序区 1.2 ISP监控程序区: ISP区是指芯片出厂时就已经固化在单片机内部的一段程序,STC单片机可以进行ISP串行下载程序,这就是因为芯片在出…

在Blender和Zbrush中创建激光指示器,新手硬表面建模码住!

大家好,今天云渲染小编给大家带来的分享是硬表面建模,CG艺术家Lyubov使用Blender和Zbrush创建激光指示器的幕后花絮。 介绍 我叫 Lyubov,来自俄罗斯圣彼得堡,是一名 3D 建模的初学者。虽然学习还不到一年,但是我对它…

etcd安装

ETCD安装 windows版本 下载 下载地址https://github.com/etcd-io/etcd/releases 安装 其实也不用安装,下载解压后,得到如下 选中etcd.exe,右键→属性→兼容性→以管理员身份运行此程序勾上,当然,每次运行时候右键…

kettle作业循环实现

kettle作业循环实现 使用kettle作业中的JavaScript实现作业循环,这里是固定循环10次 JavaScript2 parent_job.setVariable("max",10); parent_job.setVariable("count",1); true;检验字段的值 JavaScript var current parent_job.getVari…

MySQL事务+存储引擎

文章目录 MySQL事务存储引擎1 事务1.1 事务的概念1.2 事务的ACID特点1.3 导致问题1.4 事务控制语句1.4.1 查看修改隔离级别1.4.2 使用set设置控制事务1.4.3 查看事务自动提交功能 2 存储引擎2.1 存储格式2.2 常用存储引擎2.3 查看表使用的存储引擎2.4 修改存储引擎2.5 InnoDB行…