ToB企服应用市场:ToB评测及商务社交产业平台
标题:
有状态软件如何在 k8s 上快速扩容甚至自动扩容
[打印本页]
作者:
祗疼妳一个
时间:
2022-12-7 21:30
标题:
有状态软件如何在 k8s 上快速扩容甚至自动扩容
概述
在传统的虚机/物理机环境里, 如果我们想要对一个有状态应用扩容, 我们需要做哪些步骤?
申请虚机/物理机
安装依赖
下载安装包
按规范配置主机名, hosts
配置网络: 包括域名, DNS, 虚 ip, 防火墙...
配置监控
今天虚机环境上出现了问题, 是因为 RabbitMQ 资源不足. 手动扩容的过程中花费了较长的时间.
但是在 K8S 上, 有状态应用的扩容就很简单, YAML 里改一下replicas副本数, 等不到 1min 就扩容完毕.
当然, 最基本的: 下镜像, 启动 pod(相当于上边的前 3 步), 就不必多提. 那么, 还有哪些因素, 让有状态应用可以在 k8s 上快速扩容甚至自动扩容呢?
原因就是这两点:
peer discovery +peer discovery 的 相关实现(通过 hostname, dns, k8s api 或其他)
可观察性 + 自动伸缩
我们今天选择几个典型的有状态应用, 一一梳理下:
Eureka
Nacos
Redis
RabbitMQ
Kafka
TiDB
K8S 上有状态应用扩容
在 Kubernetes 上, 有状态应用快速扩容甚至自动扩容很容易. 这得益于 Kubernetes 优秀的设计以及良好的生态. Kubernetes 就像是一个云原生时代的操作系统. 它自身就具有:
自动化工具;
内部服务发现 + 负载均衡
内部 DNS
和 Prometheus 整合
统一的声明式 API
标准, 开源的生态环境.
所以, 需要扩容, 一个 yaml 搞定全部. 包括上边提到的: 下载, 安装, 存储配置, 节点发现, 加入集群, 监控配置...
Eureka 扩容
<blockquote>
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4