关于rancher:EpinioKubernetes-的应用程序开发引擎

26次阅读

共计 2039 个字符,预计需要花费 6 分钟才能阅读完成。

王海龙,Rancher 中国社区技术经理,Linux Foundation APAC Evangelist,负责 Rancher 中国技术社区的保护和经营。领有 9 年的云计算畛域教训,经验了 OpenStack 到 Kubernetes 的技术改革,无论底层操作系统 Linux,还是虚拟化 KVM 或是 Docker 容器技术都有丰盛的运维和实践经验。

Kubernetes 已成为容器编排的事实标准,扭转了咱们的开发流程。十年前,咱们只须要将代码打包成 war/jar 包,而后启动利用即可。然而,当初面向 Kubernetes 的开发,交付的产物有可能是 Helm Chart、Workload Yaml、Dockerfile 或者容器镜像,最初由运维将这些交付物部署到 Kubernetes 集群中。

Kubernetes 的学习老本较高,它有一个平缓的学习曲线。对于没有 Kubernetes 教训的开发者,如何将利用部署到 Kubernetes 集群上是一个大挑战。这时,一个可能将源代码主动部署到 Kubernetes 集群中的工具就变得至关重要。

什么是 Epinio

Epinio 是一个由 Kubernetes 驱动的利用开发引擎,由 SUSE 推出。只有将 Epinio 增加到你的集群中,就能够创立本人的平台即服务(PaaS)解决方案,能够在其中部署应用程序,而无需本人建设基础设施。

Epinio 形象出 Kubernetes 的复杂性,因而你能够只关注编写代码自身。应用程序通过将其源代码间接推送到平台来启动,打消了简单的 CD 管道和 Kubernetes YAML 文件。最初,你能够通过一个由 ingress controller 凋谢的 URL 来拜访你的应用程序。

应用 Epinio 来运行你的应用程序,能够让你专一于业务性能逻辑,而非繁琐的配置容器和 Kubernetes 对象。Epinio 会自动识别你应用的编程语言,应用 Paketo Buildpack 构建一个适合的镜像,并在 Kubernetes 集群中启动容器。如果你曾经有了一个可用的镜像,也能够抉择应用本人的镜像。

开发人员体验 (DX) 是一个热门话题,好的工具能够加重压力、进步生产力并激励工程师专一于本人的劣势畛域,而不会被低级组件扩散注意力。更简略的应用程序部署体验能够让开发人员腾出工夫来做更有价值的工作。

总之,Epinio 能够让开发人员轻松迭代在 Kubernetes 中运行的应用程序:

  • 无需 Kubernetes 教训
  • 没有平缓的学习曲线
  • 本地设置疾速简略,零配置
  • 无需构建简单的 CD 管道或编写 YAML
    * 关注利用程序逻辑,而不是容器或 Kubernetes 细节

本文将展现如何装置 Epinio 并部署一个简略的应用程序。

先决条件

你须要有一个 Kubernetes 集群能力应用 Epinio。你能够应用 K3s、minikube、Rancher Desktop 等工具或任何托管服务(例如 Azure Kubernetes Service  或 Google Kubernetes Engine)来启动 Local 集群。

除了 Local 集群,还须要在你的环境中装置 Kubectl 和 Helm,初始化 Epinio 时须要应用这些工具。

Epinio 如何运行?

Epinio 将多个 Kubernetes 组件包装在更高级别的形象中,容许你将代码间接推送到平台。Epinio 会查看源代码,抉择适合的 buildpack 并创立 Kubernetes 对象来部署你的应用程序。

部署过程是齐全自动化的,全副由 Epinio 解决。你无需理解容器或 Kubernetes 即可启动你的应用程序。推送新代码会引发一系列操作,使你能够通过公共 URL 拜访该我的项目。

Epinio 首先压缩你的源代码,并将存档上传到在你的集群中运行的 MinIO 对象存储服务器中。而后,它通过将其组件与 Paketo Buildpack 匹配来“stages”你的应用程序。这个过程会产生一个可用于 Kubernetes 的容器镜像。

在集群中装置 Epinio 后,你能够应用 CLI 与其交互。Epinio 还带有用于管理应用程序的 Web UI。

Epinio 具体推送流程,可参考:

Epinio 如何应用

Epinio 是专门为增强开发工作流程而设计的,为开发者解决部署。它设置迅速,应用简略,从开发者的笔记本电脑到生产云的所有环境皆可实用。能够通过运行单个命令来部署新应用程序,防止了从头开始构建容器镜像和部署管道的工作。

即便 Epinio 提供了如此多的反对,但它在应用程序的运行形式上依然很灵便。与其余 PaaS 解决方案不同,你不会被锁定在某个平台中。因为 Epinio 在你本人的 Kubernetes 集群内运行,操作者能够间接与 Kubernetes 交互,以监控运行中的应用程序、优化集群性能并解决问题。Epinio 是一个面向开发者的层,为 Kubernetes 注入了更多的易用性。

Epinio 装置非常简单,应用简略的 Helm 命令即可实现装置,能够说是零配置的本地设置。而且也不须要理解 Kubernetes 的根底即可应用 Epinio cli 来部署应用程序。

正文完
 0