初学容器化

news2024/11/24 0:21:33

1.docker

build,ship,run,any app anywhere

docker类似运输中的集装箱,可以装任何应用(镜像文件),运行到各种服务器上。

docker提供的是进程上的隔离,虚拟机提供的是操作系统资源上的隔离。

虚拟机和容器的区别详见这里

1.1原理

docker核心技术是利用Linux kernel中的资源分配机制CGroups,以及核心名字空间namespace来进行进程级别的资源隔离。

对namespace的操作有3个系统函数:clone(),unshare(),setns()

docker采用AUFS联合文件系统(当一个镜像启动的时候,docker会在镜像的最顶层加载一个读写文件系统,只有最顶层的容器部分是可读写的),容器是可写的,镜像是只读的。

镜像(Image)是一堆只读层合成的,除了最底层,每一层都包含一个id、指向父级的指针和当前层的元数据。

容器和镜像最大的区别就是容器最上面有一层读写层。

多个容器可以使用同一个镜像,此时占用空间仅为一个镜像占用的空间。

2.K8s

几种容器编排工具对比:

架构:

 etcd:分布式kv数据库,使用Raft协议,用于保存急群众的相关数据;

API Server:集群统一入口,以Restful风格进行操作,交给etcd存储(是唯一能访问etcd的组件);提供认证、授权、访问控制、API注册和发现等机制,可以通过kubectl命令行工具,dashboard可视化面板,或者sdk访问;

Scheduler:节点的调度,选择node节点应用部署;

Controller Manager:处理集群中常规后台任务,一个资源对应一个控制器,同时监控集群的状态,确保实际状态与最终状态一致。

kubelet:相当于master派到node的代表,管理本机容器,上报数据给API Server;

Container Runtime:容器运行时,k8s支持多个容器运行时环境:Docker、Containerd、CRI-O、Rktlet以及任何实现K8s CRI(容器运行环境接口)的软件;

kube-proxy:实现服务(Service)抽象组件,屏蔽PodIP的变化和负载均衡;

 

 

 

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

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

相关文章

【五一创作】嵌入式Sqlite数据库【基本语法、Sqlite-JDBC、嵌入到Java程序】

目录 前言 基本介绍 Sqlite 对比 MySQL 字段类型 语法 创建表 插入数据 更新数据 查询数据 删除数据 查看建表语句 Sqlite-JDBC 嵌入到Java程序 前言 最近在用JavaFX做一个桌面软件需要用到数据库,但MySQL这种数据库明显只能本地访问,把软…

JVM-0502

