You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Spring Cloud Dataflow流的Kubernetes服务?

关于Spring Cloud Dataflow中Kubernetes服务的配置说明

核心结论

  • Kubernetes服务是在流部署阶段由Spring Cloud Skipper负责生成的,并非Spring Cloud Dataflow Server直接创建,也不会在流定义阶段生成(定义阶段仅完成流的逻辑编排)。
  • 可以通过spring.cloud.deployer.kubernetes.service.*前缀的属性自定义Kubernetes服务,包括实现多端口暴露需求。

具体配置方式

1. 针对单个应用配置服务属性

在部署流时,通过--properties参数为目标应用指定服务相关配置,格式为app.<应用ID>.spring.cloud.deployer.kubernetes.service.<配置项>:

多端口暴露示例

如果需要在服务中同时暴露grpc和http端口,可使用以下命令部署流:

dataflow:>stream deploy --name my-data-stream --properties "app.my-processor.spring.cloud.deployer.kubernetes.service.type=NodePort,app.my-processor.spring.cloud.deployer.kubernetes.service.ports=[grpc:9090:30090,http:8080:30080]"

其中ports属性格式为[<端口名称>:<容器端口>:<服务端口>],多个端口用逗号分隔。

2. 常用服务配置项

除端口外,还可自定义以下服务属性:

  • spring.cloud.deployer.kubernetes.service.type:指定服务类型,可选ClusterIP、NodePort、LoadBalancer
  • spring.cloud.deployer.kubernetes.service.annotations:为服务添加自定义注解,格式为key1=value1,key2=value2
  • spring.cloud.deployer.kubernetes.service.labels:为服务添加自定义标签

3. 全局默认配置(可选)

如果需要为所有流应用统一设置服务默认值,可在Skipper服务器的配置文件中添加全局属性:

spring:
  cloud:
    deployer:
      kubernetes:
        service:
          type: ClusterIP
          ports: [http:8080:8080]

注意:全局配置会被应用级的自定义配置覆盖。

补充说明

  • Skipper在部署应用的Deployment资源时,会自动关联创建对应的Service资源,两者标签保持一致,确保流量正确路由到应用Pod。
  • 当流被销毁时,Skipper会自动清理对应的Service和Deployment资源。

内容的提问来源于stack exchange,提问作者dcolazin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 12:01:04