Deployment介绍 Deployment是最常用的K8S工作负载控制器(Workload Controllers),是k8s的一个抽象概念,用于更高级层次对象,部署和字管理pod Deployment 的主要功能: 管理Pod,即应用程序 具有上线部署,副本设定,滚动升级,回滚等功能。 应用场景:网站、API 微服务应用生命周期管理流程
应用程序开发出来,部署到相应的环境,版本的迭代(升级),频繁的升级产生一些问题,回滚到一个正常的版本,业务结束,下线。 应用部署: 第一步:部署镜像 kubectl create deployment web --image=nginx:1.16 --replicas=3 或者 kubectl apply -f xxx.yaml vim daemon.yaml apiVersion: apps/v1 kind: Deployment metadata: name: web-mes spec: replicas: 3 selector: matchLabels: app: web-mes template: metadata: labels: app: web-mes spec: containers: - name: web-mes image: nginx:1.16 --- apiVersion: v1 kind: Service metadata: name: web-mes spec: selector: app: web-mes ports: - port: 80 protocol: TCP targetPort: 80 type: NodePort kubectl apply -f daemon.yaml
![]()
浏览器访问:
应用升级:
直接修改daemon.yaml 把里面的镜像版本1.16 改成 1.17,然后重新应用一下daemon.yaml
![]()
重新刷新浏览器,进行验证:
kubectl describe deployment web-mes
应用实例扩容和缩容 发布失败回滚 应用下线