Kubic 简介
2018年3月22日 | Kubic 团队 | 无许可
欢迎来到 Kubic 项目的网页和首篇博客文章。 本文旨在为对我们所做工作感兴趣的任何人提供 Kubic 的基本介绍。
Kubic 是什么?
Kubic 项目是更广泛的 openSUSE 项目的一个子项目。
我们专注于围绕容器的新兴技术。 我们正在探索、开发、调整和集成这些技术,帮助将其带入 openSUSE 的世界,并帮助直接在其各自的上游项目中改进它们。
这些技术中的许多也作为 SUSE 的 CaaS 平台产品的上游。
为什么?
简单来说,因为这些技术很有趣。
但试图认真一点,容器、微服务和替代应用程序交付方法正在进行的趋势具有颠覆性,并正在改变人们的期望。 与复杂的手动设置相比,越来越多的应用程序和服务只需简单的“拉取”即可获得,这改变了用户对操作系统和周围工具的需求和期望。
Kubic 项目旨在站在这些趋势的前沿,将这些新概念的最佳实践带到 openSUSE,同时帮助调整 openSUSE 以最好地支持这些新技术。
我们正在做什么?
截至 2018 年 3 月,我们目前正在致力于
- 事务性更新
- MicroOS
- Tumbleweed Kubic
- Velum
- 替代容器运行时 (CRI-O, Podman)
- 无 root 容器
由于容器世界发展非常迅速,此列表肯定会不完整且不准确,供未来的读者参考,但下面是每个项目的简要概述,以了解我们正在做什么。
事务性更新
transactional-update 是一个命令行工具,为 openSUSE 和 SUSE 发行版带来原子更新。
它利用我们在 btrfs、zypper 和 snapper 方面的长期经验,更新系统而不会触碰正在运行的系统。
所有软件包更新都作为 btrfs 快照中的单个操作来准备。 在下次重新启动之前,不会使用此快照。
如果更新出现任何问题,可以通过丢弃此事务快照并再次重新启动立即回滚,从而立即将系统恢复到其工作状态。
当与只读根文件系统结合使用时,用户将拥有一个健壮的运行操作系统,他们可以确信它在运行时不会以任何方式更改,并且如果更新产生意外副作用,可以自信地将其恢复到工作状态。
具有只读根文件系统的事务性更新目前默认在 Tumbleweed Kubic 中可用,并将很快作为安装选项在 openSUSE Tumbleweed 和 openSUSE Leap 15 中提供。
MicroOS
MicroOS 是 Tumbleweed Kubic 的基础系统。
它是一个 openSUSE Tumbleweed 衍生版本,旨在运行容器并针对大规模部署进行优化。
它开箱即用地包含一个只读根文件系统和完全自动化的事务性更新。 它的开发和发布与 Tumbleweed 完全对齐和测试,这意味着任何新的 Tumbleweed 版本都会自动包含对 Kubic 的 MicroOS 的更新。
MicroOS 目前可以通过在安装 Tumbleweed Kubic 时选择系统角色来安装。
未来我们还打算提供 VM 镜像。
Tumbleweed Kubic
Tumbleweed Kubic 是我们基于 MicroOS 的容器即服务平台,使用Kubernetes。
除了MicroOS 系统角色之外,Tumbleweed Kubic 当前还提供未配置集群节点角色,允许用户开始设置自己的 Kubernetes 集群。
未来 Tumbleweed Kubic 还将提供基于Velum的进一步简化和自动化的集群配置工作流程。
Velum
Velum 是我们的集群仪表板和引导工具,它将允许您
- 通过简单的 WebUI 引导 Kubernetes 集群
- 管理您的集群,包括添加和删除节点、监控故障节点等。
- 设置更新策略,以帮助定义何时以及如何希望事务性更新在您的集群中运行。
Velum 正在积极开发中,我们希望在不久的将来提供包含 Velum 的 Tumbleweed Kubic 镜像。
替代容器运行时
我们目前正在调查替代容器运行时,例如 CRI-O 及其配套工具 Podman,作为在 Kubernetes 内部和作为独立运行时运行容器的更轻量级选项。
两者今天都已在 Tumbleweed 和 Tumbleweed Kubic 中提供。
无 root 容器
这个项目由我们的团队发起(基于更大的容器社区的工作)。 想法是允许完全没有特权的普通用户使用标准化的容器运行时 (runc) 在自己的机器上创建容器。 我们还编写了 umoci,它允许没有特权(和有特权)的用户轻松操作 OCI 镜像。
目前正在进行的主要工作(以及容器社区的一些工作)是使用 TAP 实现无特权网络的能力。 这(理论上)将使我们更接近拥有无 root 的 Kubernetes 部署。 如果您对这项工作感兴趣,可以密切关注 rootlesscontaine.rs。
无 root 容器已经在所有现代 openSUSE 发行版上完美运行。
我如何参与?
最重要的是,与每个 openSUSE 项目一样,Kubic 是一个开放的社区。
我们希望您提供帮助.
我们的源代码可以在 GitHub 上找到。
如果您有兴趣帮助我们完成此处提及的任何内容,或对我们应该关注的内容有想法,请通过我们的 邮件列表或 IRC 与我们联系,您可以在 Freenode 上的 #Kubic 中找到我们。
类别: 博客
标签