如何理解Deployment

89次阅读
没有评论

共计 1049 个字符,预计需要花费 3 分钟才能阅读完成。

今天就跟大家聊聊有关如何理解 Deployment,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Deployment 是继 ReplicationController 和 ReplicaSet 之后推出的更高级的控制器,它通过 Deployment 对象来声明 Pod 的期望状态,这些状态包括 Pod 的副本数和 Pod 的模版等,运行于 kube-controller-manager 组件中的 Deployment Controller(Deployment 控制器)时刻监控 Deployment 对象的变化,并根据 Deployment 对象中的配置来调整 Pod,最终保证 Pod 以期望的形态在运行。

配置格式

我们先看一个简单的 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.19.0

metadata.name:指定 Deployment 的名称;

spec.replicas:指定期望的副本数;

spec.selector:指定查找 Pod 的标签;

spec.template:指定 Pod 的模板,当 Deployment 控制器需要创建 Pod 时会根据此模版创建 Pod。

上面这份 Deployment 配置和之前介绍的 ReplicaSet 非常类似,主要也是声明 Pod 的副本数以及 Pod 的模版,将该配置提交给 kube-apiserver 后,运行于 kube-controller-manager 组件中的 Deployment Controller 也会创建 3 个 Pod 副本,这个行为跟 ReplicaSet 还是一样,但 Deployment 更强大的功能体现在配置发生变化时的行为,比如修改配置中 Pod 模板中的镜像版本,Deployment Controller 会自动地创建新的 Pod 来运行新镜像并逐步删除旧的 Pod,从而达到自动升级的目的。

看完上述内容,你们对如何理解 Deployment 有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-17发表,共计1049字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)