基于Kubernetes的developing应用程序通常涉及用于设置簇和API服务器的诱发头痛的任务。但是,随着为Kubernetes引入开发服务(无尽的欢乐!),这些任务变得更加简单,更有效。
kubernetes群集的自动初始化
最大的优点之一是它可以在开发模式下自动启动Kubernetes API服务器的能力,从而消除了手动启动群集的需求。这在开发和测试阶段特别有价值,敏捷性至关重要。该应用程序会自动配置为与Dev Services提供的API服务器通信。
易于激活和停用
由于其可配置的属性,启用和禁用Kubernetes的开发服务很简单。默认情况下启用了该工具,但可以使用属性quarkus.kubernetes-client.devservices.enabled
禁用该工具,该属性设置为false。这种灵活性使您可以根据特定的项目要求定制环境。
群集共享
Kubernetes的开发服务提供了一种服务发现机制,该机制允许在开发模式下进行多个Quarkus应用程序共享一个Kubernetes群集。这在需要在不同应用程序之间优化和共享资源的情况下特别有用。在开发模式下默认启用了共享机制,并且可以使用属性quarkus.kubernetes-client.devservices.shared=false
停用。
要启用多个共享群集,您可以用群集的特定名称配置属性quarkus.kubernetes-client.devservices.service-name
。这样可以确保开发服务找到所需的群集或在必要时创建新的集群。默认服务名称为“ kubernetes”。
灵活的集群配置
Kubernetes的Dev Services提供了Kubernetes群集的三种不同的“风味”,每个群集都支持Kubernetes API的不同版本。这使您可以选择适合项目的最合适的配置。通过属性quarkus.kubernetes-client.devservices.flavor
和quarkus.kubernetes-client.devservices.api-version
,您可以配置群集风味和API版本。
例如,要仅启动kubernetes api服务器,您可以将api api-lyly与属性quarkus.kubernetes-client.devservices.flavor=api-only
一起使用。如果需要更完整的群集可以运行豆荚,则可以选择像K3或类型的口味。请记住,这些口味需要在Docker特权模式下运行。
总而言之,Kubernetes的开发服务提供了一些重要的优势,以简化基于Kubernetes的应用程序的开发。从自动群集初始化到灵活的环境配置,该工具有助于开发敏捷性和效率。将这一经验带给您的团队并增强您的工作过程。
Luis de Llamas