zoukankan      html  css  js  c++  java
  • k8s学习笔记(2)- Rancher2.x部署springboot应用及高可用、扩容

    前言:上一篇介绍基于k3s环境,使用kubectl部署springboot简单项目应用,本篇介绍基于rancher2.x部署应用程序

    1、上篇已部署一个springboot应用,我们可以通过rancher查看工作负载状态

    • 说明:我们没有通过rancher添加主机管理部署K8s集群,所以我们这里直接用rancher在k3s上操作
    • 登录rancher,查看集群工作负载
      image
    • 点击负载名称,查看负载信息
      image
    • 可以看到springboot部署在了ubuntunode2节点上,ip地址192.168.231.132,所以我们可以通过http://192.168.231.132:30000/hello访问应用
      image
    • 重启k3s服务器,3个节点,只启动其中2个,且不启动昨天做的springbootapp所部署的那台server,ubuntunode2
      image
    • 输入命令,查看pod:springbootapp的状态
        sudo kubectl describe pod/springbootapp -n default
      
      说明: -n default 命名空间 default
      image
    • 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工作负载界面
      image
    • 点击部署应用,填写参数信息,名称,镜像,命名空间,负载类型选择2个pod
      image
    • 点击启动
      image
    • 等待一段时间后,工作负载创建完成
      image

    3、创建负载均衡ingress,提供对外访问springbootapp的pod

    • 进入负载均衡界面,点击-添加规则
      image
    • 填写相关参数,域名springbootapp.com,命名空间,选择对应的服务/工作负载
      image
      image
    • 保存后,启动一个负载均衡器
      image

    4、通过域名:springbootapp.com,访问springbootapp应用的pod,由于没有DNS服务器,我们这里通过修改hosts文件,添加域名ip映射进行访问

    • 修改hosts文件,添加域名映射,ip地址可以是springbootapp部署的任一节点的ip地址
      image
    • 保存hosts文件,通过域名访问springbootapp服务
      image

    5、模拟pod挂掉,重新部署应用

    • 强制删除一个节点,rancher会重新启动一个pod,保证2个副本工作
      image
    • 系统会很快帮我们重新构建一个pod
      image
    • 如果一台机器挂掉,pod处于Terminating状态,我们可以重新部署应用,rancher会中心创建2个pod提供服务
      image
    • 点击重新部署,会出现多个pod
      image
    • 这样不会使springbootapp服务中断,待新pod创建完成之后,会剔除老的pod
      image

    6、服务扩容、缩容

    • 扩容
      在工作负载springbootapp中,点击增加pod节点
      image
      我们发现新增了一个pod节点提供服务
      image
    • 缩容
      在工作负载springbootapp中,点击减少pod节点
      image
      我们发现rancher帮我们减少了一个pod节点提供服务,释放了资源
      image
  • 相关阅读:
    RUST实践.md
    redis.md
    opencvrust.md
    aws rds can't connect to mysql server on 'xx'
    Foundation ActionScript 3.0 With Flash CS3 And Flex
    Foundation Flash Applications for Mobile Devices
    Flash Mobile Developing Android and iOS Applications
    Flash Game Development by Example
    Actionscript 3.0 迁移指南
    在SWT中非UI线程控制界面
  • 原文地址:https://www.cnblogs.com/kunwn/p/15414191.html
Copyright © 2011-2022 走看看