
云原生
文章平均质量分 94
Hack Rabbit
云计算&容器领域博主
展开
-
容器镜像详解
打开content/sha256目录下以镜像ID命名的文件,我们可以看到镜像的元数据信息(config文件内容),包括了镜像架构、操作系统 、默认配置、创建时间、历史信息和rootfs等。因此虽说这两种 ID 都表示 镜像层 hash ID,但一个是压缩的,一个是解压缩的,所以 hash 运算后不一致。tree /var/lib/docker/image/overlay2/imagedb可以查看此目录的结构。以docker镜像为例,下载的镜像文件保存在/var/lib/docker/目录下面。原创 2024-02-24 23:27:46 · 1145 阅读 · 0 评论 -
QEMU-KVM CPU虚拟化
KVM自内核2.6.20起被合入Linux,作为Linux的一个内核模块,在Linux启动时被动态加载。KVM利用了硬件辅助虚拟化的特性,能够高效的实现CPU和内存的虚拟化。实际上,KVM无法单独使用,因为它既不提供I/O设备的模拟,也不支持对整体虚拟机的状态状态进行管理。它向用户态程序(如QEMU)暴露特殊的设备文件/dev/kvm作为借口,允许用户态程序利用它来实现最为关键的CPU和内存虚拟化,但还缺少I/O虚拟化需要的设备模型(Device Module),而QEMU正好可以弥补这块功能。原创 2023-02-10 15:16:12 · 2289 阅读 · 1 评论 -
Intel Trust Domain Extensions(TDX)介绍
通过Intel TDX提供的功能,可以构造出区别于传统VM的TD(Trusted Domain)TD运行在SEAM的non-root模式下,TDX module运行在SEAM的root模式下,通过调用SEAM call可以让CPU进入SEAM root模式,并且加载TDX module。原创 2022-11-11 21:14:54 · 3403 阅读 · 0 评论 -
【云原生】机密容器介绍
数据在整个生命周期有三种状态:At-Rest(静态)、In-Transit(传输中)和 In-Use(使用中)。在这个世界上,我们不断地存储、使用和共享各种敏感数据:从信用卡数据到病历,从防火墙配置到地理位置数据。保护处于所有状态中的敏感数据比以往任何时候都更为重要。如今被广泛使用的加密技术可以用来提供数据机密性(防止未经授权的访问)和数据完整性(防止或检测未经授权的修改),但目前这些技术主要被用于保护传输中和静止状态的数据,目前对数据的第三个状态“使用中”提供安全防护的技术仍旧属于新的前沿领域。。原创 2022-11-11 12:14:54 · 2081 阅读 · 1 评论 -
cgroups的实现
每个内核的子系统如果想要挂载到cgroup系统中,必须要先拥有一个对象,通过这个对象将对子系统资源的操作函数以接口的形式进行约定,各个子系统再根据自己的需求去实现这些接口,除了这些函数指针,结构体还包括id,name,early_init等属性,分别表示该子系统在数组中的索引,子系统名称,在系统启动时是否需要尽早初始化等。除了这些,还有一个指向cgroup_root类型的root指针,cgroup_root表示一个cgroup hierarchy的根,原创 2022-11-07 17:16:07 · 764 阅读 · 0 评论 -
【云原生】安全容器 Kata Containers
出于对传统容器安全性的担忧,Intel 在 2015 年启动了它们以虚拟机为基础的容器技术:Clear Container。Clear Container 依赖 Intel VT 的硬件虚拟化技术以及高度定制的 QEMU-KVM(qemu-lite)来提供高性能的基于虚拟机的容器。在 2017 年,Clear container 项目加入了 Hyper RunV,这是一个基于 hypervisor 的 OCI 运行时,从而启动了 Kata 容器项目。转载 2022-10-24 21:14:00 · 2970 阅读 · 0 评论 -
【云原生】容器技术发展
云原生技术有利于各组织在等新型动态环境中,构建和运行的应用。云原生的代表技术包括。”聊容器技术避不开云原生,聊云原生也避不开容器技术。容器技术和云原生就是一对双螺旋体,。从2013年docker(container)技术诞生,到2015年CNCF这个云原生领域重量级联盟便成立,这不是历史的巧合而是历史的必然。作为云原生关键技术之一的容器,从2013年诞生以来一直是行业关注的焦点之一。原创 2022-10-19 16:02:13 · 850 阅读 · 0 评论 -
【容器底层技术】cgroup v2使用与测试
如果输出只有cgroup,说明内核还未挂载cgroup v2或者内核不支持cgroup v2出现了cgroup v2说明内核是支持的,可以继续接下来的操作对于使用 systemd 引导的系统,可以在引导文件的中添加如下一行,启用 v2 版本可以使用防止cgroup v1抢占所有controller,体验纯cgroup v2环境最后再进行重启,就可以使用cgroup v2了。原创 2022-10-06 15:17:36 · 6682 阅读 · 0 评论 -
【容器底层技术】 namespaces详解
namespaces是 Linux 内核的一项功能,它对内核资源进行隔离,让一组进程只能看到与自己相关的一部分资源,而另一组进程看到另一组资源, 使得处于不同 namespaces 的进程拥有独立的全局系统资源,改变一个 namespaces 中的系统资源只会影响当前 namespaces 里的进程,对其他 namespaces 中的进程没有影响。该功能通过为一组资源和进程使用相同的namespace来工作,不同的namespace会引用不同的资源, 有些资源可能存在于多个空间中,比如进程 ID、主机名、用原创 2022-07-08 14:19:00 · 1541 阅读 · 0 评论