前面我们已经完成了使用k8s部署微服务web和spring cloud后端服务的案例。在日常的项目中,我们知道前端一般是直接配置location来进行转发后端的请求,这样子前后端可以避免跨域的问题,同时可以使用一个域名进行访问即可,例如:
像上面的案例,我们就是前后端使用同一个域名进行转发即可。然后我们在回顾一下最开始配置的show-web(详情见《Kubernetes部署微服务实战(一)打包VUE项目》和《Kubernetes部署微服务实战(二)运行VUE前端》),在我们部署show-web的时候,我们配置过一个default.conf文件,示例如下:
此时我们可以看到在这里配置了一个school的location信息,里面的proxy_pass配置的是一个固定ip+端口,我们知道在kubernetes中,对于spring cloud微服务来说,我们只需要配置gateway的对外访问就可以了,然后我们会把gateway做成一个service,所以这里的话我们就需要把proxy_pass的url配置成service的信息即可。下面我们来演示下:
1)找到service
我们在前面配置gateway的时候,配置了应用路由:
然后我们在kuboard上找到对应的名称空间,点击服务选项,就可以看到这里的路由了
这里的名称为:shop-gateway的名称就是路由的名称,因端口为8060:
2)配置default.conf
接着我们就来配置下这里的default.conf,修改下location,并且把proxy_pass配置好:
这里我们之前配置的微服务是请求user,所以我们把user配置到这个location里面去。
3)打包show-web镜像
这里我们重新打包一个版本:2.2,示例如下:
#打包镜像 docker build -t a85791d9bf0b9ade/k8s-show:2.2 . #上传镜像 docker push a85791d9bf0b9ade/k8s-show:2.2
4)更新show-web
接着我们去kuboard上可视化更新show-web项目:
更新完毕之后,就是最新的show-web版本了:
接着我们可以通过p.80wz.com进行访问后端了,下面测试下:
可以看到我们已经完整的可以访问前后端项目了
到目前为止我们已经完整的演示了使用kubernetes部署前后端的项目。并且完整的进行运行。
备注:
1、对于这里我们使用p.80wz.com:31120这个带有端口进行访问的问题,一般我们会使用F5或者云上的slb负载均衡进行转发,这样子其实域名是解析到F5或者云上的SLB负载均衡的,此时就直接使用80或者443端口进行访问了,不再在域名后面带有端口进行访问了。
还没有评论,来说两句吧...