我至今在两家公司工作过,第一家是华为,第二家是蚂蚁金服。在两家待的时间都足够长了,谈谈对两家公司软件质量控制的一点感悟。 用一句话来对比两家的软件质量的话,我称为“椰子型”和“苹果型”。两家公司基本可以代表传统软件公司与互联网公司的不同的质量管理标准。 椰子型 华为擅长做“椰子型”软件,外壳坚硬无比,内部一包水。 华为的研发流程是很早就花大价钱从IBM引入的IPD研发流程,大致分为几个流程(参考): Charter(立项) --> TR1/2/3 --> PDCP(中期) --> TR4/5 --> EDCP(结项) 一个项目周期基本上是一年,PDCP之前是项目的设计和PoC阶段,可以改方案和设计,PDCP之后就不允许修改设计了 …
阅读更多CVE-2019-5736是一个比较知名的runc漏洞,利用方式简单,危害很大,经常被拿来做云原生安全的攻击/防御演示。 我最近也研究了下这个漏洞的使用,研究的第一步首先是复现。 尝试了github上的示例: https://github.com/Frichetten/CVE-2019-5736-PoC , 这里对源码做了一些修改,在下面分享一下。 注意:ubuntu上安装的docker 18.06似乎已经打上了补丁,我手动编译了runc的1.0.0-rc5版本才成功复现。 复现方式: 在一个terminal里面: …
阅读更多本文介绍如何使用kubeadm安装一个简单的包含三个节点的集群。 测试环境 三台VM,分别为test-vm, test-vm-1, test-vm-2,系统是ubuntu 19.04 下载 kubernetes的安装包,官方文档用apt get的方式,由于国内被墙了没法get到,可以直接从github上下载release包。把kubeadm,kubelet, kubectl装好就够了。docker当然也要装好。 具体的安装步骤暂时略过。 配置kubelet 三台节点可以手动配置一下kubelet服务,配置方法都是一样的: 1# cat > /lib/systemd/system/kubelet.service << EOF …
阅读更多- TUF 1.1 背景 TUF是Tor项目设计出的一套安全分发软件更新的框架,Notary是TUF框架的go语言实现,而Docker Content Trust是TUF框架的应用。理清三者关系有助于后续理解。 1.2 TUF的角色 TUF框架包含五类角色,对应五把密钥,分别是Root, Target, Snapshot, Timestamp, Delegated target(可选),每个角色对应一个元数据文件及一把密钥。 TUF角色和密钥的理解与Notary介绍有重合,可以参考 "2.3 Notary的密钥管理" 1.2 TUF的工作流 TUF框架的定义在这里 …
阅读更多本文介绍下如何创建kata的k8s集群, kata项目链接:https://github.com/kata-containers kata是什么不介绍了,能看到这篇文章的相信对kata都已经有一定了解了。 本文参考了官方的安装说明: https://github.com/kata-containers/documentation/blob/master/how-to/how-to-use-k8s-with-cri-containerd-and-kata.md 实际上仅仅安装没有什么好讲的,文档里讲的很清楚了。但是在我们恶劣的大网络环境下,就变得有点技巧了。 以下为正文 安装环境 Virtual Machine: OS: Ubuntu …
阅读更多通过自己制作initramfs可以使用qemu启动自定义的内核, 可以用于调试或测试。这里记录一下制作简单的initramfs的脚本, 方便后续使用。 本文参考了链接:Building a minimal Linux / Busybox OS for Qemu 完整脚本如下: 1#!/bin/bash 2set -e 3 4CWD=
pwd5BUSYBOX_FILE=busybox-1.28.1 6BUSYBOX_SRC=/tmp/busybox 7BUSYBOX_BUILD=/tmp/busybox-build 8INITRAMFS_DIR=/tmp/initramfs 9 10mkdir -p $BUSYBOX_SRC …
阅读更多最近在51cto举办的meetup上做了关于Kata Containers的演讲, KataContainers是github上的新项目,前身是Intel的clear container和Hyper的runv, 融合了普通容器的轻快和虚拟机的高隔离高安全性的优点。 详细可以直接参观Kata Containers的github主页: https://github.com/kata-containers/runtime 演讲的链接传送门:http://developer.huawei.com/ict/forum/thread-48823.html 完整的演讲ppt可以在此处下载: Kata介绍与Huawei_iSula安全容器-张伟 …
阅读更多- 简介 containerd是与docker直接沟通的下属组件,详细是什么不说了。 每个docker daemon启动的时候都会启动一个containerd daemon,启动容器的时候, 每个容器的init进程/exec进程都会对应一个containerd-shim进程, containerd-shim同样是containerd库里面单独的一个二进制程序, containerd-shim会调用runc最终启动容器。 这些基本的知识一笔带过不详细展开。 随着docker改名为moby,docker的大部分功能,比如image管理,容器运行都会下沉到containerd, docker会越来越侧重于编排调度部分--swarm。 简 …
阅读更多