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