Containerd

从零开始入门 K8s | 深入剖析 Linux 容器

ぐ巨炮叔叔 提交于 2019-12-06 13:55:32
容器 容器是一种轻量级的虚拟化技术,因为它跟虚拟机比起来,它少了一层 hypervisor 层。先看一下下面这张图,这张图简单描述了一个容器的启动过程。 最下面是一个磁盘,容器的镜像是存储在磁盘上面的。上层是一个容器引擎,容器引擎可以是 docker,也可以是其它的容器引擎。引擎向下发一个请求,比如说创建容器,这时候它就把磁盘上面的容器镜像运行成在宿主机上的一个进程。 对于容器来说,最重要的是怎么保证这个进程所用到的资源是被隔离和被限制住的,在 Linux 内核上面是由 cgroup 和 namespace 这两个技术来保证的。接下来以 docker 为例,详细介绍一下资源隔离和容器镜像两部分的内容。 一、资源隔离和限制 namespace namespace 是用来做资源隔离的,在 Linux 内核上有七种 namespace,docker 中用到了前六种。第七种 cgroup namespace 在 docker 本身并没有用到,但是在 runC 实现中实现了 cgroup namespace。 我们先从头看一下: 第一个是 mout namespace。mout namespace 就是保证容器看到的文件系统的视图,是容器镜像提供的一个文件系统,也就是说它看不见宿主机上的其他文件,除了通过 -v 参数 bound 的那种模式,是可以把宿主机上面的一些目录和文件

从零开始入门 K8s | 深入剖析 Linux 容器

拥有回忆 提交于 2019-12-06 11:55:13
作者 | 唐华敏(华敏) 阿里云容器平台技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 15 讲。 关注“阿里巴巴云原生”公众号,回复关键词“ 入门 ”,即可下载从零入门 K8s 系列文章 PPT。 导读 :Linux 容器是一种轻量级的虚拟化技术,在共享内核的基础上,基于 namespace 和 cgroup 技术做到进程的资源隔离和限制。本文将会以 docker 为例,介绍容器镜像和容器引擎的基本知识。 容器 容器是一种轻量级的虚拟化技术,因为它跟虚拟机比起来,它少了一层 hypervisor 层。先看一下下面这张图,这张图简单描述了一个容器的启动过程。 最下面是一个磁盘,容器的镜像是存储在磁盘上面的。上层是一个容器引擎,容器引擎可以是 docker,也可以是其它的容器引擎。引擎向下发一个请求,比如说创建容器,这时候它就把磁盘上面的容器镜像运行成在宿主机上的一个进程。 对于容器来说,最重要的是怎么保证这个进程所用到的资源是被隔离和被限制住的,在 Linux 内核上面是由 cgroup 和 namespace 这两个技术来保证的。接下来以 docker 为例,详细介绍一下资源隔离和容器镜像两部分的内容。 一、资源隔离和限制 namespace namespace 是用来做资源隔离的,在 Linux 内核上有七种 namespace,docker

从零开始入门 K8s | 深入剖析 Linux 容器

一曲冷凌霜 提交于 2019-12-06 07:32:49
容器 容器是一种轻量级的虚拟化技术,因为它跟虚拟机比起来,它少了一层 hypervisor 层。先看一下下面这张图,这张图简单描述了一个容器的启动过程。 最下面是一个磁盘,容器的镜像是存储在磁盘上面的。上层是一个容器引擎,容器引擎可以是 docker,也可以是其它的容器引擎。引擎向下发一个请求,比如说创建容器,这时候它就把磁盘上面的容器镜像运行成在宿主机上的一个进程。 对于容器来说,最重要的是怎么保证这个进程所用到的资源是被隔离和被限制住的,在 Linux 内核上面是由 cgroup 和 namespace 这两个技术来保证的。接下来以 docker 为例,详细介绍一下资源隔离和容器镜像两部分的内容。 一、资源隔离和限制 namespace namespace 是用来做资源隔离的,在 Linux 内核上有七种 namespace,docker 中用到了前六种。第七种 cgroup namespace 在 docker 本身并没有用到,但是在 runC 实现中实现了 cgroup namespace。 我们先从头看一下: 第一个是 mout namespace。mout namespace 就是保证容器看到的文件系统的视图,是容器镜像提供的一个文件系统,也就是说它看不见宿主机上的其他文件,除了通过 -v 参数 bound 的那种模式,是可以把宿主机上面的一些目录和文件

containerd 与安全沙箱的 Kubernetes 初体验