垃圾回收 概述 内存的自动分配 垃圾收集,不是J8Va语音的件生产物。早在1968年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。关于垃圾收集有三个经典问题: 哪些内存需要回收?什么时候回收?(…

双金属复合圆管层间高温接触热阻测试方法的分析和选择

摘要:双金属复合圆管因其优越的特性在越来越多的领域得到广泛应用,而其层间接触热阻是这种圆管作为换热管时的重要性能指标。本文针对这种双金属复合圆管层间接触热阻的测试需求,分析和对比了现有用于接触热阻测试的各种稳态和瞬态方法&#…

网络应用基础 ——(2023新星计划文章一)

一,网络的概念 1.1网络及其带来的好处 (1)计算机网络是指通过通信设备和通信线路将多台计算机连接起来,以便实现资源共享、信息传递和协同工作的技术和系统。计算机网络是现代信息技术的重要组成部分,已经深入到我们…

代码随想录算法训练营第三十一天 | 贪心1,想不到怎么找局部最优就做不出来

贪心算法理论基础 代码随想录 (programmercarl.com) 贪心算法理论基础!_哔哩哔哩_bilibili 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额&#xff…

代码随想录刷题笔记3

文章目录 回溯细节模板题型组合分割子集排列棋盘问题N皇后问题解数独问题 其他 总结 回溯 本质上:穷举 剪枝。回溯法就是解决这种k层for循环嵌套的问题。 for循环横向遍历,递归纵向遍历,回溯不断调整结果集。 注意画出 解空间树-N叉树。 细…

无云服务器,Linux本地快速搭建web网站,并内网穿透发布上线(1)

文章目录 前言1. 本地搭建web站点2. 测试局域网访问3. 公开本地web网站3.1 安装cpolar内网穿透3.2 创建http隧道,指向本地80端口3.3 配置后台服务 4. 配置固定二级子域名5. 测试使用固定二级子域名访问本地web站点 转载自cpolar文章:Linux CentOS本地搭建…

【QT】 Qt高级——Qt自定义标题栏

【QT】 Qt高级——Qt自定义标题栏 一、Qt自定义标题栏简介 QWidget及其子类窗体组件的标题栏受操作系统的控制,即标题栏的界面风格与操作系统的主题风格相同,工程实践中需要开发者自行定义,达到美化应用程序界面的目的。 二、Qt自定义标题…

每日学术速递5.1

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Putting People in Their Place: Affordance-Aware Human Insertion into Scenes 标题:把人放在他们的位置:可供感知的人类插入场景 作者:Sumit…

项目管理:项目进度跟踪的好处有哪些?

项目进度跟踪主要针对项目计划、任务和项目成员三个方面,即为了了解整个项目计划完成情况、了解项目的实际进展情况、解成员工作完成情况。 项目跟踪可以证明计划是否可执行,可以说明计划是否可以被完成。 在项目执行过程中,我们也可以通过跟…

网络安全合规-Tisax(汽车安全评估讯息交换平台)一

**TISAX(汽车安全评估讯息交换平台(可信信息安全评估交换平台))**是2017年由德国汽车工业联合会(VDA) 联合欧洲网络交换所(ENX) 所推出的资讯交换平台,通过应用欧洲网络交换协会(ENX)和德国汽车…

rk3568 适配摄像头 (双摄)

rk3568 适配摄像头 (mipi 双摄) rk3568 适配双摄像其实就是逐个适配单摄像头,只是两颗摄像头的数据总线可能不同(cifmipi),也可能相同(mipi(2lane) x 2)。几乎相同的上电时许,不同的时钟信号和总线协议决定加载过程会略有不同。 提示&#…

CSDN周赛第49期 - 也谈马拉车

前言 C站的周赛已经很久没有新题了,已考过的题目我差不多都写过题解,若再重复写类似的文章,反而会降低博文质量分,而想要换个角度,却又难以找到动笔的欲望。所以虽然比赛发生在五一假期之前,但直到现在五一…

camunda升级事件的用途

在Camunda中,升级事件(Escalation Event)是一种可以在工作流中出现异常情况时触发相应操作的事件类型。使用升级事件可以帮助工作流更加灵活地处理异常情况,以确保工作流的正常运行。 使用升级事件可以处理以下情况: …

【Java EE 初阶】如何保证线程安全

目录 1.线程是什么? 2.线程安全(重点) 1.概念: 1.举例:用两个线程分别对同一个变量做五万次自增,观察答案是否符合预期 那么是哪些原因造成了这种线程不安全的现象呢?我们一起来分析一下&am…

搭建Plex媒体服务器,打造家庭多媒体中心【公网远程访问】

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频,已经算是生活中稀松平常的场景了,特别是各…

MAC安装MySQL

安装MySQL 登录官网dev.mysql.com/downloads/m… 下载社区版mysql,选择dmg格式的安装包。下载完成后,开始安装。 注意:选择Use Legacy Password Encryption。 解决无法启动MySQL问题 打开设置中的mysql图标,发现红点&#xff0…

Syslog-ng RHEL 的安装和配置

syslog-ng 作为 syslog 的替代工具,可以完全替代 syslog 的服务,并且通过定义规则,实现更好的过滤功能。 作为运维来说一个好的日志工具比什么都重要。 通常我们会管理不同的服务器,因此我们需要把日志集中一下以便于快速查找。…

GUI编程(二)

Swing Swing是GUI(图形用户界面)开发工具包。 早期的AWT(抽象窗口工具包)组件开发的图形用户界面,要依赖本地系统,当把AWT组件开发的应用程序移植到其他平台的系统上运行时,不能保证其外观风格…

贪心刷题~

1、洛谷P2240 【深基12.例1】部分背包问题 贪心策略&#xff1a;拿金币单价高的。 #include<iostream> #include<cstring> #include<algorithm> using namespace std;struct gold{int v;int m; } q[101];bool cmp(gold a,gold b){return a.v*b.m>b.v*a.m…