Kubernetes 笔记 11 Pod 扩容与缩容 双十一前后的忙碌

本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫。

Hi,大家好,欢迎大家和我一起学 K8S,这是系列第 11 篇。

资源的伸缩在云计算环境中是至关重要的,云计算的动机就是企图提高资源的利用率,在用户请求高峰期的时候能够对资源进行横向扩容,反之,当用户请求回落低谷的时候,能够及时缩减资源,避免资源的浪费。

这就像双十一的时候,随着用户不断地涌入,阿里后台需要不断调配更多的资源来支撑用户大量的请求,当过了双十一当天,再慢慢缩减资源的使用。

Kubernetes 作为一个集群管理系统,提供了两种资源伸缩的方式:手动和自动。本文先来看手动方式。

Kubernetes 的资源伸缩本质上指的是 Pod 的扩容和缩容(scale up/down),也就是增加或减少 Pod 的副本数。

手动的方式是使用 kubectl scale 命令手动进行,或者基于 YAML 配置来实现。

首先,定义一个 nginx-deployment.yaml 配置文件:

Copy
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 3 template: metadata: labels: app: web_server spec: containers: - name: nginx image: nginx:1.12.1

其中定义了 3 个副本,执行 kubectl create -f nginx-deployment.yaml 创建 Pod。

如果现在遇到高峰请求,我们急需进行扩容,执行

Copy
kubectl scale deployment nginx-deployment --replicas 5

将 Pod 扩增到 5 个。

其中,用 --replicas 来指示增缩的数量,对于缩容,将 --replicas 设置为比当前 Pod 副本数量更小的数字即可,比如缩容到 2 个如下:

可以看到,Pod 销毁会经历一个 Terminating 的过程,最终 3 个副本被删除,只保留了 2 个副本。

以上是通过命令的形式来实现手动的扩容和缩容,我们也可以修改 YAML 配置文件中的 replicas 来实现,只要修改完之后执行 kubectl apply 即可。

OK,本文到此为止,下文我们再来 Pod 伸缩的另一种方式——自动扩容和缩容。


我的公众号 「Linux云计算网络」(id: cloud_dev) ,号内有 10T 书籍和视频资源,后台回复 「1024」 即可领取,分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、工具、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。

posted @   bakari  阅读(2110)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示

"感谢您的支持,我会继续努力"