首页 > 其他分享 >有状态软件如何在 k8s 上快速扩容甚至自动扩容

有状态软件如何在 k8s 上快速扩容甚至自动扩容

时间:2022-12-07 09:45:21浏览次数:54  
标签:扩容 Service Kubernetes eureka 集群 Operator 软件 k8s name

概述

在传统的虚机/物理机环境里, 如果我们想要对一个有状态应用扩容, 我们需要做哪些步骤?

  1. 申请虚机/物理机
  2. 安装依赖
  3. 下载安装包
  4. 按规范配置主机名, hosts
  5. 配置网络: 包括域名, DNS, 虚 ip, 防火墙...
  6. 配置监控

今天虚机环境上出现了问题, 是因为 RabbitMQ 资源不足. 手动扩容的过程中花费了较长的时间.

但是在 K8S 上, 有状态应用的扩容就很简单, YAML 里改一下replicas副本数, 等不到 1min 就扩容完毕.

当然, 最基本的: 下镜像, 启动 pod(相当于上边的前 3 步), 就不必多提. 那么, 还有哪些因素, 让有状态应用可以在 k8s 上快速扩容甚至自动扩容呢?

原因就是这两点:

  1. peer discovery +peer discovery 的 相关实现(通过 hostname, dns, k8s api 或其他)
  2. 可观察性 + 自动伸缩

我们今天选择几个典型的有状态应用, 一一梳理下:

  1. Eureka
  2. Nacos
  3. Redis
  4. RabbitMQ
  5. Kafka
  6. TiDB

K8S 上有状态应用扩容

在 Kubernetes 上, 有状态应用快速扩容甚至自动扩容很容易. 这得益于 Kubernetes 优秀的设计以及良好的生态. Kubernetes 就像是一个云原生时代的操作系统. 它自身就具有:

  1. 自动化工具;
  2. 内部服务发现 + 负载均衡
  3. 内部 DNS
  4. 和 Prometheus 整合
  5. 统一的声明式 API
  6. 标准, 开源的生态环境.

所以, 需要扩容, 一个 yaml 搞定全部. 包括上边提到的: 下载, 安装, 存储配置, 节点发现, 加入集群, 监控配置...

Eureka 扩容

eureka

标签:扩容,Service,Kubernetes,eureka,集群,Operator,软件,k8s,name
From: https://www.cnblogs.com/east4ming/p/16962184.html

相关文章

  • 软件技术基础随笔之团队合作
    这个作业属于软件技术基础https://edu.cnblogs.com/campus/zjlg/22rjjc这个作业的目标<通过团队协作完成软件制作,增强编程和个人协作能力>团队成员<左瑞瑞>-......
  • MySQL的安装与配置,可视化软件安装,以及IDEA上的配置操作
    1.MySQL安装详细教程注意:本次安装例为随笔发布时最新的8.0.31版本教程,由于您所希望安装的版本不同可能会导致一些问题,请谅解。进入官网下载界面https://www.mysql.com......
  • 软件测试技术发展方向
    工作环境服务器(腾讯云、阿里云、百度云)操作系统(Linux--Centos、ubuntu)docker容器禅道Git/SVN被测服务器搭建MySQL、Redis、Tomcat、Nginx、JDK数据库Py......
  • ansible 清理k8s集群的node节点日志
    目录ansible清理k8s集群的node节点日志获取对应节点信息脚本删除各个节点的日志脚本ansible分发clear_docker_log.sh并做成计划任务ansible清理k8s集群的node节点日志......
  • k8s污点
    1、污点的类型介绍NoSchedule:表示k8s将不会将Pod调度到具有该污点的Node上PreferNoSchedule:表示k8s将尽量避免将Pod调度到具有该污点的Node上NoExecute:表示k8s将不......
  • 软件测试应该重点关注的测试过程,广东软件测试公司推荐
    在现代社会中,我们每个人已经离不开软件产品了。为了尽可能在竞争激烈的软件市场中取得优势地位,互联网公司都追求更好的软件质量。软件产品质量离不开软件测试这一流程,为......
  • 使用Portableapps.com Launcher制作便携软件 实例教程
    文章搜集于网络,一为分享,二为备忘。使用Portableapps.comLauncher制作便携软件:以EvernotePortable为例PortableApps.comLauncher(以下简称PAL)是PortableApps.com开发的......
  • 软件项目管理包括哪些内容?
    本文将分享:1、软件项目管理的定义;2、软件项目管理的过程步骤;3、软件项目管理的内容;4、软件项目估算与进度管理方法;5、软件开发各生命周期阶段与文档、角色间的关系;6、软......
  • ASPICE系列:正确定义验证标准,以通过下一次ASPICE过程中的软件单元验证
    前言  在基础实践2中您如何定义验证标准?有了基础实践1中定义的战略指导方针,您就可以进入下一步了。这个BP(基础实践)既适用于静态测试也适用于动态测试。预期的结果是......
  • MacFamilyTree麦克家谱V10.1中文版功能介绍&软件下载
    软件介绍发现并体验您的个人家族史,探索您的出身、您的祖先,以及您的家族如何随着时间的推移而演变。MacFamilyTree10为您提供了广泛的选项来捕捉和可视化您的家族史。使......