docker容器,性能高,不安全;VM虚拟机,安全性好,性能损耗大;Kata Container轻量级虚拟机的容器,即安全,性能也高。

开源容器项目Kata Containers,旨在将虚拟机(VM)的安全优势与容器的速度和可管理性统一起来。

Kata Container 是两个现有的开源项目合并:Intel Clear Containers和Hyper runV。

Intel Clear Container项目的目标是通过英特尔®虚拟化技术(VT)解决容器内部的安全问题,并且能够将容器作为轻量级虚拟机(VM)启动,提供了一个可选的运行时间,专注于性能(<100ms启动时间),可与Kubernetes 和Docker 等常用容器环境互操作。英特尔®Clear Container表明,安全性和性能不必是一个折衷,将硬件隔离的安全性与容器的性能可以兼得。

hyper runV优先于技术无关支持许多不同的CPU架构和管理程序。

安全:提供了隔离性以达到安全,两个内核不会对击

使用Docker轻量级的容器时,最大的问题就是会碰到安全性的问题,其中几个不同的容器可以互相的进行攻击,如果把这个内核给攻掉了,其他所有容器都会崩溃。如果使用KVM等虚拟化技术,会完美解决安全性的问题,但是会影响速度。

单单就Docker来说,安全性可以概括为两点:

  1. 不会对主机造成影响

  2. 不会对其他容器造成影响

所以安全性问题90%以上可以归结为隔离性问题。而Docker的安全问题本质上就是容器技术的安全性问题,这包括共用内核问题以及Namespace还不够完善的限制:

  1. /proc、/sys等未完全隔离

  2. Top, free, iostat等命令展示的信息未隔离

  3. Root用户未隔离

  4. /dev设备未隔离

  5. 内核模块未隔离

  6. SELinux、time、syslog等所有现有Namespace之外的信息都未隔离

当然,镜像本身不安全也会导致安全性问题。

 系统架构

Kata Containers is Apache 2 licensed software consisting of six components: Agent, Runtime, Proxy, Shim, Kernel and packaging of QEMU 2.11. It is designed to be architecture agnostic, run on multiple hypervisors and plug seamlessly into the containers ecosystem.

Kata Containers Integration with Kubernetes

docker 默认使用 runC 创建容器,所以可以在kata container可以在docker container外面再包一层VM,实现安全性。

k8s 为pods创建服务的传统方法是采用docker创建容器,由容器提供pods服务,但现在可以通过kata container创建VM,在VM中再创建pods服务,更安全。pods是一个或多个container。

学习资料:https://github.com/kata-containers/documentation

Katacontainers 与 Docker 或者 Kubernetes 进行集成: https://lingxiankong.github.io/2018-07-20-katacontainer-docker-k8s.html

hypervisor指的是一个大概念,硬件虚拟化,包括各种虚拟化方案。虚拟化有哪些分类?

Kata Container 介绍的更多相关文章

  1. 华为云对Kubernetes在Serverless Container产品落地中的实践经验

    华为云容器实例服务,它基于 Kubernetes 打造,对最终用户直接提供 K8S 的 API.正如前面所说,它最大的优点是用户可以围绕 K8S 直接定义运行应用. 这里值得一提是,我们采用了全物理机 ...

  2. windows container 踩坑记

    windows container 踩坑记 Intro 我们有一些服务是 dotnet framework 的,不能直接跑在 docker linux container 下面,最近一直在折腾把它部署 ...

  3. docker入门1-docker container

    image和container介绍 一个image是一个可被docker执行的包,它包括程序运行的所有东西,包括代码,运行时,库,环境变量和配置文件. 一个container是image在内存中的运行 ...

  4. 详解华为云基因容器服务GCS

    基因测序,作为“下一个能够改变世界”的技术,已经由实验室研究演变到临床使用,为人类预测罹患多种疾病的可能性,提前预防和治疗疾病提供了一套可靠的方法和手段.而基于基因测序在预防和治疗疾病方面的准确和可靠 ...

  5. CRI 与 ShimV2:一种 Kubernetes 集成容器运行时的新思路

    摘要: 关于 Kubernetes 接口化设计.CRI.容器运行时.shimv2.RuntimeClass 等关键技术特性的设计与实现.     Kubernetes 项目目前的重点发展方向,是为开发 ...

  6. 产品对话 | 愿云原生不再只有Kubernete

    从2013年,云原生(Cloud Native)的概念由 Pivotal 的 MattStine 首次提出,到现在,其技术细节不断得到社区的完善.云原生逐渐演变出包括 DevOps.持续交付.微服务. ...

  7. Caliburn Micro框架

    Caliburn Micro框架快速上手(WP)   一.使用nuget添加起始工程 二.修改App.xaml文件和App.xaml.cs文件 AppBootstrapper介绍: AppBootst ...

  8. Caliburn Micro框架快速上手(WP)

    一.使用nuget添加起始工程         二.修改App.xaml文件和App.xaml.cs文件     AppBootstrapper介绍: AppBootstrapper根据中文的直译可以 ...

  9. Docker基础原理

    前言 Docker是一个开源的软件项目,让用户程序部署在一个相对隔离的环境运行,借此在Linux操作系统上提供一层额外的抽象,以及操作系统层虚拟化的自动管理机制.需要额外指出的是,Docker并不等于 ...

随机推荐

  1. [spring cloud feign] [bug] 使用对象传输get请求参数

    前言 最近在研究 srping cloud feign ,遇到了一个问题,就是当 get 请求 的参数使用对象接收时,就会进入熔断返回.经过百度,发现网上大部分的解决方案都是将请求参数封装到Reque ...

  2. [design pattern](2) Observer

    前言 在上一个博客中我们介绍了Strategy模式,它是行为型模式麾下的一员大将.那么本博客我们来学习一下行为型模式麾下的另一员大将Observer模式. 思考题 老套路,先来思考下面的问题: 问题: ...

  3. The MEAN stack is a modern replacement for the LAMP (Linux, Apache, MySQL, PHP/Python) stack

    w https://www.mongodb.com/blog/post/building-your-first-application-mongodb-creating-rest-api-using- ...

  4. JS-Array.prototype 中的方法的坑

    fill() 今天刷 HackerRank 的题遇到需要创建链表数组(一维数组的每一项是个链表)的题. 众所周知 JS 中的数组可以当链表用,我就用如下代码进行创建 let seqs = (new A ...

  5. Emmet - 自动补全 JSX

    VSCode 中设置"emmet.syntaxProfiles": {"javascript": "jsx"} reactjs - JSX ...

  6. day63—JavaScript浏览器对象cookie

    转行学开发,代码100天——2018-05-18 今天的主要学内容时JavaScript中浏览器对象——cookie. cookie用于存储web页面的用户信息,其存储容量很小,一般几k左右.如常见的 ...

  7. 测开之路八十七:HTML之a标签的用法

    初始化的HTML结构为,只需要在body里面加网页的标签和要显示的内容即可 <!DOCTYPE html><html lang="en"><head& ...

  8. 小白学数据分析--留存率分析_I次日留存率突然下降了50%

    小白学数据分析--留存率分析_I次日留存率突然下降了50% 最近在做留存分析时,遇到了不少的情况,也经常会有人问我,为什么我的游戏突然次日留存率降了一半.如果留存率是单单作为一个简单的指标的话,那对你 ...

  9. maximize_window()最大化浏览器和刷新当前页面refresh()

    from selenium import webdriverdriver = webdriver.Firefox()driver.get("https://www.baidu.com&quo ...

  10. 【ABAP系列】SAP ABAP 仓库库存-物料拆分的算法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 仓库库存-物料 ...