PouchContainer 发布 0.3.0 版本,支持 Kubernetes 拥抱 CNCF 生态

简介: PouchContainer 0.3.0 版本目前仍然是一个 pre-production 版本,其富容器、隔离等特性均有别于社区其他解决方案。目前依靠自身的独特功能特性,PouchContainer 已经在阿里巴巴内部支撑多个业务。

划重点

PouchContainer 是一款轻量级、开源的富容器技术,拥有快速高效、隔离性强、可移植性高、资源占用少等特性,可以帮助企业快速实现存量业务容器化,同时提高超大规模下数据中心的物理资源利用率
3 月 31 日,PouchContainer 发布 0.3.0 版本,撒花 该版本在 PouchContainer deamon(以下称 pouchd)功能完善、支持 Kubernetes CRI 协议和测试框架完善方面做了大量工作

pouchd:

  • 在 0.3.0 版本中,我们进一步完善了对 Moby API 接口兼容工作。在之前的版本基础上,新增了容器的 restart、top 和 resize 等功能;
  • 镜像管理方面也做了进一步的优化工作:现在已全面支持指定 image ID,digest ID 和镜像名来检索镜像信息以及创建容器;
  • pouchd 端添加 plugin 机制,插件机制允许在启动/关闭 pouchd 或创建/删除 container 之前,用户可以运行自己的定制化脚本,执行一些业务强相关的脚本。这样既保证了 pouchd 服务业务松耦合的特性,又能满足业务的一些定制化操作需求;
  • 添加 daemon/update 接口,支持修改 pouchd 标签或 image proxy 信息,该功能可以用于对 PouchContainer 宿主机做一些定制化的操作,比如通过给 pouchd 打不同的 tag 来划分宿主机资源池等等;
  • 对原有功能进一步完善,如支持创建容器时指定 oom 和 cgroup path 等配置参数。

存储:

  • 支持在创建容器时指定 rootfs 的容量大小,这样方便用户根据自己业务的不同需求,来灵活设置 rootfs 的容量大小;
  • 支持通过 bind mount 形式,将宿主机上的文件共享到容器内部;
  • 修复了数据盘 volume 正在被容器使用的情况下还能被删除的 bug。

Kubernetes CRI:

  • PouchContainer 原生支持 Kubernetes。在 0.3.0 版本中已经实现了 CRI 协议的绝大部分接口:Sanbox/Container 生命周期管理、镜像管理、网络 CNI 协议的支持以及完善 container stream 功能(exec/attach/portforward)等;
  • 通过了 90% 以上的 cri-tools 测试用例:51/55;
  • PouchContainer 目前计划先全量支持 CRI v1alpha1 版本,之后再去兼容更高版本的 CRI 协议。所以,建议使用 Kubernetes 1.9.x 版本来试用 PouchContainer 的 CRI 功能。

测试:

  • 添加了对 client 端代码的 mock 测试,大大提升了代码测试的覆盖率;
  • PouchContainer 早前版本中只包含了代码的单元测试和 API 接口的回归测试,pouchd 端的测试一直是一个测试盲区,所以在 0.3.0 版本中,我们也添加了对 pouchd 的测试框架,确保项目代码被全面「呵护」;
  • 作为一个对代码质量要求很高的项目,项目文档的质量同样需要严格把关,所以在新的版本里,我们引入了 circle ci 测试,并专门添加了对项目文档的测试。

    文档:

  • 添加了对容器 diskquota 功能的介绍文档,用户可以通过访问 PouchContainer GitHub 官方地址来了解 PouchContainer 的最新功能介绍;
  • 完善了 ci 测试指导文档,指导用户更加方便地在自己的环境里测试 PouchContainer 的代码。

其他:

  • 修复了由于日志依赖包 (logrus) 修改过包名导致经常在异构环境编译失败的问题。

PouchContainer 0.3.0 版本目前仍然是一个 pre-production 版本,其富容器、隔离等特性均有别于社区其他解决方案。目前依靠自身的独特功能特性,PouchContainer 已经在阿里巴巴内部支撑多个业务。

为帮助行业完成存量业务容器化的任务,PouchContainer 将加快迭代速度。同时,PouchContainer 在此版本中已支持 Kubernetes,拥抱 CNCF 生态。

欢迎大家通过链接 https://github.com/alibaba/pouch/blob/master/INSTALLATION.md (点击阅读原文)安装下载,也期待广大社区爱好者积极参与 PouchContainer 开源社区的共建。

Thanks New Contrbutor

  • list
相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
1月前
|
存储 Kubernetes 应用服务中间件
k8s 1.24.3版本使用nfs-provisioner4.0.0动态创建PV
k8s 1.24.3版本使用nfs-provisioner4.0.0动态创建PV
87 0
|
16天前
|
Kubernetes Shell 网络安全
Shell脚本快速部署Kubernetes(K8S v1.1版本)集群系统
Shell脚本快速部署Kubernetes(K8S v1.1版本)集群系统
|
16天前
|
Kubernetes Ubuntu Docker
Kubernetes(K8S v1.1版本) 集群管理Docker容器之部署篇
Kubernetes(K8S v1.1版本) 集群管理Docker容器之部署篇
|
1月前
|
Kubernetes 应用服务中间件 网络安全
CentOS7上二进制部署Kubernetes高可用集群(v1.18版本)
CentOS7上二进制部署Kubernetes高可用集群(v1.18版本)
140 0
|
1月前
|
Kubernetes Ubuntu 应用服务中间件
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
132 0
|
2月前
|
Kubernetes Java 测试技术
ChaosBlade常见问题之不支持v1.28.2版本的k8s如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
23 0
ChaosBlade常见问题之不支持v1.28.2版本的k8s如何解决
|
4月前
|
Kubernetes Shell Docker
K8s集群v1.26.1版本的简单部署实践
K8s集群v1.26.1版本的简单部署实践
127 0
|
5月前
|
Kubernetes 安全 Ubuntu
Kubernetes学习笔记-Part.02 Docker版本
Part.01 Kubernets与docker Part.02 Docker版本 Part.03 Kubernetes原理 Part.04 资源规划 Part.05 基础环境准备 Part.06 Docker安装 Part.07 Harbor搭建 Part.08 K8s环境安装 Part.09 K8s集群构建 Part.10 容器回退
57 0
|
5月前
|
Kubernetes Cloud Native 网络协议
云原生|kubernetes|kubernetes-1.18 二进制安装教程单master(其它的版本也基本一样)(下)
云原生|kubernetes|kubernetes-1.18 二进制安装教程单master(其它的版本也基本一样)
36 0
|
5月前
|
Kubernetes Cloud Native Linux
云原生|kubernetes|kubernetes-1.18 二进制安装教程单master(其它的版本也基本一样)(上)
云原生|kubernetes|kubernetes-1.18 二进制安装教程单master(其它的版本也基本一样)
38 0