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 发行版带来原子更新

它利用我们在 btrfszyppersnapper 方面的长期经验,更新系统而不会触碰正在运行的系统

所有软件包更新都作为 btrfs 快照中的单个操作来准备。 在下次重新启动之前,不会使用此快照。
如果更新出现任何问题,可以通过丢弃此事务快照并再次重新启动立即回滚,从而立即将系统恢复到其工作状态。

当与只读根文件系统结合使用时,用户将拥有一个健壮的运行操作系统,他们可以确信它在运行时不会以任何方式更改,并且如果更新产生意外副作用,可以自信地将其恢复到工作状态。

具有只读根文件系统的事务性更新目前默认在 Tumbleweed Kubic 中可用,并将很快作为安装选项在 openSUSE TumbleweedopenSUSE 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 中找到我们。

类别: 博客

标签

分享这篇文章