前面我们已经完成了整个微服务的部署,示例图如下:
我们可以看到这里每个服务都只部署了一个,也就是每个服务只启动了一个pod。那么在实际的情况下,如果是2C的场景,那么这里的部分pod不止是只启动一个,此时访问的时候就会均衡的落点到这些相同类型的pod上,所以本文的话我们演示下服务的扩容和缩容。
扩容其实就是把副本数增加到N 缩容其实就是把副本数缩减到N-m
本文的话我们演示下把前端的VUE项目进行扩容,具体的扩容比较简单,我们登录到kuboard上,进入到show-web这个负载里面:
我们可以点击左右这个方向键,向右就是扩容,向左就是缩容,下面我们试试把这个pod扩容到2:
点击之后就可以看到左侧列表新增了一个pod,稍等片刻就会启动起来了:
可以看到已经起来了。然后我们使用kubectl名称查看下:
可以看到已经启动了2个show-web的pod,接着我们访问一下:http://p.80wz.com:31120/,然后进入到pod容器查看日志,可以看到这里只有一个nginx有访问日志,另外一个nginx是没有访问日志的,示例如下:
另外一个没有日志:
这就纳闷了,为什么没有进行负载均衡呢?其实这里我们使用的是自身的service做映射,因此这里他会自动去访问service映射的端口,导致只有一个nginx有日志,其实我们使用ingress进行访问就可以了,具体的配置如下:
1)删除我们之前使用yaml创建的ingress
#查看ingress kubectl get ing #删除ingress kubectl delete ing ${ingressname}
2)编辑show-web
这里我们回到这个kuboard工作负载界面,编辑这里的show-web
这里我们进入到服务/应用路由里面:
首先我们把pod修改为ClusterIp的模式:
然后我们勾选下方的应用路由,配置一个ingress
然后路由规则配置如下:
然后我们保存,再使用这个域名进行访问,就可以看到两个pod中的nginx都有日志了:
当然这里我们缩容的话,直接点击左侧的方向键就可以了:
以上就是我们从业务的角度来看,配置前端项目的扩容和缩容,并且实现负载均衡访问的案例。
还没有评论,来说两句吧...