最新消息:关注人工智能 AI赋能新媒体运营

苹果切入云原生基础技术竞争,推出主打安全和隐私的MacOS原生容器化专案

科技智能 admin 浏览 评论

在今年WWDC,除了多项全新介面设计的发布之外,苹果也悄悄的发布了一项根本性的云原生开源专案,MacOS原生的容器技术专案,也就是容器化开源专案Containerization专案,以及对应的命令列工具container专案。

苹果工程师Michael Crosby在WWDC中发布了这个容器化开源专案(Containerization),这是一个可以像原生应用般建置容器化应用的Swift框架。「苹果发布这个专案的目标是希望能改变Linux容器的设计和导入方式,达到更安全,更隐私,也更有效率的效果。」他强调。??

苹果在2021年挖角了Docker公司重要工程师Michael Crosby,他是Docker专案的维护者,担任过2018年OCI技术监督委员会主席,是容器技术标準化的关键推手。Michael Crosby现在成了苹果容器化专案的关键推手。

过去要在macOS上执行一个容器,得先建立一个大型Linux虚拟机器,预先配置足够的处理器和记忆体资源,才能用来执行多个容器。这个虚拟机器会将事先配置的资源,共享、分配给虚拟机器中每一个容器来运用。

这个做法的缺点是,每当要新增一个容器需要存取一份外部目录中的文件时,得先将Mac上的这个目录和文件分享给虚拟机器,接着才能提供给这份文件资料的容器,其他容器也有机会可以存取这个文件。Michael Crosby指出,苹果推出这个容器化专案想要达成三大目标,第一是安全目标,希望能容器具备现在虚拟化技术所能提供的隔离效果,也希望减少在虚拟机器中的核心工具和动态函式库。「减少这些机制,可以减少可被骇客利用的攻击面,也能降低维运成本。」他解释。

其次,隐私是第二项目标,「限制可存取的目录应该成为每一个容器的基础能力,应该让只有这份资料需求的容器,才能存取它。」Michael Crosby补充。最后一项专案目标是效能,希望能依据使用者所能提供的资源来调校效能。

苹果新发表的Containerization专案是一个开源的Swift框架专案,提供了一套可以执行容器和管理容器映像档的API,以及一个用Swift开发的系统启动工具。要启动一个容器,通常会先从储存库下载一份容器映像档,映像档中有一份用来启动这个容器的配置,以及内建储存应用程序码和相关站是酷的文件系统。在Containerization专案,在一个macOS容器中的文件系统,会视为一个区块储存装置(block device),会格式化成Linux最常见的EXT4目录结构。Containerization专案提供了Swift元件,可以直接存取EXT4格式目录中的文件。??

为了确保够安全的隔离应,每一个macOS容器要执行时,Containerization会同时启动一个轻量化的虚拟机器来隔离这个容器,启动时间不用到1秒。这个设计带来几个好处,第一是,可以让每一个macOS容器可以有独立的IP位址,让这些容器的网路存取更有效率,存取macOS容器上的服务,不需要参考通讯埠对应表,而能直接存取。另一个好处是,可以限制,容器只能读取到它所请求的内容,这些内容不会被其他容器接触。在资源配置也能更有效率,只要没有启动容器,就不需要占用记忆体货处理器的资源。

启动一个maOS容器时,会透过一只起程序vminid,进行IP指派,挂上区块储存装置和相关启动作业。传统虚拟机器启动时,会启动一套完整的作业系统,但为了减少攻击面,在Containerization专案的轻量化虚拟机器中,完全没有核心工具和动态函式库,移除了许多核心指令,如移除cd、cp、ls等常见目录指令,也没有提供libc实作。这个vminid没有任何连结文件,直接用了Swift的静态Linux SDK,把vminitd编译成一只静态的linux执行档。

Containerization支援容器化标準OCI的映像档,可以直接从Docker Hub等标準Registre直接拉取映像档来部署。另外,也提供了一套建置Linux容器化应用的工具,也就是命令列工具container,可以管理容器映像档和支援容器需要的储存、网路服务等,可以支援 run、pull 及 push等标準容器化操作命令。另外,macOS容器透过Rosetta 2技术,也可以执行为x86-64架构编译的二进位档,也就是在Intel 处理器Mac上编译的二进位档。?

目前这个Containerization容器化专案需要安装macOS 26 Beta或更新版本才能执行。若在macOS 15上执行,则会有部分网路功能的闲置。

许多开发者使用Mac电脑作为开发工具,但要在本地端提供容器化的云原生测试环境,过去得安装一些容器软件,像是Docker、Podman、Orbstack或Lima等。

虽然苹果没有进一步说明,为何要跳下来打造云原生生态圈最基础的容器化技术。但随着苹果Containerization专案,以及对应的命令列工具container专案的发布,这意味着苹果开始提供更原生的Linux容器支援,有助于让macOS成为大规模云原生架构的资讯基础,在云原生技术生态圈中,扮演更关键的角色。

?

发表我的评论
取消评论

表情

您的回复是我们的动力!

  • 昵称 (必填)
  • 验证码 点击我更换图片

网友最新评论