iSula是一种生活在中南美洲亚马逊丛林的蚂蚁,被称为子弹蚁,据说被咬一口像被子弹打过一样疼,华为开源的容器引擎就使用这种强大的昆虫的名字,iSula是使用MuLan协议下使用C和C++开发的一种轻量级的容器,支持ARM和X86等体系架构,相较于Go语言实现的Docker的容器运行时,iSula的底层开销更小,是被设计用来在IOT等场景下的容器运行时。
基本信息
iSula的基本信息如下所示:
项目 | 说明 |
---|---|
使用说明 | iSula使用官方链接 |
开源/闭源 | 开源 |
开源协议 | MulanPSL-2.0 |
开发语言 | C/C++ |
代码管理地址 | https://gitee.com/openeuler/iSulad |
下载地址 | https://gitee.com/openeuler/iSulad/releases |
当前版本 | 2.0.7(2020/11/23) |
iSula架构
从中可以看到这样几个特点:
- 对于HASEN的特定支持以及对于Kubernetes的CRI的通用性支持
- 除了CLI还有GRPC和REST两种内部通信方式
- Engine中也是氛围Image管理和运行时管理,前者通过Content服务和Rootfs服务来完成后者通过Execution服务来支持
- 服务的具体实现都是通过Plugin的模式来进行
事前准备
事前安装openEuler,本文以目前最新版本20.09为例进行说明
- Linux内核版本
[root@liumiaocn ~]# uname -a
Linux liumiaocn 4.19.140-2009.4.0.0048.oe1.x86_64 #1 SMP Thu Sep 24 09:39:46 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@liumiaocn ~]#
- openEuler版本
[root@liumiaocn ~]# cat /etc/openEuler-release
openEuler release 20.09
[root@liumiaocn ~]#
- openEuler的简介与安装准备可参看:https://liumiaocn.blog.csdn.net/article/details/110255783
整体说明
今年openEuler峰会有个主题是“openEuler与centOS无关”,为什么有这个疑问,就是很多使用者可能会觉得好像再使用centOS的错觉,实际上Linux发行版大同小异,内核相同在此基础上开发者直接使用较多的往往是yum或者dnf这样包管理工具,而这些不同的发型版有的时候使用的都是相同的,比如systemd。而对于iSula,同样的主题可能是“iSula与docker无关”,抛开这个到底是什么,初学者或者初用者可以考虑两条基本原则:
- 像使用centOS那样使用openEuler,碰到不一致的情况参看openEuler使用文档
- 像使用docker一样使用iSula,碰到不一致的情况参看iSula的使用文档
安装iSula
这里直接使用OpenEuler提供的repo源进行安装,执行命令如下所示:
执行命令:yum install iSulad
[root@liumiaocn ~]# yum install iSulad
OS 5.3 kB/s | 3.8 kB 00:00
everything 5.7 kB/s | 3.8 kB 00:00
EPOL 4.5 kB/s | 2.9 kB 00:00
debuginfo 5.8 kB/s | 3.8 kB 00:00
source 5.8 kB/s | 3.8 kB 00:00
Dependencies resolved.
========================================================================================================================================
Package Architecture Version Repository Size