我正在尝试将Springboot Rest Service部署到openshift @ https://manage.openshift.com/中。它显示“构建成功”还显示1个Pod正在运行。但是,当我启动路线网址时,会显示“应用程序不可用”,并显示以下详细信息,请协助:
应用程序不可用 该应用程序当前不在此端点上处理请求。它可能尚未启动或正在 还在开始。
您看到此页面的可能原因:
主机不存在。确保正确键入了主机名,并且存在与该主机名匹配的路由。
主机存在,但是 没有匹配的路径。检查是否输入了URL路径 正确,并且该路线是使用所需路径创建的。
路线和路径匹配,但所有吊舱均关闭。确保资源 通过此路由(pod,服务,部署配置等)公开 至少有一个吊舱运行。
我已经在OC控制台中验证了该服务已显示正在运行:
oc get po -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
myspringcloudapp-1-build 0/1 Completed 0 69m 10.131.2.216 ip-10-0-138-3.ec2.internal <none> <none>
myspringcloudapp-1-deploy 0/1 Completed 0 67m 10.129.8.23 ip-10-0-130-212.ec2.internal <none> <none>
myspringcloudapp-2-deploy 0/1 Completed 0 32m 10.131.8.86 ip-10-0-141-141.ec2.internal <none> <none>
myspringcloudapp-2-tb99l 1/1 Running 0 32m 10.130.6.101 ip-10-0-153-2.ec2.internal <none> <none>
oc get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
myspringcloudapp ClusterIP 172.30.229.134 <none> 8080/TCP 69m
下面是我的SpringBoot Rest服务,该服务在本地启动时正在运行。 但是,我将相同的代码移至github公共仓库(https://github.com/polireddyv/SpringExampleRepo)并尝试在openshift中进行部署。但无法启动服务网址。
package com.example.rest.webservices.restfulwebservices;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
@RestController
//@CrossOrigin(origins= {"http://localhost:4200"})
public class HelloWorldController {
@GetMapping(path="/hello-world-bean")
public HelloWorldBean getHelloWorldBean() {
return new HelloWorldBean(10, "Hello ... from REST service");
}
}