公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。
在过去的几年中,Kubernetes
在生产环境中被广泛使用,它通过其声明式 API 提供了大量解决方案,用于编排容器。
Kubernetes
的一个显著特性是其具有弹性的能力,能够执行滚动更新和回滚部署,而能够完成这些滚动更新和回滚,主要是由Deployment
来实现的,下面就讲解下Deployment
的相关知识
Deployment
Deployment
是 Kubernetes 中处理工作负载(应用程序)的机制之一。它由 Kubernetes的Deployment Controller
管理.。
在 Kubernetes 中,控制器是一个控制环,它负责观察集群的状态,然后根据需要做出或请求做出更改。每个控制器都试图让当前集群状态更接近所需的状态。
在这里的部署中,我们希望实现的状态其实是 pod 的状态,在 K8s 中一切都是声明式的,因此所需的状态会作为规范写入部署清单文件中。
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:</