kubernetes - Kubernetes 如何帮助降低托管成本?
问题描述
我试图了解这种托管和扩展的东西,比如说如果我有一个周末流量巨大的网站,至少需要 2 个 vps 来处理负载。我们可以做两件事中的任何一件
- 我们可以简单地升级到更大的 vps 计划并忘记它,这是一种低效的方式,也是一个更昂贵的选择。
- 制作 2 个 vps 并设置一个负载均衡器,让它像 kubernetes 一样处理 2 个 vps 之间的流量。
那么,如果我们仍然为第二个 vps 付费,那么 kubernetes 有什么帮助呢?Kubernetes 可以在其中部署新闻 pod 之前旋转完整的 vps 吗?
解决方案
Kubernetes 几乎可以在任何地方运行——在裸机上以及在私有云或公共云中。但是,您选择运行 Kubernetes 的位置决定了 Kubernetes 集群的可扩展性。
在 VPS 服务器上部署 Kubernetes 需要您付出更多的努力,并且与托管 Kubernetes 服务(例如:GKE、EKS和AKS )相比,集群的可扩展性较差。
一般来说,Cluster Autoscaler主要可用于托管 Kubernetes 服务(请参阅:支持的云提供商)。
集群自动扩缩器:
Cluster Autoscaler 是一个在以下条件之一为真时自动调整 Kubernetes 集群大小的工具:
- 由于资源不足,集群中存在无法运行的 Pod。
- 集群中存在长时间未充分利用的节点,它们的 pod 可以放置在其他现有节点上。
对于 VPS,您仍然可以使用Horizontal Pod Autoscaler (HPA) 和Vertical Pod Autoscaler (VPA) 来优化应用程序的资源利用率。
水平 Pod 自动缩放器:
Horizontal Pod Autoscaler 根据观察到的 CPU 利用率(或者,在自定义指标支持下,根据其他应用程序提供的指标)自动扩展复制控制器、部署、副本集或有状态集中的 Pod 数量。
垂直 Pod 自动缩放器:
Vertical Pod Autoscaler 自动调整 Kubernetes 集群中运行的 pod 请求的 CPU 和内存量。
推荐阅读
- react-native - 我不断收到 [RCTCxxBridge jsContextRef] 无法识别的选择器发送到实例 0x7f8af262f4f0' 是从 JS 线程抛出的
- python - How to find lowest value in the list using Robot Framework?
- python - 如何修复此 python 程序中的 EoF 错误?
- pdf - ImageMagick 将 svg 图转换为带有倾斜 x 轴标签的 pdf,有什么想法吗?
- mysql - 如何编写查询以根据另一列设置列的值
- node.js - 始终必须删除 node_modules 并再次重新安装软件包才能使 npm run prod 正常工作
- excel - IF 使用 VLOOKUP 的多个条件
- postgresql - 我应该使用 SELECT 还是重复唯一键错误来检查用户和/或电子邮件是否存在?
- r - 库中的错误(reshape2):没有名为“reshape2”的包
- wordpress - WordPress:get_permalink 在插件中不起作用