广告

Kubernetes必须让开发人员更轻松

  • 浏览(184)
  • 评论(0)
  • 译者:k8s

Kubernetes的主要创作者之一Joe Beda几年前在一篇关于Kubernetes的开创性论文中写道,Kubernetes很难。几年后,对于大多数组织来说,Kubernetes仍然难以管理。然而,工具和平台的出现使得开发人员在很少或根本不了解Kubernetes的情况下,可以更轻松地完成K8s的开发工作。这些解决方案还旨在帮助实现必要基础设施的运维人员完成任务,从而使开发人员能够以最少的学习曲线完成工作,开始创建在Kubernetes上运行的应用程序。

Enterprise Management Associates(EMA)分析师Torsten Volk表示:“组织将现有应用程序移动到Kubernetes容器中,无论是在将其拆分为微服务之后还是不将其拆分成微服务,都是最大的挑战。企业希望这些应用程序遵守相同的SLA,并提供与在裸金属或虚拟机上运行时相同的性能、安全性和合规性。没有一种工具可以帮DevOps、运维和安全团队完成这项任务。

最近创建的Acorn Labs就是为了这个目的而推出的。Acorn是Acorn Labs的“第一个开源项目”,介绍了一种在Kubernetes上部署应用程序的“开发者友好”方法。Acorn也被设计用来帮助解决一个典型的痛点:可怕的YAML配置。事实上,开发人员通常对构建Docker容器感到满意,但常常发现直接使用低级Kubernetes YAML文件非常困难。开发人员同样需要使用像Helm这样的工具,这些工具只是包装YAML文件。Acorn代表了一类新的工具,允许开发人员在没有任何Kubernetes知识的情况下使用更高级别的构造。

这将是一件有趣的事情。例如,有人反复学习为Kubernetes的不同版本配置YAML文件,很快就会忘记,然后每次都必须重新学习这个过程。如果Acorn Labs确实能够简化这个过程,那么这对开发人员来说是一个潜在的好处。然而,一些观察人士仍持谨慎乐观态度。Volk表示:“虽然Acorn背后的原则是只有一个工件控制开发、测试和生产环境,但仍然有很多YAML需要开发人员编写,但至少他们不必为每个云单独编写。”

对于试图与Kubernetes合作的DevOps团队来说,最大的问题之一是,开发人员、运维和安全团队成员仍然是孤立的,这并不是因为他们不打算合作,而是因为他们可能采用不同类型的工具来完成工作。Volk说,事实上,开发、测试和产品环境之间的不一致在今天仍然是一个大问题,即使在大多数标准化的Kubernetes环境中也是如此。Docker Desktop、AKS、EKS、GKE、OpenShift、Rancher或Tanzu都有自己的秘密武器,比如开发人员服务、服务网络功能、入口控制器、存储集成、灾难恢复等。Volk说:“如果Acorn能够消除这些问题,让开发人员可以定义一次部署说明,然后跨开发人员笔记本电脑、测试和产品环境工作,这肯定是一个重大进展。”

Acorn Labs的创始人表示,此类工具的另一个关键技术挑战是如何在不损害Kubernetes功能的情况下提供简单的用户体验。Acorn旨在支持多种类型的应用程序,包括Kubernetes和微服务无状态和有状态应用程序,如存储和数据库。为了描述复杂的应用程序结构,Acorn有自己的配置语言,松散地基于CUE,支持循环、条件和函数,而Acorn的范围将随着时间的推移而扩展。例如,Acorn的当前版本不支持定制资源,这是许多早期Acorn用户所要求的功能。根据GitHub上发布的计划,开发团队正在为Acorn添加自定义资源支持。

“Acorn的另一个好处是,除了便于开发人员使用之外,它还能够在使用Kubernetes时实施最佳实践,从而使应用程序更加安全可靠。一旦开发人员将其应用程序打包为Acorn镜像,这些Acorn镜像就可以放心地部署到生产环境中。”

K8奖学金

Acorn Labs项目自几周前启动以来,吸引了一些人的兴趣。Ambassador Labs开发关系负责人Daniel Bryant表示:“Acorn Labs最近发布的版本看起来非常有趣,似乎旨在填补微服务和容器技术出现的‘应用程序打包’缺口。Kubernetes等平台基础设施提供的应用程序原语对于只想编写代码并部署和运行代码的“99%开发人员”来说太低级了。”

Bryant说,尽管如此,Acorn Labs希望实现的目标并不是一个容易解决的问题。其他人也曾尝试过。例如,HashiCorp的Otto和Docker的Stacks。关键将是在云原生SDLC的编码、交付和运行的必要阶段创造良好的开发者体验。

不同的Kubernetes CI/CD平台提供商也可以相互补充。“CNCF Emissary-ingress和我们的Edge Stack API网关解决方案可以轻松打包为Acorn文件应用程序定义的一部分,因为每个人都需要获得后端服务的用户流量。”

“Acorn还可以用于打包和部署应用程序,Telepresence使开发人员能够轻松跨越本地到远程的开发和调试鸿沟。通过简单的CLI或基于web的UI,开发人员可以使用Telepresence调试本地运行的服务,该服务依赖于远程大型Acorn管理的K8s部署。”

隧道尽头的光明?

目前正在取得进展,但仍有许多工作要做。即使对于那些已经实施了正确的工具、培训和文化,让开发人员在Kubernetes上创建并快速部署优秀应用程序,并且摩擦最小的组织来说,容器化环境仍然是一个难题。

自动化威胁建模提供商ThreatModeler的首席技术官John Steven表示:Kubernetes——就像任何新的技术平台一样——将不得不进化,或者它可能会被取代(如果它在努力/好处权衡方面让工程师们失望)。曾经有段时间Docker或Heroku被认为无敌,但它们未能超越自身的局限性和复杂性。”

Steven说,事实上,就像许多技术一样,Kubernetes的致命弱点源于其实力。“Kubernetes最初是‘为谷歌来自谷歌’,以编排人性化的应用程序运维。考虑到其数据中心的局限性,组织错误地理解了他们对‘云原生基础设施灵活性’的渴望。”

原文链接:

https://thenewstack.io/kubernetes-just-has-to-get-easier-for-developers/


  • 分享到:
  • icon
  • icon
  • icon
  • icon
箭头