diff --git a/.vuepress/config-sidebar.js b/.vuepress/config-sidebar.js index 7c6545a..47eb0b1 100644 --- a/.vuepress/config-sidebar.js +++ b/.vuepress/config-sidebar.js @@ -189,6 +189,7 @@ module.exports = { 'k8s-intermediate/workload/wl-deployment/pause', 'k8s-intermediate/workload/wl-deployment/status', 'k8s-intermediate/workload/wl-deployment/cleanup', + 'k8s-intermediate/workload/wl-deployment/strategy', 'k8s-intermediate/workload/wl-deployment/canary', ] }, diff --git a/learning/k8s-intermediate/workload/wl-deployment/cleanup.assets/image-20200315164731927.png b/learning/k8s-intermediate/workload/wl-deployment/cleanup.assets/image-20200315164731927.png new file mode 100644 index 0000000..4c64110 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/cleanup.assets/image-20200315164731927.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/cleanup.md b/learning/k8s-intermediate/workload/wl-deployment/cleanup.md index cb34922..e6835f8 100644 --- a/learning/k8s-intermediate/workload/wl-deployment/cleanup.md +++ b/learning/k8s-intermediate/workload/wl-deployment/cleanup.md @@ -19,18 +19,10 @@ meta: 如果该字段被设为 0,Kubernetes 将清理掉该 Deployment 的所有历史版本(revision),因此,您将无法对该 Deployment 执行回滚操作 `kubectl rollout undo`。 ::: - [返回 Deployment](./#deployment-概述) diff --git a/learning/k8s-intermediate/workload/wl-deployment/create.assets/image-20200315103300026.png b/learning/k8s-intermediate/workload/wl-deployment/create.assets/image-20200315103300026.png new file mode 100644 index 0000000..bf7d763 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/create.assets/image-20200315103300026.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/create.assets/image-20200315103827631.png b/learning/k8s-intermediate/workload/wl-deployment/create.assets/image-20200315103827631.png new file mode 100644 index 0000000..f744f35 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/create.assets/image-20200315103827631.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/create.assets/image-20200315105410219.png b/learning/k8s-intermediate/workload/wl-deployment/create.assets/image-20200315105410219.png new file mode 100644 index 0000000..abedd32 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/create.assets/image-20200315105410219.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/create.assets/image-20200315110103544.png b/learning/k8s-intermediate/workload/wl-deployment/create.assets/image-20200315110103544.png new file mode 100644 index 0000000..b7bc33c Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/create.assets/image-20200315110103544.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/create.md b/learning/k8s-intermediate/workload/wl-deployment/create.md index c29080d..be0e52a 100644 --- a/learning/k8s-intermediate/workload/wl-deployment/create.md +++ b/learning/k8s-intermediate/workload/wl-deployment/create.md @@ -15,9 +15,13 @@ meta: 本文描述了如何创建一个 Deployment,如何理解 Deployment 各个字段,以及如何查看 Deployment 的创建结果。 +> 本文同时讲述了两种创建 Deployment 的方式: +> * 使用 kubectl 创建 Deployment +> * 使用 Kuboard 创建 Deployment + - + 下面的 yaml 文件定义了一个 Deployment,该 Deployment 将创建一个有 3 个 nginx Pod 副本的 ReplicaSet(副本集): @@ -130,11 +134,54 @@ spec: pod-template-hash 标签是 Deployment 创建 ReplicaSet 时添加到 ReplicaSet 上的,ReplicaSet 进而将此标签添加到 Pod 上。这个标签用于区分 Deployment 中哪个 ReplicaSet 创建了哪些 Pod。该标签的值是 `.spec.template` 的 hash 值。 - - + -正在撰写 + + +1. 进入 Kuboard 名称空间页面,并点击页头上的 ***创建工作负载*** 按钮; + + 截图如下所示: + + ![Kubernetes-教程](./create.assets/image-20200315103827631.png) + +2. 在工作负载创建页面填写表单如下: + + | 区域 | 字段名称 | 填写内容 | 字段说明 | + | ----------------- | -------- | ------------ | ------------------------------------------------------------ | + | 基本信息 | 服务类型 | Deployment | | + | | 服务分层 | 展现层 | Kuboard 特性的字段,用于表示该工作复杂显示在名称空间的哪一个分层 | + | | 服务名称 | web-nginx | | + | | 副本数量 | 3 | | + | 容器组-->工作容器 | 容器名称 | nginx | | + | | 镜像 | nginx:1.7.9 | | + | | Ports | TCP : 80 | 容器组暴露的端口 | + + 截图如下图所示: + + ![Kubernetes-教程](./create.assets/image-20200315103300026.png) + +3. 点击保存后,可以看到 Deployment 的更新界面,如下图所示: + + + + Kuboard 在界面中显示了 ReplicaSets、Pods 的动态变化过程。 + + > 显示 ReplicaSets 的特性要求 Kuboard 版本不低于 v1.0.8 + + + + ![Kubernetes-教程](./create.assets/image-20200315105410219.png) + + ![Kubernetes-教程](./create.assets/image-20200315110103544.png) + +4. 对于每一个 Pod,Kuboard 提供了如下几个功能可以便捷的与容器内应用进行交互: + + 代理:替代 kubectl proxy 功能,可以直接访问容器内应用,参考 [KuboardProxy](/guide/proxy) + + 日志:替代 kubectl logs 功能,可以直接追踪容器内应用的日志输出; + + bash/sh:替代 kubectl exec 功能,可以直接进入容器内应用的终端; diff --git a/learning/k8s-intermediate/workload/wl-deployment/pause.assets/image-20200315161430483.png b/learning/k8s-intermediate/workload/wl-deployment/pause.assets/image-20200315161430483.png new file mode 100644 index 0000000..b1bdb99 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/pause.assets/image-20200315161430483.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/pause.assets/image-20200315161646155.png b/learning/k8s-intermediate/workload/wl-deployment/pause.assets/image-20200315161646155.png new file mode 100644 index 0000000..6223ed4 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/pause.assets/image-20200315161646155.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/pause.assets/image-20200315162152085.png b/learning/k8s-intermediate/workload/wl-deployment/pause.assets/image-20200315162152085.png new file mode 100644 index 0000000..0c69fdd Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/pause.assets/image-20200315162152085.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/pause.md b/learning/k8s-intermediate/workload/wl-deployment/pause.md index 5db9656..f7908bf 100644 --- a/learning/k8s-intermediate/workload/wl-deployment/pause.md +++ b/learning/k8s-intermediate/workload/wl-deployment/pause.md @@ -17,9 +17,13 @@ meta: 以我们在 [创建Deployment](./create.html) 中创建的 Deployment 为例。 +> 本文提供了两种途径对 Deployment 执行暂停和继续操作: +> * 使用 kubectl 暂停和继续 Deployment +> * 使用 Kuboard 暂停和继续 Deployment + - + * 执行命令 `kubectl get deployment`,查看 Deployment 信息,输出结果如下所示: @@ -103,10 +107,25 @@ meta: ::: - + + + + +* 在 Deployment 详情页中点击 ***处理状态*** 的开关,可以暂停 Deployment 处理,修改后如下图所示: + + ![Kubernetes-教程-暂停Deployment](./pause.assets/image-20200315161430483.png) + +* 点击 ***调整镜像标签*** 按钮,设置新版本为 `1.15.8`,如下图所示: + + 保存后,可以看到 Deployment 中已经将容器镜像版本修改为 `nginx:1.15.8`,然而,Deployment 控制器此时并未执行滚动更新的过程,因为 Deployment 的处理已经被暂停。 + + ![Kubernetes-教程-暂停Deployment](./pause.assets/image-20200315161646155.png) + +* 点击 ***处理状态*** 的开关,将其设定为 `已继续`,Deployment 将立刻开始执行滚动更新,最终结果如下图所示: + + ![Kubernetes-教程-暂停Deployment](./pause.assets/image-20200315162152085.png) -正在撰写中 diff --git a/learning/k8s-intermediate/workload/wl-deployment/rollback.assets/image-20200315114441313.png b/learning/k8s-intermediate/workload/wl-deployment/rollback.assets/image-20200315114441313.png new file mode 100644 index 0000000..19ac23c Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/rollback.assets/image-20200315114441313.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/rollback.assets/image-20200315114807304.png b/learning/k8s-intermediate/workload/wl-deployment/rollback.assets/image-20200315114807304.png new file mode 100644 index 0000000..3aa8066 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/rollback.assets/image-20200315114807304.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/rollback.assets/image-20200315115222693.png b/learning/k8s-intermediate/workload/wl-deployment/rollback.assets/image-20200315115222693.png new file mode 100644 index 0000000..a4db2de Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/rollback.assets/image-20200315115222693.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/rollback.assets/image-20200315115224518.png b/learning/k8s-intermediate/workload/wl-deployment/rollback.assets/image-20200315115224518.png new file mode 100644 index 0000000..a4db2de Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/rollback.assets/image-20200315115224518.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/rollback.md b/learning/k8s-intermediate/workload/wl-deployment/rollback.md index 087d8f1..fa9d9d4 100644 --- a/learning/k8s-intermediate/workload/wl-deployment/rollback.md +++ b/learning/k8s-intermediate/workload/wl-deployment/rollback.md @@ -19,10 +19,13 @@ meta: 当且仅当 Deployment 的 `.spec.template` 字段被修改时(例如,您修改了容器的镜像),kubernetes 将为其创建一个 Deployment revision(版本)。Deployment 的其他更新(例如:修改 `.spec.replicas` 字段)将不会创建新的 Deployment reviesion(版本)。 ::: +> 本文提供了两种途径对 Deployment 执行回滚操作: +> * 使用 kubectl 回滚 Deployment +> * 使用 Kuboard 回滚 Deployment - +

模拟更新错误

@@ -111,7 +114,7 @@ meta:

检查 Deployment 的更新历史

1. 执行命令 `kubectl rollout history deployment.v1.apps/nginx-deployment` 检查 Deployment 的历史版本,输出结果如下所示: - + ``` deployments "nginx-deployment" REVISION CHANGE-CAUSE @@ -149,7 +152,7 @@ meta: 下面的步骤可将 Deployment 从当前版本回滚到前一个版本(version 2) 1. 执行命令 `kubectl rollout undo deployment.v1.apps/nginx-deployment` 将当前版本回滚到前一个版本,输出结果如下所示: - + ``` deployment.apps/nginx-deployment ``` @@ -219,9 +222,31 @@ meta: ```
- + + + + +## 模拟更新错误 + +* 假设您更新 Deployment 的时候,犯了一个拼写错误,将 `1.9.1` 写成了 `1.91`,如下图所示: + + ![Kubernetes-教程](./rollback.assets/image-20200315114441313.png) + +* 该更新将卡住,新的副本集中的 Pod 将因为抓取不到镜像而不能启动,并陷入不断抓取镜像的死循环当中,如下图所示: + + ![Kubernetes-教程](./rollback.assets/image-20200315114807304.png) + + + +## 检查 Deployment 的更新历史,并回滚 + +* 上图中,显示了该 Deployment 有三个副本集,分别对应 Deployment 的版本 `1`、`2`、`3`。点击某一个副本集上的 ***回滚*** 按钮,Kuboard 将为您对比两个版本之间的差异,如下图所示: + + ![Kubernetes-教程](./rollback.assets/image-20200315115224518.png) + +* 点击 **确认回滚** 按钮,将回滚到选定的版本 + -正在撰写中
diff --git a/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315133044513.png b/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315133044513.png new file mode 100644 index 0000000..e772847 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315133044513.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315135123901.png b/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315135123901.png new file mode 100644 index 0000000..ef4f406 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315135123901.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315135701001.png b/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315135701001.png new file mode 100644 index 0000000..6d20877 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315135701001.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315135949626.png b/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315135949626.png new file mode 100644 index 0000000..922729e Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315135949626.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315140245614.png b/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315140245614.png new file mode 100644 index 0000000..4b47295 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315140245614.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315140447782.png b/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315140447782.png new file mode 100644 index 0000000..e24d307 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315140447782.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315140740451.png b/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315140740451.png new file mode 100644 index 0000000..5631204 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/scale.assets/image-20200315140740451.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/scale.md b/learning/k8s-intermediate/workload/wl-deployment/scale.md index b33ed33..e3e908b 100644 --- a/learning/k8s-intermediate/workload/wl-deployment/scale.md +++ b/learning/k8s-intermediate/workload/wl-deployment/scale.md @@ -15,9 +15,13 @@ meta: 伸缩(Scaling) Deployment,是指改变 Deployment 中 Pod 的副本数量,以应对实际业务流量的变化。 +> 本文提供了两种途径对 Deployment 执行伸缩操作: +> * 使用 kubectl 伸缩 Deployment +> * 使用 Kuboard 伸缩 Deployment + - +

执行伸缩

@@ -83,10 +87,63 @@ meta: ```
- + + + + +## 执行伸缩 + +* 在 Deployment 详情页面,点击 ***伸缩*** 按钮,调整副本数并保存,如下图所示: + + 即可完成对 Deployment 的伸缩操作; + + ![Kubernetes-教程-伸缩](./scale.assets/image-20200315133044513.png) + +* `kubectl autoscale` 指令可以执行对 Deployment 的自动伸缩,目前 Kuboard 界面还不支持此操作。 + + 请参考 [horizontal Pod autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/) + + + +## 按比例伸缩 + +滚动更新(RollingUpdate) Deployment 过程中同一时间点运行应用程序的多个版本。如果一个 Deployment 正在执行滚动更新(RollingUpdate)的过程中(也可能暂停了滚动更新),您或者自动伸缩器(autoscaler)对该 Deployment 执行伸缩操作,此时,Deployment Controller 会按比例将新建的 Pod 分配到当前活动的 ReplicaSet(有 Pod 的 ReplicaSet) 中,以避免可能的风险。这种情况叫做按比例伸缩(Proportional Scaling) + +例如,假设您已经运行了一个 10 副本数的 Deployment,其 maxSurge=3, maxUnavailable=2。 + +* 点击 Deployment 详情页面中的 ***部署策略*** 下的 ***编辑部署策略*** 按钮,如下图所示: + + 将 *最大超出副本数* 修改为 `3`; + + 将 *最大不可用副本数* 修改为 `2`; + + 修改后保存。 + + ![Kubernetes-教程](./scale.assets/image-20200315135123901.png) + +* 确认当前 10 个副本正在运行,如下图所示: + + ![Kubernetes-教程-按比例伸缩](./scale.assets/image-20200315135701001.png) + +* 点击 ***调整镜像标签*** 按钮,将容器镜像更新到一个不存在的标签,例如 `sometag`,如下图所示: + + ![Kubernetes-教程-按比例伸缩](./scale.assets/image-20200315135949626.png) + +* 此时,Deployment 将新建一个副本集,并且其期望的副本数为 `5`,原来的副本集的期望副本数被调整为 `8`,如下图所示: + + 由于新副本集中的 Pod 不能获取到镜像,因此滚动更新将卡在这个位置。 + + ![Kubernetes-教程-按比例伸缩](./scale.assets/image-20200315140245614.png) + +* 点击 ***伸缩*** 按钮,将期望副本数调整为 `15`,如下图所示: + + ![Kubernetes-教程-按比例伸缩](./scale.assets/image-20200315140447782.png) + +* 此时,由于比原来期望的副本数增加了 5,新增副本数将按比例增加到新、旧两个副本集,最终结果如下图所示: + + ![Kubernetes-教程-按比例伸缩](./scale.assets/image-20200315140740451.png) -正在撰写中
diff --git a/learning/k8s-intermediate/workload/wl-deployment/status.assets/image-20200315163007630.png b/learning/k8s-intermediate/workload/wl-deployment/status.assets/image-20200315163007630.png new file mode 100644 index 0000000..298a02d Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/status.assets/image-20200315163007630.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/status.md b/learning/k8s-intermediate/workload/wl-deployment/status.md index 7833e94..f6146e8 100644 --- a/learning/k8s-intermediate/workload/wl-deployment/status.md +++ b/learning/k8s-intermediate/workload/wl-deployment/status.md @@ -164,8 +164,13 @@ $ echo $? +在前面的处理中,您已经熟悉了 Kuboard 界面中如何管理 Deployment 的滚动更新过程。此外,还有少许 Deployment 的状态信息显示在运行时信息这个区块,如下图所示: + +> 您也可以直接查看 Deployment 的 YAML 内容。 + +![Kubernetes-教程-查看Deployment状态](./status.assets/image-20200315163007630.png) + -正在撰写中 diff --git a/learning/k8s-intermediate/workload/wl-deployment/strategy.assets/image-20200315163608635.png b/learning/k8s-intermediate/workload/wl-deployment/strategy.assets/image-20200315163608635.png new file mode 100644 index 0000000..f20c416 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/strategy.assets/image-20200315163608635.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/strategy.md b/learning/k8s-intermediate/workload/wl-deployment/strategy.md new file mode 100644 index 0000000..ac7b636 --- /dev/null +++ b/learning/k8s-intermediate/workload/wl-deployment/strategy.md @@ -0,0 +1,32 @@ +--- +vssueId: 40 +layout: LearningLayout +description: 本文描述了 Kubernetes Deployment 滚动更新过程中的可配置参数。 +meta: + - name: keywords + content: Kubernetes教程,K8S教程,ReplicaSet +--- + +# 部署策略 + + + +[返回 Deployment](./#deployment-概述) + +通过 Deployment 中 `.spec.strategy` 字段,可以指定使用 `滚动更新 RollingUpdate` 的部署策略还是使用 `重新创建 Recreate` 的部署策略 + +Kuboard 中,可以通过如下界面编辑部署策略。 + +![Kubernetes-Deployment Strategy部署策略](./strategy.assets/image-20200315163608635.png) + +其中字段的含义如下: + +| 字段名称 | 可选值 | 字段描述 | +| ---------------- | ---------------------- | ------------------------------------------------------------ | +| 类型 | 滚动更新
重新创建 | 如果选择重新创建,Deployment将先删除原有副本集中的所有 Pod,然后再创建新的副本集和新的 Pod。如此,更新过程中将出现一段应用程序不可用的情况; | +| 最大超出副本数 | 数字或百分比 | 滚动更新过程中,可以超出期望副本数的最大值。
该取值可以是一个绝对值(例如:5),也可以是一个相对于期望副本数的百分比(例如:10%);
如果填写百分比,则以期望副本数乘以该百分比后向上取整的方式计算对应的绝对值;
当最大超出副本数 maxUnavailable 为 0 时,此数值不能为 0;默认值为 25%。
例如:假设此值被设定为 30%,当滚动更新开始时,新的副本集(ReplicaSet)可以立刻扩容,
但是旧 Pod 和新 Pod 的总数不超过 Deployment 期待副本数(spec.repilcas)的 130%。
一旦旧 Pod 被终止后,新的副本集可以进一步扩容,但是整个滚动更新过程中,新旧 Pod 的总
数不超过 Deployment 期待副本数(spec.repilcas)的 130%。 | +| 最大不可用副本数 | 数字或百分比 | 滚动更新过程中,不可用副本数的最大值。
该取值可以是一个绝对值(例如:5),也可以是一个相对于期望副本数的百分比(例如:10%);
如果填写百分比,则以期望副本数乘以该百分比后向下取整的方式计算对应的绝对值;
当最大超出副本数 maxSurge 为 0 时,此数值不能为 0;默认值为 25%;
例如:假设此值被设定为 30%,当滚动更新开始时,旧的副本集(ReplicaSet)可以缩容到期望
副本数的 70%;在新副本集扩容的过程中,一旦新的 Pod 已就绪,旧的副本集可以进一步缩容,
整个滚动更新过程中,确保新旧就绪副本数之和不低于期望副本数的 70%。 | + + + +[返回 Deployment](./#deployment-概述) diff --git a/learning/k8s-intermediate/workload/wl-deployment/update.assets/image-20200315111231323.png b/learning/k8s-intermediate/workload/wl-deployment/update.assets/image-20200315111231323.png new file mode 100644 index 0000000..5c2dc55 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/update.assets/image-20200315111231323.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/update.assets/image-20200315111509644.png b/learning/k8s-intermediate/workload/wl-deployment/update.assets/image-20200315111509644.png new file mode 100644 index 0000000..c4ab083 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/update.assets/image-20200315111509644.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/update.assets/image-20200315111838761.png b/learning/k8s-intermediate/workload/wl-deployment/update.assets/image-20200315111838761.png new file mode 100644 index 0000000..7d183ef Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/update.assets/image-20200315111838761.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/update.assets/image-20200315113204869.png b/learning/k8s-intermediate/workload/wl-deployment/update.assets/image-20200315113204869.png new file mode 100644 index 0000000..810b125 Binary files /dev/null and b/learning/k8s-intermediate/workload/wl-deployment/update.assets/image-20200315113204869.png differ diff --git a/learning/k8s-intermediate/workload/wl-deployment/update.md b/learning/k8s-intermediate/workload/wl-deployment/update.md index e1dffef..0138380 100644 --- a/learning/k8s-intermediate/workload/wl-deployment/update.md +++ b/learning/k8s-intermediate/workload/wl-deployment/update.md @@ -19,13 +19,13 @@ meta: 当且仅当 Deployment 的 Pod template(`.spec.template`)字段中的内容发生变更时(例如标签、容器的镜像被改变),Deployment 的发布更新(rollout)将被触发。Deployment 中其他字段的变化(例如修改 .spec.replicas 字段)将不会触发 Deployment 的发布更新(rollout) ::: -本文提供了两种途径对 Deployment 执行发布更新(rollout): -* 使用 kubectl 更新 Deployment -* 使用 Kuboard 更新 Deployment +> 本文提供了两种途径对 Deployment 执行发布更新(rollout): +> * 使用 kubectl 更新 Deployment +> * 使用 Kuboard 更新 Deployment - + **使用下述步骤更新您的 Deployment** @@ -145,9 +145,33 @@ meta: * Deployment Controller 继续 scale up 新的 ReplicaSet 并 scale down 旧的 ReplicaSet,直到最后,新旧两个 ReplicaSet,一个副本数为 3,另一个副本数为 0。 - + + + + +1. 进入 Deployment 查看界面,如下图所示: + + ![Kubernetes-教程](./update.assets/image-20200315111231323.png) + +2. 点击上图中的 ***调整镜像标签*** 按钮 + + 将新版本字段修改为 `1.9.1`,并点击 ***确定*** 按钮,如下图所示: + + ![Kubernetes-教程](./update.assets/image-20200315111509644.png) + + + +3. 等待 Kubernetes 完成应用的滚动更新: + + 更新过程中,截图如下: + + ![Kubernetes-教程](./update.assets/image-20200315111838761.png) + + 完成更新后,截图如下: + + ![Kubernetes-教程](./update.assets/image-20200315113204869.png) + -正在撰写中 diff --git a/support/change-log/change-log-on-the-way.md b/support/change-log/change-log-on-the-way.md index 9ae769f..407731d 100644 --- a/support/change-log/change-log-on-the-way.md +++ b/support/change-log/change-log-on-the-way.md @@ -5,7 +5,15 @@ v1.0.7 已经支持了 kubectl proxy 的功能、v1.0.8 做 Deployment 的滚动 这几样做完以后,就 v1.1.0 +v1.0.8.1 +**BUG修正** + +* 如果两个 Deployment 的 label 相匹配,则,ReplicaSets 显示会出现混淆的情况 + + + +* 如果在代理后面使用 Kuboard ---