我正在使用Spring SCDF部署流。此流还具有LoadBalancer。我用
激活了它spring.cloud.deployer.kubernetes.createLoadBalancer true
流 Deployer 属性。 因此,该LoadBalancer现在可以正常工作,并且为我提供了可以访问的外部IP。但是,每次重新部署流时,此IP都会更改。
我正在使用GCP,并且能够提供静态IP。在Kubernetes中,我可以像这样给入口一个静态IP:
annotations:
kubernetes.io/ingress.global-static-ip-name: "web-static-ip"
我想知道现在如何使用Spring SCDF对已部署的流执行相同的操作?
答案 0 :(得分:2)
在生产部署设置中,您需要将显式负载均衡器(LB)附加到所需的应用程序,因此可以由其他服务调用其服务,因为将有一个静态URL / IP与之交互它。即使该应用程序已滚动升级或重新部署,您也将获得可预测的URL / IP。
这是LB部署的示例:
kind: Service
apiVersion: v1
metadata:
name: FOO-lb
namespace: kafkazone
spec:
ports:
- port: 80
name: http
targetPort: 8080
selector:
FOOZ: BAR-APP
type: LoadBalancer
此部署将产生一个URL / IP。例如,假设FOO-lb
的IP地址为:10.20.30.40
。
而且,在部署流时,可以将标签选择器附加到所需的应用程序上(例如:deployer.<yourapp>.kubernetes.deploymentLabels=FOOZ: BAR-APP
),这样,到10.20.30.40
的所有传入流量都会被源自动接收。当然,您将依靠特定的IP发布数据或与之交互,并且它不会改变。