去 Docker、超越 Kubernetes,又一创新容器编排技术出现

2023-12-28 15:51:55 浏览数 (1)

作者 | Sambodhi

策划 | Tina

在云计算不断演进的领域中,容器编排技术已经成为至关重要的一环。Fly.io,一个以在虚拟机上运行容器而闻名的平台,最近迈出了一项大胆的举措,推出了 Fly Kubernetes(FKS)。这一动作不仅让开发者能够充分发挥 Kubernetes 工具的威力,同时也呈现了一种独特的容器部署和编排方式。

Fly.io:超越 Docker, 超越 Kubernetes

在以 Docker 主导的世界中,Fly.io 对容器部署的方法独具特色。该平台在没有使用 Docker 本身的情况下运行 Docker 容器,这是出于对 Docker 隔离性不足以满足高密度多租户服务器的担忧。相反,Fly.io 利用亚马逊云科技赞助的 Firecracker 部署微型虚拟机(VM),这是亚马逊云科技为 Lambda 和 Fargate 无服务器平台开发的项目。

尽管 Fly.io 有意选择不在 Kubernetes 上构建其平台,但客户的需求导致了 Fly Kubernetes 的诞生。这一创新使开发者能够在 Fly.io 平台上部署应用程序时利用 Kubernetes 工具,为传统的容器编排提供了引人注目的替代方案。

Fly Kubernetes 架构和优势

Fly Kubernetes 是两个关键组件的融合:K3s,一个专为物联网和边缘计算设计的轻量级 Kubernetes,以及 Virtual Kubelet,一种技术,支持在不同提供商上运行 pod 的 Kubernetes 节点,包括亚马逊云科技 Fargate 和 Azure Container Instances。

在底层,FKS 充分发挥了 K3s 的能力,这是一个精简实现的 Kubernetes,可以适应单个二进制文件。由于 K3s 巧妙地使用 kine(一种用数据库如 SQLite 替代 etcd 的 API 假扮),它可以在单个服务器上运行而无需分布式状态,为传统的 Kubernetes 部署提供了简化的替代方案。

Virtual Kubelet 扮演着关键的角色,假装是一个主机,将自己注册到 Kubernetes 并代理 Kubelet API 到 Fly Machines。这些技术的整合使得 Fly Kubernetes 能够在 Fly.io 平台上提供一个 Kubernetes 接口。

尽管最初对 Kubernetes 平台存在抵制,但 Fly.io 承认 Fly Kubernetes 相对于 Fly.io 应用程序的 CLI 工具和配置文件(flyctl 和 fly.toml)带来了独特的优势。

与传统方法相比,Fly Kubernetes 提供了更为声明式的部署模型。开发者可以定义其应用程序的确切状态,包括副本计数、自动缩放规则和卷定义。Kubernetes 会自动确保部署的应用程序与期望的状态相匹配,提高了系统的整体稳定性。

Fly.io 的全球编排基于市场系统,挑战了 Borg、Kubernetes 和 Nomad 等其他编排器使用的传统一致性方法。这个基于市场系统的方式不仅更为迅速,而且更为简单,解决了可伸缩性和分布式一致性的挑战。

挑战与未来发展

尽管 Fly Kubernetes 在 Fly.io 平台上引入了一种新颖的容器编排方式,但它也面临一系列的挑战和限制。该平台明确表示,Fly Kubernetes 不会提供与完整的 Kubernetes 部署相同的广泛功能。然而,解决方案的简洁性被视为一种优势,希望随着时间的推移能够不断发展和改进。

Fly.io 表达了继续根据用户反馈和不断发展的 Kubernetes 工具的承诺,持续开发和完善 Fly Kubernetes。虽然基于市场的编排策略是非传统的,但它打开了一系列可能性的大门,有望重新定义我们在云中进行容器编排的方式。

结 语

在充满活力的容器编排领域,Fly Kubernetes 显现为一种独特且有前景的解决方案,为开发者在 Fly.io 平台上提供了一个 Kubernetes 接口。通过结合 K3s 和 Virtual Kubelet,Fly.io 创建了一种简化且声明式的容器部署方法,解决了传统编排器带来的挑战。

随着 Fly Kubernetes 进入早期访问预览阶段,渴望探索 Kubernetes 和 Fly.io 交集的开发者可以申请访问这一创新解决方案。重新定义容器编排的旅程仍在继续,而 Fly Kubernetes 毫无疑问是这个不断发展故事中引人注目的一章。

参考资料:

Introducing Fly Kubernetes(https://fly.io/blog/fks/)

Virtual Kubernetes lands on the Fly.io platform but there are compromises(https://devclass.com/2023/12/19/virtual-kubernetes-lands-on-the-fly-io-platform-but-there-are-compromises/)

声明:本文为 InfoQ 原创文章,未经许可禁止转载。

0 人点赞