Application Definition & Image Build #
应用定义和镜像构建是一个广泛的类别,可以分为两个主要子组。首先是面向开发人员的工具,它们帮助将应用代码构建到容器中和(/或)Kubernetes中。其次是面向运维人员的工具,它们以标准化的方式部署应用程序。
无论您是希望加速开发环境、简化部署第三方应用,还是简化编写 Kubernetes 扩展的过程,这个类别都涵盖了许多优化 Kubernetes 开发者和运维人员体验的项目和产品。
解决的问题 #
Kubernetes 和容器化环境具有极大的灵活性和强大功能,但这种灵活性也带来了复杂性,主要表现为多个配置选项以及各种使用场景的不同需求。
开发人员在将代码容器化时需要创建可复现的镜像。运维人员需要一种标准化的方式将应用部署到容器环境中,最后,平台团队需要提供工具来简化镜像创建和应用部署,无论是自有应用还是第三方应用。
提供的帮助 #
这个领域的工具旨在解决一些开发人员或运维人员面临的挑战。在开发人员方面,有一些工具简化了扩展 Kubernetes 来构建、部署和连接应用程序的过程。许多项目和产品有助于存储或部署预打包的应用,这些工具使得运维人员能够快速部署像 NATS 或 Kafka 这样的流处理服务,或安装像 Linkerd 这样的服务网格。
开发云原生应用程序带来了全新的挑战,需要一整套多样化的工具来简化应用构建和部署。随着您在环境中解决运维和开发人员的问题,可以寻找这一类别中的工具。
技术基础 #
应用定义和构建工具涵盖了广泛的功能。从通过 KubeVirt 扩展 Kubernetes 到虚拟机,到通过 Telepresence 等工具加速应用开发,允许将开发环境移植到 Kubernetes 中。总体而言,这些工具解决的是开发人员关注的问题,如如何正确编写、打包、测试或运行自定义应用,或者是运维人员关注的问题,如如何部署和管理应用。
Helm 是这一类别中唯一一个毕业的项目,它支撑了许多应用部署模式。Helm 允许 Kubernetes 用户部署和定制许多流行的第三方应用,并已被像 Artifact Hub(一个 CNCF 沙箱项目)这样的其他项目采纳。像 Bitnami 这样的公司也提供了精心挑选的应用目录。最后,Helm 灵活,允许用户自定义应用部署,且常被组织用于内部发布。
Operator Framework 是一个孵化项目,旨在简化构建和部署 Operator 的过程。Operator 的功能与 Helm 类似,帮助部署和管理应用(您可以在这里阅读更多关于 Operator 的内容)。Cloud Native Buildpacks 是另一个孵化项目,旨在简化将应用代码构建为容器的过程。
这一领域还有很多内容,深入探索需要一个专门的章节。不过,如果您想让 Kubernetes 更加适合开发人员和运维人员,可以进一步研究这些工具。您可能会找到符合您需求的工具。
Keywords #
- Package Management - 包管理
- Charts - Charts
- Operators - Operator
Projects #
- Dapr (graduated)
- Helm (graduated)
- Artifact Hub (incubating)
- Backstage (incubating)
- Buildpacks (incubating)
- KubeVela (incubating)
- KubeVirt (incubating)
- Operator Framework (incubating)
- Carvel (sandbox)
- Devfile (sandbox)
- DevSpace (sandbox)
- ko (sandbox)
- Konveyor (sandbox)
- Krator (archived)
- KUDO (sandbox)
- Microcks (sandbox)
- Nocalhost (sandbox)
- Porter (sandbox)
- Radius (sandbox)
- Score (sandbox)
- sealer (sandbox)
- Serverless Workflow (sandbox)
- Shipwright (sandbox)
- Stacker (sandbox)
- Telepresence (sandbox)
- Visual Studio Code Kubernetes Tools (sandbox)