Deployment 概念
用于部署无状态的服务,这个最常用的控制器。一般用于管理维护企业内部无状态的微服
务,比如 configserver、zuul、springboot。他可以管理多个副本的 Pod 实现无缝迁移、自动扩容
缩容、自动灾难恢复、一键回滚等功能。
创建一个 Deployment
kubectl create deployment nginx-sd --image=nginx:1.15.2
从文件创建:
root@k8s-master:~# cat nginx-deploy.yaml apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2020-09-19T02:41:11Z" generation: 1 labels: app: nginx name: nginx namespace: default spec: progressDeadlineSeconds: 600 replicas: 2 #副本数 revisionHistoryLimit: 10 # 历史记录保留的个数 selector: matchLabels: app: nginx strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: creationTimestamp: null labels: app: nginx spec: containers: - image: nginx:1.15.2 imagePullPolicy: IfNotPresent name: nginx resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30
root@k8s-master:~# kubectl create -f nginx-deploy.yaml
状态解析:
root@k8s-master:~# kubectl get deploy -owide NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR nginx 2/2 2 2 23h nginx nginx:1.15.2 app=nginx nginx-sd 1/1 1 1 37m nginx nginx:1.15.2 app=nginx-sd
➢NAME: Deployment 名称
➢READY:Pod 的状态,已经 Ready 的个数
➢ UP-TO-DATE:已经达到期望状态的被更新的副本数
➢ AVAILABLE:已经可以用的副本数
➢ AGE:显示应用程序运行的时间
➢ CONTAINERS:容器名称
➢IMAGES:容器的镜像
➢ SELECTOR:管理的 Pod 的标签
Deployment 的更新
更改 deployment 的镜像并记录:
要知道,你正在做的事情,对很多人都充满意义

浙公网安备 33010602011771号