前言:上一篇介绍基于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节点提供服务,释放了资源

k8s学习笔记(2)- Rancher2.x部署springboot应用及高可用、扩容的更多相关文章

  1. 【k8s学习笔记】使用 kubeadm 部署 v1.18.5 版本 Kubernetes集群

    说明 本文系搭建kubernetes v1.18.5 集群笔记,使用三台虚拟机作为 CentOS 测试机,安装kubeadm.kubelet.kubectl均使用yum安装,网络组件选用的是 flan ...

  2. k8s学习笔记一(搭建&部署helloworld应用)

    kubernetes 目录 kubernetes 虚拟机创建三个节点 k8s install 部署hello world 应用 issue 汇总 node 一直处理NotReady状态 重启系统后虚拟 ...

  3. hadoop学习笔记(八):hadoop2.x的高可用环境搭建

    本文原创,转载请注明作者及原文链接 高可用集群的搭建: 几个集群的启动顺序问题: 1.先启动zookeeper --->zkServer.sh start 2.启动journalNodes集群  ...

  4. hadoop学习笔记(七):hadoop2.x的高可用HA(high avaliable)和联邦F(Federation)

    Hadoop介绍——HA与联邦 0.1682019.06.04 13:30:55字数 820阅读 138 Hadoop 1.0中HDFS和MapReduce在高可用.扩展性等方面存在问题: –HDFS ...

  5. 【K8s学习笔记】K8s是如何部署应用的?

    本文内容 本文致力于介绍K8s一些基础概念与串联部署应用的主体流程,使用Minikube实操 基础架构概念回顾 温故而知新,上一节[K8S学习笔记]初识K8S 及架构组件 我们学习了K8s的发展历史. ...

  6. golang学习笔记9 beego nginx 部署 nginx 反向代理 golang web

    golang学习笔记9 beego nginx 部署 nginx 反向代理 golang web Nginx 部署 - beego: 简约 & 强大并存的 Go 应用框架https://bee ...

  7. ASP.NET Core on K8S学习初探(3)部署API到K8S

    在上一篇<基本概念快速一览>中,我们把基本的一些概念快速地简单地不求甚解地过了一下,本篇开始我们会将ASP.NET Core WebAPI部署到K8S,从而结束初探的旅程. Section ...

  8. Quartz学习笔记:集群部署&高可用

    Quartz学习笔记:集群部署&高可用 集群部署 一个Quartz集群中的每个节点是一个独立的Quartz应用,它又管理着其他的节点.这就意味着你必须对每个节点分别启动或停止.Quartz集群 ...

  9. 部署kubernetes1.8.3高可用集群

    Kubernetes作为容器应用的管理平台,通过对pod的运行状态进行监控,并且根据主机或容器失效的状态将新的pod调度到其他node上,实现了应用层的高可用. 针对kubernetes集群,高可用性 ...

随机推荐

  1. vue 引用省市区三级联动(element-ui Cascader)

    npm 下载 npm install element-china-area-data -S main.js import {provinceAndCityData,regionData,provinc ...

  2. 【曹工杂谈】Maven和Tomcat能有啥联系呢,都穿打补丁的衣服吗

    Maven和Tomcat能有啥联系呢,都穿打补丁的衣服吗 前奏 我们上篇文章,跟大家说了下,怎么调试maven插件的代码,注意,是插件的代码.插件,是要让主框架来执行的,主框架是谁呢,就是maven ...

  3. 从源码角度分析 MyBatis 工作原理

    一.MyBatis 完整示例 这里,我将以一个入门级的示例来演示 MyBatis 是如何工作的. 注:本文后面章节中的原理.源码部分也将基于这个示例来进行讲解.完整示例源码地址 1.1. 数据库准备 ...

  4. noip模拟37

    \(\color{white}{\mathbb{燕子来时青尚在,木荫遥看杏花菲,名之以:杏红}}\) 考场发现 \(t2\) 基本上是原题,\(t3\) 的套路见过,\(t4\) 像是并查集之类的算法 ...

  5. linux中花括弧大括号用法

    {1,3,5}   ==  1 3 5 {1..5}   ==  1  2  3  4  5 {a..e}  ==  a b c d e {A..z} {1..50..2} {1..50..3} {1 ...

  6. IIS中配置WCF站点

    http://msdn.microsoft.com/zh-cn/library/aa751852.aspx http://blog.csdn.net/hsg77/article/details/389 ...

  7. C++吃金币小游戏

    上图: 游戏规则:按A,D键向左和向右移动小棍子,$表示金币,0表示炸弹,吃到金币+10分,吃到炸弹就GAME OVER. 大体思路和打字游戏相同,都是使用数组,refresh和run函数进行,做了一 ...

  8. SpringAOP-动态代理,日志注入

    SpringAOP 前言: 1.AOP定义? 用来干啥的? 怎么用?(怎么跑通它的思路) 代理模式 为啥要学代理模式? -- 因为是SpringAop的底层 原有的代码不敢动,一动就是Bug,.所以使 ...

  9. Django学习day04随堂笔记

    每日测验 """ 今日考题 1.列举你知道的orm数据的增删改查方法 2.表关系如何判定,django orm中如何建立表关系,有什么特点和注意事项 3.请画出完整的dj ...

  10. php保留2位小数方法

    $num = 10.4567; //第一种:利用round()对浮点数进行四舍五入 echo round($num,2); //10.46 //第二种:利用sprintf格式化字符串 $format_ ...