依然范特西╮ 提交于 2019-12-05 19:51:19
作者 | 易立 阿里云资深技术专家 containerd 是一个开源的行业标准容器运行时,关注于简单、稳定和可移植,同时支持 Linux 和 Windows。 2016 年 12 月 14 日,Docker 公司宣布将 Docker Engine 的核心组件 containerd 捐赠到一个新的开源社区独立发展和运营。阿里云、AWS、 Google、IBM 和 Microsoft 作为初始成员,共同建设 containerd 社区; 2017 年 3 月,Docker 将 containerd 捐献给 CNCF(云原生计算基金会)。containerd 得到了快速的发展和广泛的支持; Docker 引擎已经将 containerd 作为容器生命周期管理的基础,Kubernetes 也在 2018 年 5 月,正式支持 containerd 作为容器运行时管理器; 2019 年 2 月,CNCF 宣布 containerd 毕业,成为生产可用的项目。 containerd 从 1.1 版本开始就已经内置了 Container Runtime Interface (CRI) 支持,进一步简化了对 Kubernetes 的支持。其架构图如下: 在 Kubernetes 场景下,containerd 与完整 Docker Engine 相比,具有更少的资源占用和更快的启动速度。 图片来源:

从零开始入门 K8s | 深入剖析 Linux 容器

瘦欲@ 提交于 2019-12-05 10:16:50
作者 | 唐华敏(华敏) 阿里云容器平台技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 15 讲。 关注“阿里巴巴云原生”公众号,回复关键词“ 入门 ”,即可下载从零入门 K8s 系列文章 PPT。 导读 :Linux 容器是一种轻量级的虚拟化技术,在共享内核的基础上,基于 namespace 和 cgroup 技术做到进程的资源隔离和限制。本文将会以 docker 为例,介绍容器镜像和容器引擎的基本知识。 容器 容器是一种轻量级的虚拟化技术,因为它跟虚拟机比起来,它少了一层 hypervisor 层。先看一下下面这张图,这张图简单描述了一个容器的启动过程。 最下面是一个磁盘,容器的镜像是存储在磁盘上面的。上层是一个容器引擎,容器引擎可以是 docker,也可以是其它的容器引擎。引擎向下发一个请求,比如说创建容器,这时候它就把磁盘上面的容器镜像运行成在宿主机上的一个进程。 对于容器来说,最重要的是怎么保证这个进程所用到的资源是被隔离和被限制住的,在 Linux 内核上面是由 cgroup 和 namespace 这两个技术来保证的。接下来以 docker 为例,详细介绍一下资源隔离和容器镜像两部分的内容。 一、资源隔离和限制 namespace namespace 是用来做资源隔离的,在 Linux 内核上有七种 namespace,docker

containerd 与安全沙箱的 Kubernetes 初体验

随声附和 提交于 2019-12-04 20:03:01
作者 | 易立 阿里云资深技术专家 containerd 是一个开源的行业标准容器运行时,关注于简单、稳定和可移植,同时支持 Linux 和 Windows。 2016 年 12 月 14 日,Docker 公司宣布将 Docker Engine 的核心组件 containerd 捐赠到一个新的开源社区独立发展和运营。阿里云、AWS、 Google、IBM 和 Microsoft 作为初始成员,共同建设 containerd 社区; 2017 年 3 月,Docker 将 containerd 捐献给 CNCF(云原生计算基金会)。containerd 得到了快速的发展和广泛的支持; Docker 引擎已经将 containerd 作为容器生命周期管理的基础,Kubernetes 也在 2018 年 5 月,正式支持 containerd 作为容器运行时管理器; 2019 年 2 月,CNCF 宣布 containerd 毕业,成为生产可用的项目。 containerd 从 1.1 版本开始就已经内置了 Container Runtime Interface (CRI) 支持,进一步简化了对 Kubernetes 的支持。其架构图如下: 在 Kubernetes 场景下,containerd 与完整 Docker Engine 相比,具有更少的资源占用和更快的启动速度。 图片来源:

docker 安装及启动错误的排除

感情迁移 提交于 2019-12-04 18:18:59
docker 安装 这边博文写的很ok: https://www.cnblogs.com/Peter2014/p/7704306.html docker 启动遇到的错误 docker 启动报错,使用 systemctl 或 journalctl 查看错误如下: [root@iZ23lj7d0igZ etc]# systemctl status docker.service ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: failed (Result: start-limit) since Thu 2019-01-24 14:12:25 CST; 3s ago Docs: https://docs.docker.com Process: 19664 ExecStart=/usr/bin/dockerd -H fd:// (code=exited, status=1/FAILURE) Main PID: 19664 (code=exited, status=1/FAILURE) Jan 24 14:12:23

