2021 年欧洲 KubeCon + CloudNativeCon 虚拟大会[1]赞助商文章。作者:Matt Farina,软件架构师,SUSE
容器和 Kubernetes 改变了我们操作应用程序的方式。这对于负责基础设施管理的站点可靠性工程师(SRE)和 DevOps 专业人员来说是一个福音。然而,这对许多开发和操作应用程序的人来说是有代价的。他们的经历变得更加复杂和繁琐。
如果我们把云计算或集群计算平台看作一个堆栈,那么 Kubernetes 和许多支持工具都专注于底层问题。这很好,因为这些项目为更高层次的项目提供了基础和 API。为了说明这一点,Kubernetes 资源 API 有时被比作汇编语言。它很长,而且是描述性的,可以涵盖很多情况。其他工具可以像高级编程语言一样,构建在此 API 上提供更简单的体验。
新的开源项目正在开发中,它们构建在较低层的云原生项目上,以简化流程。在这篇文章中,你将了解三个这样的项目:Rancher Desktop、Epinio 和 Kubewarden。
应用程序开发人员和操作人员在他们的桌面上做了很多工作。这意味着他们需要在本地运行 Kubernetes,并且希望它与在他们的生产环境中运行的版本相同。这些人中的许多人希望像运行桌面应用程序并选择他们需要的 Kubernetes 版本那样简单。
Rancher Desktop[2]是一个在本地计算机上提供 Kubernetes 的桌面应用程序。它还利用KIM[3]来构建、推和拉容器镜像。
Rancher Desktop 开源项目的目标是让大多数开发人员更容易地使用 Kubernetes 和容器镜像。它使用了 CNCF 的多个项目,包括[K3s、Helm 和 containerd。
你可以通过下载最新版本[4]开始使用 Rancher Desktop。
当开发人员需要花时间学习和使用 Kubernetes 时,这会占用他们开发应用程序的时间。许多开发人员想要一个简单的按钮,这样他们就可以运行他们的代码。我们有时称它为"Heroku in a box"。Kubernetes 需要简化的应用开发者体验,这使得许多组织都建立了自己的平台。
Epinio[5]是一个应用程序开发人员的平台,可以很好地与 Kubernetes 合作。一个 Kubernetes 原生的平台即服务(PaaS),它是为那些想要一个能够很好地与 Kubernetes 原生兼容并且能够在他们的台式机上使用的系统的人准备的。Epinio 的目标是让每个组织都能轻松地拥有一个满足开发人员的平台。
我们在设计 Epinio 时考虑到了 Kubernetes 运营人员和应用程序开发者。这与其他许多平台不同,这些平台将 Kubernetes 视为事后诸葛亮,或者试图将开发人员归类到操作员的工作流程中。
快速入门指南[6]提供了一些简单的步骤来尝试 Epinio。
开发人员通常需要在 Kubernetes 集群中编写和执行策略。然而,他们也想用他们(或他们的组织)所选择的编程语言来编纂政策。通过他们选择的语言,开发人员可以利用他们现有的专业知识和工具链来自信地编写策略。
Kubewarden[7]利用 WebAssembly(WASM)实现了这一点。开发人员可以用越来越多的语言编写策略,编译成 WASM,并在集群中运行。WASM 通常以将语言引入 web 应用程序而闻名。越来越多的项目利用 WASM 来实现编程语言的多样性。
安装 Kubewarden 就像安装 Helm chart 一样简单。你可以在快速入门指南[8]中了解如何安装 Kubewarden 并试用它。
在这篇文章中,我介绍了三个开源项目,旨在让应用程序开发人员和操作人员更容易地使用 Kubernetes。你可以一起使用这些项目。例如,你可以在 Rancher Desktop 中运行 Epinio 来简化本地应用程序开发。然后,你可以在另一个环境中运行 Epinio,并在应用程序就绪时将其推到那里。
随着应用程序开发人员在现有 Kubernetes 和云原生技术基础上构建更多项目,我们将看到整体体验继续改善。
Matt 是 SUSE 的软件架构师,他专注于云原生技术。他是一个作家、演讲家和开源的定期贡献者。Matt 对开发人员工具和经验、CI/CD、依赖管理,当然还有云原生技术特别感兴趣。他是 Helm 的维护者和 Kubernetes SIG 主席。在Twitter[9]或GitHub[10]上找到他。
[1]
2021 年欧洲 KubeCon + CloudNativeCon 虚拟大会: https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/
[2]
Rancher Desktop: https://rancherdesktop.io/
[3]
KIM: https://github.com/rancher/kim
[4]
下载最新版本: https://github.com/rancher-sandbox/rd/releases
[5]
Epinio: https://epinio.io/
[6]
快速入门指南: https://github.com/epinio/epinio#quick-start
[7]
Kubewarden: https://www.kubewarden.io/
[8]
快速入门指南: https://docs.kubewarden.io/quick-start.html
[9]
Twitter: https://twitter.com/mattfarina
[10]
GitHub: https://github.com/mattfarina