前言:上一篇介绍基于k3s环境,使用kubectl部署springboot简单项目应用,本篇介绍基于rancher2.x部署应用程序
1、上篇已部署一个springboot应用,我们可以通过rancher查看工作负载状态
-
说明:我们没有通过rancher添加主机管理部署K8s集群,所以我们这里直接用rancher在k3s上操作
-
登录rancher,查看集群工作负载

-
点击负载名称,查看负载信息

-
可以看到springboot部署在了ubuntunode2节点上,ip地址192.168.231.132,所以我们可以通过http://192.168.231.132:30000/hello访问应用

-
重启k3s服务器,3个节点,只启动其中2个,且不启动昨天做的springbootapp所部署的那台server,ubuntunode2

-
输入命令,查看pod:springbootapp的状态
sudo kubectl describe pod/springbootapp -n default说明: -n default 命名空间 default

-
pod处于terminating状态,我们可以输入命令强制删除pod,重新部署
格式:
sudo kubectl delete pod 【podname】 --force --grace-period=0 -n 【命名空间】命令:
sudo kubectl delete pod spingbootapp --force --grace-period=0 -n default
2、通过rancher2.x部署应用
-
进入rancher工作负载界面

-
点击部署应用,填写参数信息,名称,镜像,命名空间,负载类型选择2个pod

-
点击启动

-
等待一段时间后,工作负载创建完成

3、创建负载均衡ingress,提供对外访问springbootapp的pod
-
进入负载均衡界面,点击-添加规则

-
填写相关参数,域名springbootapp.com,命名空间,选择对应的服务/工作负载


-
保存后,启动一个负载均衡器

4、通过域名:springbootapp.com,访问springbootapp应用的pod,由于没有DNS服务器,我们这里通过修改hosts文件,添加域名ip映射进行访问
-
修改hosts文件,添加域名映射,ip地址可以是springbootapp部署的任一节点的ip地址

-
保存hosts文件,通过域名访问springbootapp服务

5、模拟pod挂掉,重新部署应用
-
强制删除一个节点,rancher会重新启动一个pod,保证2个副本工作

-
系统会很快帮我们重新构建一个pod

-
如果一台机器挂掉,pod处于Terminating状态,我们可以重新部署应用,rancher会中心创建2个pod提供服务

-
点击重新部署,会出现多个pod

-
这样不会使springbootapp服务中断,待新pod创建完成之后,会剔除老的pod

6、服务扩容、缩容
-
扩容
在工作负载springbootapp中,点击增加pod节点

我们发现新增了一个pod节点提供服务

-
缩容
在工作负载springbootapp中,点击减少pod节点

我们发现rancher帮我们减少了一个pod节点提供服务,释放了资源