Centos 7.4 rpm 包安装 docker

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-04 08:47:17
运气好时非常顺利,一个 rpm 包,一执行安装,就完成了,比如今天在单位的虚拟机上。运气没那么好的时候,要手动安装一些信赖,比如下班回家后的我。感谢运气不那么好,要不然就不会整理这篇文档了。 安装包集合: https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 此次安装用到了列表中的: containerd.io-1.2.5-3.1.el7.x86_64.rpm docker-ce-cli-18.09.4-3.el7.x86_64.rpm docker-ce-18.09.4-3.el7.x86_64.rpm 白天虚拟机上,竟然只安装 docker-ce-18.09.4-3.el7.x86_64.rpm 就可以了,结果晚上云服务器上陆续出现下面的问题 尝试直接安装 docker-ce-18.09.4-3.el7.x86_64.rpm [root@iZxxxxxwuf9Z ftp_user]# yum install ./docker-ce-18.09.4-3.el7.x86_64.rpm Loaded plugins: fastestmirror Examining ./docker-ce-18.09.4-3.el7.x86_64.rpm: 3:docker-ce-18.09.4-3.el7.x86_64

安全容器的发展与思考

泪湿孤枕 提交于 2019-11-30 18:35:07
9月26日云栖大会容器专场,阿里云智能刘奖和蚂蚁金服王旭两位资深技术专家进行了一场精彩纷呈的演讲,与各位观众分享探讨了安全容器技术的过去、今天和未来。以下文章根据演讲整理而成。 大家中午好,感谢大家在饥肠辘辘的中午不离不弃地来到我们的会场,我们带给大家的这段相声是关于安全容器技术的。我是王旭,半年前刚刚结束一段创业,和团队一起加入了蚂蚁金服,创业期间,2017年,我们在德州奥斯汀,和Intel OTC一起发布了Kata Containers安全容器项目,是这个项目的创始人之一;和我一起的是阿里云智能的奖哥,他是阿里云容器服务ECI的台柱子,也是rust-vmm开源项目的积极维护者。我们见证了容器安全和安全容器技术在争议中的发展,今天想要结合社区里和阿里云上安全容器的沿革,谈谈对安全容器技术未来发展的思考。 这次的分享分为四个部分: 当前容器技术应用和安全问题的现状 阿里云内外的安全容器技术发展的历程 阿里云服务中的安全容器 我们乃至整个社区正在做的技术努力 当前容器技术应用和安全问题的现状 众所周知,容器化、微服务化、云原生化是当前IT系统演进的趋势。 根据Portworks和Aqua Security的调查报告显示,被调查的大多数企业都不是正在使用容器,就是考虑使用容器。 上午过来空闲时和刚才演讲的Chris聊天的时候,他也提到,今年年底San

安全容器的发展与思考

若如初见. 提交于 2019-11-30 18:08:34
本文根据云栖大会容器专场演讲内容整理, 大家中午好,感谢大家在饥肠辘辘的中午不离不弃地来到我们的会场,我们带给大家的这段相声是关于安全容器技术的。我是王旭,半年前刚刚结束一段创业,和团队一起加入了蚂蚁金服,创业期间,2017 年,我们在德州奥斯汀,和 Intel OTC 一起发布了 Kata Containers 安全容器项目,是这个项目的创始人之一;和我一起的是阿里云智能的奖哥,他是阿里云容器服务 ECI 的台柱子,也是 rust-vmm 开源项目的积极维护者。 (图左为蚂蚁金服资深技术专家 王旭,图右为阿里云操作系统资深技术专家 刘奖) 我们见证了容器安全和安全容器技术在争议中的发展,今天想要结合社区里和阿里云上安全容器的沿革,谈谈对安全容器技术未来发展的思考。 这次的分享分为四个部分: 当前容器技术应用和安全问题的现状 阿里云内外的安全容器技术发展的历程 阿里云服务中的安全容器 我们乃至整个社区正在做的技术努力 当前容器技术应用和安全问题的现状 众所周知,容器化、微服务化、云原生化是当前 IT 系统演进的趋势。根据 Portworks 和 Aqua Security 的调查报告显示,被调查的大多数企业都不是正在使用容器,就是考虑使用容器。 上午过来时和刚才演讲的 Chris 聊天的时候,他也提到,今年年底 San Diego 的 KubeCon 预计会有一万两千人来参会