k8s学习笔记(2)- Rancher2.x部署springboot应用及高可用、扩容
前言:上一篇介绍基于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应用及高可用、扩容的更多相关文章
- 【k8s学习笔记】使用 kubeadm 部署 v1.18.5 版本 Kubernetes集群
说明 本文系搭建kubernetes v1.18.5 集群笔记,使用三台虚拟机作为 CentOS 测试机,安装kubeadm.kubelet.kubectl均使用yum安装,网络组件选用的是 flan ...
- k8s学习笔记一(搭建&部署helloworld应用)
kubernetes 目录 kubernetes 虚拟机创建三个节点 k8s install 部署hello world 应用 issue 汇总 node 一直处理NotReady状态 重启系统后虚拟 ...
- hadoop学习笔记(八):hadoop2.x的高可用环境搭建
本文原创,转载请注明作者及原文链接 高可用集群的搭建: 几个集群的启动顺序问题: 1.先启动zookeeper --->zkServer.sh start 2.启动journalNodes集群 ...
- 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 ...
- 【K8s学习笔记】K8s是如何部署应用的?
本文内容 本文致力于介绍K8s一些基础概念与串联部署应用的主体流程,使用Minikube实操 基础架构概念回顾 温故而知新,上一节[K8S学习笔记]初识K8S 及架构组件 我们学习了K8s的发展历史. ...
- golang学习笔记9 beego nginx 部署 nginx 反向代理 golang web
golang学习笔记9 beego nginx 部署 nginx 反向代理 golang web Nginx 部署 - beego: 简约 & 强大并存的 Go 应用框架https://bee ...
- ASP.NET Core on K8S学习初探(3)部署API到K8S
在上一篇<基本概念快速一览>中,我们把基本的一些概念快速地简单地不求甚解地过了一下,本篇开始我们会将ASP.NET Core WebAPI部署到K8S,从而结束初探的旅程. Section ...
- Quartz学习笔记:集群部署&高可用
Quartz学习笔记:集群部署&高可用 集群部署 一个Quartz集群中的每个节点是一个独立的Quartz应用,它又管理着其他的节点.这就意味着你必须对每个节点分别启动或停止.Quartz集群 ...
- 部署kubernetes1.8.3高可用集群
Kubernetes作为容器应用的管理平台,通过对pod的运行状态进行监控,并且根据主机或容器失效的状态将新的pod调度到其他node上,实现了应用层的高可用. 针对kubernetes集群,高可用性 ...
随机推荐
- Java数八大据类型的拓展
public class 数据类型拓展问题 { public static void main(String[] args) { //================================= ...
- 【XSS】XSS修炼之独孤九剑
题目地址 xcao.vip/test 题目作者给出的解题思路 http://xcao.vip/test/xss/XSS修炼之独孤九剑.pdf 独孤九剑-第一式 题目 过滤了等号 =.小括号 (),要求 ...
- SpringBoot - 搭建静态资源存储服务器
目录 前言 环境 实现效果 具体实现 文件上传 配置类 上传接口 上传实现 辅助类 实体 上传测试 文件访问 配置类 项目源码 前言 记录下SpringBoot下静态资源存储服务器的搭建. 环境 wi ...
- NOIP模拟50
过分的神圣,往往比恶魔更加恶质. 前言 最大的一个收获就是不要动不动就码线段树,一定要审清楚题目之后再码!! T1 一开始理解错题了,以为答案是就是 \(\dfrac{\operatorname{le ...
- Vs code添加自定义snippet
Vs code添加自定义snippet(代码段) 前言 代码段能够帮助输入重复代码模式,在智能感知下可以帮我们快速补全代码,节省时间方便之余更利于代码格式的统一规范化. 1. Vs code代码段 ...
- javascript(1)简介
点击查看代码 ### javascript 1.JavaScript简介 javascript是一种轻量级的脚本语言,可以部署在多种环境,最常见的部署环境就是浏览器, 脚本语言: 它不具备开发操作系统 ...
- redis 主从复制详解
引言 我们之前操作 Redis 都是单机版,但是实际应用中没人使用单机版,都是搭建集群的方式.这篇文章要介绍的主从复制,是指将一台 Redis 服务器的数据,复制到其他 Redis 服务器,我们将前者 ...
- TCP超时重传、序列号、滑动窗口简介
文章目录 12 TCP:传输控制协议(初步) 12.1 引言 12.1.1 ARQ和重传 12.1.2 分组窗口和滑动窗口 12.1.3 变量窗口:流量控制和拥塞控制 12.1.4 变量窗口:设置重传 ...
- AQS快速入门
一.模板方法模式 父子类多态,父类中用一个方法调用执行所有所需要的方法: 父类: 子类: 主线程执行时候调用父类的模板方法: 二.AQS思想 sync都是独占锁,lock显示锁也是,只有读写锁是共享锁 ...
- CLR无法从COM 上下文*****转换为COM上下文*****,这种状态已持续60秒。
异常信息:CLR无法从COM 上下文0x645e18 转换为COM上下文0x645f88,这种状态已持续60秒.拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Windows 消息的 ...