没有合适的资源?快使用搜索试试~ 我知道了~
17 _ 经典PaaS的记忆:作业副本与水平扩展1
需积分: 0 0 下载量 98 浏览量
2022-08-04
12:54:49
上传
评论
收藏 899KB PDF 举报
温馨提示
试读
14页
17 | 经典PaaS的记忆:作业副本与水平扩展举个例子,如果你更新了 Deployment 的 Pod 模板(比如,修改了容器的镜像),那么 Deployme
资源详情
资源评论
资源推荐
2019/10/16 17 | 经典PaaS的记忆:作业副本与水平扩展
file:///C:/Users/qiaochaowen/Desktop/k8s/17%20%20%E7%BB%8F%E5%85%B8PaaS%E7%9A%84%E8%AE%B0%E5%BF%86%EF%BC%9
…
1/14
17 | 经典PaaS的记忆:作业副本与水平扩展
17 | 经典PaaS的记忆:作业副本与水
平扩展
张磊 2018-10-01
17:53
讲述:张磊 大小:8.20M
你好,我是张磊。今天我和你分享的主题是:经典 PaaS 的记忆之作业副本与水平
扩展。
在上一篇文章中,我为你详细介绍了 Kubernetes 项目中第一个重要的设计思
想:控制器模式。
而在今天这篇文章中,我就来为你详细讲解一下,Kubernetes 里第一个控制器模
式的完整实现:Deployment。
Deployment 看似简单,但实际上,它实现了 Kubernetes 项目中一个非常重要
的功能:Pod 的“水平扩展 / 收缩”(horizontal scaling out/in)。这个功能,
是从 PaaS 时代开始,一个平台级项目就必须具备的编排能力。
2019/10/16 17 | 经典PaaS的记忆:作业副本与水平扩展
file:///C:/Users/qiaochaowen/Desktop/k8s/17%20%20%E7%BB%8F%E5%85%B8PaaS%E7%9A%84%E8%AE%B0%E5%BF%86%EF%BC%9
…
2/14
举个例子,如果你更新了 Deployment 的 Pod 模板(比如,修改了容器的镜
像),那么 Deployment 就需要遵循一种叫作“滚动更新”(rolling update)
的方式,来升级现有的容器。
而这个能力的实现,依赖的是 Kubernetes 项目中的一个非常重要的概念(API 对
象):ReplicaSet。
ReplicaSet 的结构非常简单,我们可以通过这个 YAML 文件查看一下:
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: nginx-set
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
复制代码
从这个 YAML 文件中,我们可以看到,一个 ReplicaSet 对象,其实就是由副本
数目的定义和一个 Pod 模板组成的。不难发现,它的定义其实是 Deployment
的一个子集。
更重要的是,Deployment 控制器实际操纵的,正是这样的 ReplicaSet 对象,
而不是 Pod 对象。
2019/10/16 17 | 经典PaaS的记忆:作业副本与水平扩展
file:///C:/Users/qiaochaowen/Desktop/k8s/17%20%20%E7%BB%8F%E5%85%B8PaaS%E7%9A%84%E8%AE%B0%E5%BF%86%EF%BC%9
…
3/14
还记不记得我在上一篇文章《编排其实很简单:谈谈“控制器”模型》中曾经提出
过这样一个问题:对于一个 Deployment 所管理的 Pod,它的 ownerReference
是谁?
所以,这个问题的答案就是:ReplicaSet。
明白了这个原理,我再来和你一起分析一个如下所示的 Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
复制代码
可以看到,这就是一个我们常用的 nginx-deployment,它定义的 Pod 副本个数
是 3(spec.replicas=3)。
那么,在具体的实现上,这个 Deployment,与 ReplicaSet,以及 Pod 的关系是
怎样的呢?
剩余13页未读,继续阅读
高中化学孙环宇
- 粉丝: 12
- 资源: 338
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0