前言:上一篇介绍基于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. 【Office Excel】vlookup函数的反向查找实例教程,不只是正向查找,还可以反向查找,实例讲解

    VLOOKUP 反向查询 众所周知,vlookup只能从左向右查找,而不能从右至左的反向查找.为此高手们设计了一个让无数新手迷惑的公式.今天优爱酷将彻底帮同学们解开这个迷团. [例]如下图所示要求根据 ...

  2. vue 元素拖动效果

    <draggable v-model="preface" chosenClass="chosen" ghost-class="ghost&quo ...

  3. python 常用的文件操作命令

    一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件 ...

  4. [考试总结]noip模拟40

    最近真的是爆炸啊... 到现在还是有不少没改出来.... 所以先写一下 \(T1\) 的题解.... 送花 我们移动右端点,之后我们用线段树维护全局最大值. 之后还要记录上次的位置和上上次的位置. 之 ...

  5. Vue状态管理Vuex简单使用

    状态管理保存在store\index.js中,简单说明如下 import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export def ...

  6. HDU1166敌兵布阵(线段树单点更新)

    线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点.       对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b ...

  7. 洛谷P1125——笨小猴(简易模拟)

    https://www.luogu.org/problem/show?pid=1125 题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去 ...

  8. 【简单数据结构】二叉树的建立和递归遍历--洛谷 P1305

    题目描述 输入一串二叉树,用遍历前序打出. 输入格式 第一行为二叉树的节点数n.(n \leq 26n≤26) 后面n行,每一个字母为节点,后两个字母分别为其左右儿子. 空节点用*表示 输出格式 前序 ...

  9. DEM数据全国各省的裁剪与分享(30m、90m、250m、1000m)

    1.简介: 数字高程模型(Digital Elevation Model),简称DEM,是通过有限的地形高程数据实现对地面地形的数字化模拟. 这次分享的数据是全国34个省份的DEM裁剪数据,一共有6期 ...

  10. 『Python』matplotlib实现动画效果

    一般而言,在绘制复杂动画时,主要借助模块animation来完成 import numpy as np import matplotlib.pyplot as plt import matplotli ...