Cloud computing, offering on-demand access to computing resources through the Internet and the pay-as-you-go model, has marked the last decade with its three main service models; Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). The lightweight nature of containers compared to virtual machines has led to the rapid uptake of another in recent years, called Containers as a Service (CaaS), which falls between IaaS and PaaS regarding control abstraction. However, when CaaS is offered to multiple independent users, or tenants, a multi-instance approach is used, in which each tenant receives its own separate cluster, which reimposes significant overhead due to employing virtual machines for isolation. If CaaS is to be offered not just at the cloud, but also at the edge cloud, where resources are limited, another solution is required. We introduce a native CaaS multitenancy framework, meaning that tenants share a cluster, which is more efficient than the one tenant per cluster model. Whenever there are shared resources, isolation of multitenant workloads is an issue. Such workloads can be isolated by Kata Containers today. Besides, our framework esteems the application requirements that compel complete isolation and a fully customized environment. Node-level slicing empowers tenants to programmatically reserve isolated subclusters where they can choose the container runtime that suits application needs. The framework is publicly available as liberally-licensed, free, open-source software that extends Kubernetes, the de facto standard container orchestration system. It is in production use within the EdgeNet testbed for researchers.
翻译:云计算,通过互联网和按使用量付费模式提供按需访问计算资源,已经用其三种主要服务模式 - 基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)标志了过去十年。与虚拟机相比,容器的轻量化特性导致另一个技术——容器即服务(CaaS)在最近几年内迅速普及,它在控制抽象方面介于IaaS和PaaS之间。然而,当CaaS提供给多个独立用户或租户时,使用多实例方法,每个租户都会接收到自己独立的集群,由于采用虚拟机来进行隔离,这会导致重大的开销。如果要在边缘云上提供而不仅仅是在云上提供CaaS,则需要另一种解决方案。我们引入了一个基于原生CaaS的多租户框架,这意味着租户共享一个集群,比每个租户一个集群的模型更高效。每当存在共享资源时,多租户工作负载的隔离是一个问题。这样的工作负载可以通过Kata容器进行隔离。此外,我们的框架重视强制执行完全隔离和全面定制化环境的应用程序需求。节点级分片使租户能够通过编程方式保留隔离的子集群,他们可以选择适合应用程序需求的容器运行时。该框架作为授权许可,自由的开源软件扩展了Kubernetes,事实上是标准的容器编排系统。它在研究人员使用的EdgeNet测试平台上已经投入生产使用。