1. 创建一个Deployment<br>
2. 编写 Deployment Spec
<b>2.1 创建Pod Template</b>;<br><font color="#f57f17">.spec.template</font> 是 .spec中唯一要求的字段。
<b>2.2 配置 Replicas</b>;<br><font color="#f57f17">.spec.replicas </font>指定期望的pod数量,默认是1
<b>2.3 设置Selector</b>;<br><font color="#f57f17"> .spec.selector </font>是可选字段,用来指定 label selector ,圈定Deployment管理的pod范围
<b>2.4 制定策略</b>;<br><font color="#f57f17">.spec.strategy</font> 指定新的Pod替换旧的Pod的策略。
<font color="#f57f17">.spec.strategy.type==Recreate</font> 时,在创建出新的Pod之前会先杀掉所有已存在的Pod。<br>
<font color="#f57f17">.spec.strategy.type==RollingUpdate</font> 时,Deployment使用rolling update 的方式更新Pod。<br>
.spec.strategy.rollingUpdate.maxUnavailable 是可选配置项,用来指定在升级过程中不可用Pod的最大数量。
.spec.strategy.rollingUpdate.maxSurge 是可选配置项,用来指定可以超过期望的Pod数量的最大个数。<br>
<b>2.5 设置Progress Deadline Seconds</b><br><font color="#f57f17"> .spec.progressDeadlineSeconds</font> 是可选配置项,用来指定在系统报告Deployment的failed progressing前可以等待的Deployment进行的秒数。
在实现了自动回滚后, deployment controller在观察到这种状态时就会自动回滚。
failed progressing类型<br>
<font color="#d32f2f">type=Progressing</font><br>
<font color="#d32f2f">Status=False</font><br>
<font color="#d32f2f">Reason=ProgressDeadlineExceeded</font><br>
<b>2.6 设置Min Ready Seconds<br></b><font color="#f57f17">.spec.minReadySeconds</font> 是一个可选配置项,<br>用来指定没有任何容器crash的Pod并被认为是可用状态的最小秒数。默认是0
<b>2.7 设置Rollback To<br></b><font color="#f57f17">.spec.rollbackTo</font> 是一个可以选配置项,用来配置Deployment回退的配置。
<font color="#f57f17">.spec.rollbackTo.revision</font> 是一个可选配置项,用来指定回退到的revision。默认是0,意味着回退到上一个revision。
<b>2.8 设置Revision History Limit<br></b><font color="#f57f17">.spec.revisionHistoryLimit</font> 是一个可选配置项,<br>用来指定可以保留的旧的ReplicaSet数量。没有设置的话默认所有旧的Replicaset或会被保留<br>设置为0则所有旧的Replicaset都会被删除
<b>2.9 设置Paused<br></b><font color="#f57f17">.spec.paused</font> 是可以可选配置项,boolean值。用来指定暂停和恢复Deployment。