问题描述
我有一个基于Spring Cloud Netflix的微服务架构:
- business-owner-service指向运行在端口8763上的Spring Boot应用。端口转发完成,business-owner-service:80重定向到端口8763。
- customer-service指向运行在端口8766上的Spring Boot应用程序。customer-service:80-> 8766
如果我通过Spring Cloud Zuul网关调用该架构,则该架构可以正常运行,但我希望设置一个Ingress。
我的确切配置如下:
问题在于,入口处的所有后端服务都不正常,我不知道自己在做什么错。要使Ingress正常工作,我该怎么办?
编辑:根据评论,我尝试为客户服务吊舱定义readinessProbe,如下所示:
这不起作用,并且当我尝试仔细检查更新的配置时,readinessProbe不可见。我认为这是一个错误,但是我不确定如何检查探针是否已更新。
解决方法
最终,对于我来说,解决方案是运行状况检查配置,而不是readinessProbe。我更新了为入口后端服务自动创建的运行状况检查,以指向/ actuator / health。这行得通
,GKE入口控制器使用pod部署中定义的readiness probe执行运行状况检查。使用弹簧启动器按如下所示添加准备就绪探针
spec:
containers:
- name: name
readinessProbe:
httpGet:
port: 8080
path: /actuator/health
initialDelaySeconds: 10