create deployment / workload 结构调整
This commit is contained in:
@ -164,6 +164,7 @@ module.exports = {
|
||||
{
|
||||
title: 'Kubernetes 入门',
|
||||
collapsable: false,
|
||||
sidebarDepth: 3,
|
||||
children: [
|
||||
'k8s-basics/kubernetes-basics',
|
||||
'k8s-basics/deploy-app',
|
||||
@ -181,13 +182,27 @@ module.exports = {
|
||||
'k8s-intermediate/private-registry',
|
||||
{
|
||||
title: '工作负载',
|
||||
collapsable: true,
|
||||
collapsable: false,
|
||||
children: [
|
||||
'k8s-intermediate/workload/pod',
|
||||
'k8s-intermediate/workload/pod-lifecycle',
|
||||
'k8s-intermediate/workload/init-container',
|
||||
'k8s-intermediate/workload/workload',
|
||||
'k8s-intermediate/workload/wl-deployment',
|
||||
{
|
||||
title: '控制器 - Deployment',
|
||||
collapsable: true,
|
||||
children: [
|
||||
'k8s-intermediate/workload/wl-deployment/',
|
||||
'k8s-intermediate/workload/wl-deployment/create',
|
||||
'k8s-intermediate/workload/wl-deployment/update',
|
||||
'k8s-intermediate/workload/wl-deployment/rollback',
|
||||
'k8s-intermediate/workload/wl-deployment/scale',
|
||||
'k8s-intermediate/workload/wl-deployment/pause',
|
||||
'k8s-intermediate/workload/wl-deployment/status',
|
||||
'k8s-intermediate/workload/wl-deployment/cleanup',
|
||||
'k8s-intermediate/workload/wl-deployment/canary',
|
||||
]
|
||||
}
|
||||
// 'k8s-intermediate/workload/wl-statefulset',
|
||||
// 'k8s-intermediate/workload/wl-daemonset',
|
||||
// 'k8s-intermediate/workload/wl-job',
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
</div>
|
||||
<StarGazer/>
|
||||
</div>
|
||||
<div slot="page-top" class="theme-default-content content__default page-top">
|
||||
<!-- <div slot="page-top" class="theme-default-content content__default page-top">
|
||||
<div class="tip custom-block" style="padding: 10px 20px;">
|
||||
<div style="display: inline-block; vertical-align: top;">
|
||||
<li><span style="color: red; font-weight: 500;">免费</span> Kubernetes 教程,绝不降低品质</li>
|
||||
@ -43,7 +43,7 @@
|
||||
<img src="/images/dz2.jpeg" style="width: 100px;"></img>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div slot="page-bottom" class="bottom-description">Copyright © 2019-present 邵欢庆 <a href="http://www.eigpay.com" target="_blank">仁聚汇通</a> | 京ICP备19008693号-2</div>
|
||||
</ParentLayout>
|
||||
</template>
|
||||
|
||||
12
README.md
12
README.md
@ -46,11 +46,11 @@ Kuboard 是一款基于 Kubernetes 的微服务管理界面。
|
||||
* [容器组 - 生命周期](https://www.kuboard.cn/learning/k8s-intermediate/workload/pod-lifecycle.html)
|
||||
* [容器组 - 初始化容器](https://www.kuboard.cn/learning/k8s-intermediate/workload/init-container.html)
|
||||
* [控制器 - 概述](https://www.kuboard.cn/learning/k8s-intermediate/workload/workload.html)
|
||||
* [控制器 - Deployment](https://www.kuboard.cn/learning/k8s-intermediate/workload/wl-deployment.html)
|
||||
* [控制器 - StatefulSet](https://www.kuboard.cn/learning/k8s-intermediate/workload/wl-statefulset.html)
|
||||
* [控制器 - DaemonSet](https://www.kuboard.cn/learning/k8s-intermediate/workload/wl-daemonset.html)
|
||||
* [控制器 - Job](https://www.kuboard.cn/learning/k8s-intermediate/workload/wl-job.html)
|
||||
* [控制器 - CronJob](https://www.kuboard.cn/learning/k8s-intermediate/workload/wl-cronjob.html)
|
||||
* [控制器 - Deployment](https://www.kuboard.cn/learning/k8s-intermediate/workload/wl-deployment/)
|
||||
* [控制器 - StatefulSet](https://www.kuboard.cn/learning/k8s-intermediate/workload/wl-statefulset/)
|
||||
* [控制器 - DaemonSet](https://www.kuboard.cn/learning/k8s-intermediate/workload/wl-daemonset/)
|
||||
* [控制器 - Job](https://www.kuboard.cn/learning/k8s-intermediate/workload/wl-job/)
|
||||
* [控制器 - CronJob](https://www.kuboard.cn/learning/k8s-intermediate/workload/wl-cronjob/)
|
||||
* 服务发现、负载均衡、网络
|
||||
* [Service](https://www.kuboard.cn/learning/k8s-intermediate/service/service.html)
|
||||
* [Service/Pod 的 DNS](https://www.kuboard.cn/learning/k8s-intermediate/service/dns.html)
|
||||
@ -73,7 +73,7 @@ Kuboard 是一款基于 Kubernetes 的微服务管理界面。
|
||||
|
||||
在 Kubernetes 上部署 Spring Cloud 微服务:
|
||||
|
||||
* [概述](/micro-service/spring-cloud/index.html)
|
||||
* [概述](/micro-service/spring-cloud/)
|
||||
* [部署服务注册中心]
|
||||
* [部署数据库]
|
||||
* [部署微服务]
|
||||
|
||||
@ -35,11 +35,11 @@ description: Kubernetes 免费教程
|
||||
* [容器组 - 生命周期](/learning/k8s-intermediate/workload/pod-lifecycle.html)
|
||||
* [容器组 - 初始化容器](/learning/k8s-intermediate/workload/init-container.html)
|
||||
* [控制器 - 概述](/learning/k8s-intermediate/workload/workload.html)
|
||||
* [控制器 - Deployment](/learning/k8s-intermediate/workload/wl-deployment.html)
|
||||
* [控制器 - StatefulSet](/learning/k8s-intermediate/workload/wl-statefulset.html) <Badge text="正在撰写" type="warn"/>
|
||||
* [控制器 - DaemonSet](/learning/k8s-intermediate/workload/wl-daemonset.html) <Badge text="正在撰写" type="warn"/>
|
||||
* [控制器 - Job](/learning/k8s-intermediate/workload/wl-job.html) <Badge text="正在撰写" type="warn"/>
|
||||
* [控制器 - CronJob](/learning/k8s-intermediate/workload/wl-cronjob.html) <Badge text="正在撰写" type="warn"/>
|
||||
* [控制器 - Deployment](/learning/k8s-intermediate/workload/wl-deployment/)
|
||||
* [控制器 - StatefulSet](/learning/k8s-intermediate/workload/wl-statefulset/) <Badge text="正在撰写" type="warn"/>
|
||||
* [控制器 - DaemonSet](/learning/k8s-intermediate/workload/wl-daemonset/) <Badge text="正在撰写" type="warn"/>
|
||||
* [控制器 - Job](/learning/k8s-intermediate/workload/wl-job/) <Badge text="正在撰写" type="warn"/>
|
||||
* [控制器 - CronJob](/learning/k8s-intermediate/workload/wl-cronjob/) <Badge text="正在撰写" type="warn"/>
|
||||
* 服务发现、负载均衡、网络
|
||||
* [Service](/learning/k8s-intermediate/service/service.html) <Badge text="正在撰写" type="warn"/>
|
||||
* [Service/Pod 的 DNS](/learning/k8s-intermediate/service/dns.html) <Badge text="正在撰写" type="warn"/>
|
||||
@ -63,7 +63,7 @@ description: Kubernetes 免费教程
|
||||
|
||||
在 Kubernetes 上部署 Spring Cloud 微服务:
|
||||
|
||||
* [概述](/micro-service/spring-cloud/index.html)
|
||||
* [概述](/micro-service/spring-cloud/)
|
||||
* [部署服务注册中心]
|
||||
* [部署数据库]
|
||||
* [部署微服务]
|
||||
|
||||
@ -23,7 +23,7 @@ Ingress Controller (通常需要负载均衡器配合)负责实现 Ingress A
|
||||
|
||||
该图中,**请求被转发的过程为:**
|
||||
|
||||
0. 假设您将 a.kuboard.cn 的 DNS 解析到了集群中的一个 worker 节点的 IP 地址 `192.168.2.69`。(如果您的 worker 节点有外网地址,请使用外网地址,这样可以使的您从外网访问您的服务)
|
||||
0. 假设您将 a.kuboard.cn 的 DNS 解析到了集群中的一个 worker 节点的 IP 地址 `192.168.2.69`。(如果您的 worker 节点有外网地址,请使用外网地址,这样您可以从外网访问您的服务)
|
||||
1. 从客户端机器执行命令 `curl http://a.kuboard.cn/abc/`,该请求您将被转发到 `192.168.2.69` 这个地址的 80 端口,并被 Ingress Controller 接收
|
||||
2. Ingress Controller 根据请求的域名 `a.kuboard.cn` 和路径 `abc` 匹配集群中所有的 Ingress 信息,并最终找到 `Ingress B` 中有这个配置,其对应的 Service 为 `Service B` 的 `9080` 端口
|
||||
3. Ingress Controller 通过 kube-proxy 将请求转发到 `Service B` 对应的任意一个 Pod 上 与 `Service B` 的 `9080` 端口对应的容器端口上。(从 Ingress Controller 到 Pod 的负载均衡由 kube-proxy + Service 实现)
|
||||
|
||||
22
learning/k8s-intermediate/workload/wl-deployment/canary.md
Normal file
22
learning/k8s-intermediate/workload/wl-deployment/canary.md
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
layout: LearningLayout
|
||||
description: 本文描述了如何通过 Deployment 执行灰度发布(金丝雀发布)
|
||||
---
|
||||
|
||||
# 金丝雀发布
|
||||
|
||||
[返回 Deployment](./#deployment-概述)
|
||||
|
||||
<el-tabs type="border-card">
|
||||
|
||||
<el-tab-pane label="使用 kubectl 更新 Deployment">
|
||||
正在撰写中
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="使用 Kuboard 更新 Deployment">
|
||||
正在撰写中
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
</el-tabs>
|
||||
22
learning/k8s-intermediate/workload/wl-deployment/cleanup.md
Normal file
22
learning/k8s-intermediate/workload/wl-deployment/cleanup.md
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
layout: LearningLayout
|
||||
description: 本文描述了如何在 Kubernetes 中清理 Deployment 中旧的 ReplicaSet
|
||||
---
|
||||
|
||||
# 清理旧的 ReplicaSet
|
||||
|
||||
[返回 Deployment](./#deployment-概述)
|
||||
|
||||
<el-tabs type="border-card">
|
||||
|
||||
<el-tab-pane label="使用 kubectl 更新 Deployment">
|
||||
正在撰写中
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="使用 Kuboard 更新 Deployment">
|
||||
正在撰写中
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
</el-tabs>
|
||||
139
learning/k8s-intermediate/workload/wl-deployment/create.md
Normal file
139
learning/k8s-intermediate/workload/wl-deployment/create.md
Normal file
@ -0,0 +1,139 @@
|
||||
---
|
||||
layout: LearningLayout
|
||||
description: 本文描述了如何创建一个 Deployment,如何理解 Deployment 各个字段,以及如何查看 Deployment 的创建结果
|
||||
---
|
||||
|
||||
# 创建Deployment
|
||||
|
||||
[返回 Deployment](./#deployment-概述)
|
||||
|
||||
本文描述了如何创建一个 Deployment,如何理解 Deployment 各个字段,以及如何查看 Deployment 的创建结果。
|
||||
|
||||
<el-tabs type="border-card">
|
||||
|
||||
<el-tab-pane label="使用kubectl创建Deployment">
|
||||
|
||||
下面的 yaml 文件定义了一个 Deployment,该 Deployment 将创建一个有 3 个 nginx Pod 副本的 ReplicaSet(副本集):
|
||||
|
||||
``` yaml
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx-deployment
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app: nginx
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
image: nginx:1.7.9
|
||||
ports:
|
||||
- containerPort: 80
|
||||
```
|
||||
|
||||
**在这个例子中:**
|
||||
|
||||
* 将创建一个名为 nginx-deployment 的 Deployment(部署),名称由 `.metadata.name` 字段指定
|
||||
* 该 Deployment 将创建 3 个 Pod 副本,副本数量由 `.spec.replicas` 字段指定
|
||||
* `.spec.selector` 字段指定了 Deployment 如何找到由它管理的 Pod。此案例中,我们使用了 Pod template 中定义的一个标签(app: nginx)。对于极少数的情况,这个字段也可以定义更加复杂的规则
|
||||
* `.template` 字段包含了如下字段:
|
||||
* `.template.metadata.labels` 字段,指定了 Pod 的标签(app: nginx)
|
||||
* `.template.spec.containers[].image` 字段,表明该 Pod 运行一个容器 `nginx:1.7.9`
|
||||
* `.template.spec.containers[].name` 字段,表明该容器的名字是 `nginx`
|
||||
|
||||
**按照下面的步骤创建该 Deployment**
|
||||
|
||||
1. 执行命令以创建 Deployment
|
||||
``` sh
|
||||
kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml
|
||||
```
|
||||
::: tip
|
||||
您可以为该命令增加 --record 选项,此时 kubectl 会将 `kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml --record` 写入 Deployment 的 annotation(注解) `kubernetes.io/change-cause` 中。这样,您在将来就可以回顾某一个 Deployment 版本变化的原因
|
||||
:::
|
||||
|
||||
2. 执行命令 `kubectl get deployments` 检查 Deployment 的创建情况。如果该 Deployment仍在创建过程中,输出结果如下所示:
|
||||
|
||||
``` sh
|
||||
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
|
||||
nginx-deployment 3 0 0 0 1s
|
||||
```
|
||||
**字段含义**
|
||||
|
||||
| 字段名称 | 说明 |
|
||||
| -------------- | ------------------------------------------------------------ |
|
||||
| **NAME** | Deployment name |
|
||||
| **DESIRED** | Deployment 期望的 Pod 副本数,即 Deployment 中 `.spec.replicas` 字段指定的数值。该数值是“期望”值 |
|
||||
| **CURRENT** | 当前有多少个 Pod 副本数在运行 |
|
||||
| **UP-TO-DATE** | Deployment 中,符合当前 Pod Template 定义的 Pod 数量 |
|
||||
| **AVAILABLE** | 当前对用户可用的 Pod 副本数 |
|
||||
| **AGE** | Deployment 部署以来到现在的时长 |
|
||||
|
||||
3. 查看 Deployment 的发布状态(rollout status),执行命令 `kubectl rollout status deployment.v1.apps/nginx-deployment`。输出结果树下所示:
|
||||
|
||||
```sh
|
||||
Waiting for rollout to finish: 2 out of 3 new replicas have been updated...
|
||||
deployment.apps/nginx-deployment successfully rolled out
|
||||
```
|
||||
|
||||
4. 等待几秒后,再次执行命令 `kubectl get deployments`,输出结果如下所示:
|
||||
|
||||
```sh
|
||||
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
|
||||
nginx-deployment 3 3 3 3 18s
|
||||
```
|
||||
此时该 Deployment 已经完成了 3 个 Pod 副本的创建,并且所有的副本都是 UP-TO-DATE(符合最新的 Pod template 定义) 和 AVAILABEL
|
||||
|
||||
5. 查看该 Deployment 创建的 ReplicaSet(rs),执行命令 `kubectl get rs`,输出结果如下所示:
|
||||
|
||||
``` sh
|
||||
NAME DESIRED CURRENT READY AGE
|
||||
nginx-deployment-75675f5897 3 3 3 18s
|
||||
```
|
||||
|
||||
6. 查看 Pod 的标签,执行命令 `kubectl get pods --show-labels`,输出结果如下所示:
|
||||
|
||||
```sh
|
||||
NAME READY STATUS RESTARTS AGE LABELS
|
||||
nginx-deployment-75675f5897-7ci7o 1/1 Running 0 18s app=nginx,pod-template-hash=3123191453
|
||||
nginx-deployment-75675f5897-kzszj 1/1 Running 0 18s app=nginx,pod-template-hash=3123191453
|
||||
nginx-deployment-75675f5897-qqcnn 1/1 Running 0 18s app=nginx,pod-template-hash=3123191453
|
||||
```
|
||||
|
||||
Deployment 创建的 ReplicaSet(副本集)确保集群中有 3 个 nginx Pod。
|
||||
|
||||
::: tip
|
||||
您必须为 Deployment 中的 `.spec.selector` 和 `.template.metadata.labels` 定义一个合适的标签(这个例子中的标签是 app: nginx)。请不要使用与任何其他控制器(其他 Deployment / StatefulSet 等)相同的 `.spec.selector` 和 `.template.metadata.labels`。否则可能发生冲突,并产生不可预见的行为。
|
||||
:::
|
||||
|
||||
|
||||
**Pod-template-hash 标签**
|
||||
|
||||
::: danger 警告
|
||||
|
||||
请不要修改这个标签
|
||||
|
||||
:::
|
||||
|
||||
pod-template-hash 标签时 Deployment 创建 ReplicaSet 时添加到 ReplicaSet 上的,ReplicaSet 进而将此标签添加到 Pod 上。这个标签用于区分 Deployment 中哪个 ReplicaSet 创建了哪些 Pod。该标签的值是 `.spec.template` 的 hash 值。
|
||||
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="使用Kuboard创建Deployment">
|
||||
|
||||
正在撰写
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
</el-tabs>
|
||||
|
||||
|
||||
[返回 Deployment](./#deployment-概述)
|
||||
@ -5,7 +5,7 @@ description: 本文介绍了 Kubernetes Deployment 的概念、行为及使用
|
||||
|
||||
# 控制器 - Deployment
|
||||
|
||||
参考文档: Kubernetes 官网 [Deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/)
|
||||
参考文档: Kubernetes 官网 [Deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/)、 [ReplicaSet](https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/)
|
||||
|
||||
术语表
|
||||
|
||||
@ -77,29 +77,11 @@ Deployment 是最常用的用于部署无状态服务的方式。Deployment 控
|
||||
|
||||
以“声明”的方式管理 Pod 和 ReplicaSet,其本质是将一些特定场景的一系列运维步骤固化下来,以便快速准确无误的执行。Deployment 为我们确定了如下几种运维场景:
|
||||
|
||||
* [创建Deployment](#创建deployment) 创建 Deployment 后,Deployment 控制器将立刻创建一个 ReplicaSet 副本集,并由 ReplicaSet 创建所需要的 Pod。
|
||||
* [更新Deployment](#更新deployment) 更新 Deployment 中 Pod 的定义(例如,发布新版本的容器镜像)。此时 Deployment 控制器将为该 Deployment 创建一个新的 ReplicaSet 副本集,并且逐步在新的副本集中创建 Pod,在旧的副本集中删除 Pod,以达到滚动更新的效果。
|
||||
* [回滚Deployment](#回滚deployment) 回滚到一个早期 Deployment 版本。
|
||||
* [伸缩Deployment](#伸缩deployment) 水平扩展 Deployment,以便支持更大的负载,或者水平收缩 Deployment,以便节省服务器资源。
|
||||
* [暂停和继续Deployment](#暂停和继续deployment) 暂停正在进行的滚动更新,继续正在进行的滚动更新。
|
||||
* [查看Deployment状态](#查看deployment状态)
|
||||
* [清理旧的ReplicaSet](#清理旧的replicaset)
|
||||
* [金丝雀发布](#金丝雀发布)
|
||||
|
||||
## 创建Deployment
|
||||
|
||||
未完待续,最后更新时间:2019年9月9日 22:50
|
||||
|
||||
## 更新Deployment
|
||||
|
||||
## 回滚Deployment
|
||||
|
||||
## 伸缩Deployment
|
||||
|
||||
## 暂停和继续Deployment
|
||||
|
||||
## 查看Deployment状态
|
||||
|
||||
## 清理旧的ReplicaSet
|
||||
|
||||
## 金丝雀发布
|
||||
* [创建Deployment](./create.html) 创建 Deployment 后,Deployment 控制器将立刻创建一个 ReplicaSet 副本集,并由 ReplicaSet 创建所需要的 Pod。
|
||||
* [更新Deployment](./update.html) 更新 Deployment 中 Pod 的定义(例如,发布新版本的容器镜像)。此时 Deployment 控制器将为该 Deployment 创建一个新的 ReplicaSet 副本集,并且逐步在新的副本集中创建 Pod,在旧的副本集中删除 Pod,以达到滚动更新的效果。
|
||||
* [回滚Deployment](./rollback.html) 回滚到一个早期 Deployment 版本。
|
||||
* [伸缩Deployment](./scale.html) 水平扩展 Deployment,以便支持更大的负载,或者水平收缩 Deployment,以便节省服务器资源。
|
||||
* [暂停和继续Deployment](./pause.html) 暂停正在进行的滚动更新,继续正在进行的滚动更新。
|
||||
* [查看Deployment状态](./status.html)
|
||||
* [清理旧的ReplicaSet](./cleanup.html)
|
||||
* [金丝雀发布](./canary.html)
|
||||
22
learning/k8s-intermediate/workload/wl-deployment/pause.md
Normal file
22
learning/k8s-intermediate/workload/wl-deployment/pause.md
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
layout: LearningLayout
|
||||
description: 本文描述了如何在 Kubernetes 中暂停 Deployment 的更新,和继续 Deployment 的更新
|
||||
---
|
||||
|
||||
# 暂停和继续更新Deployment
|
||||
|
||||
[返回 Deployment](./#deployment-概述)
|
||||
|
||||
<el-tabs type="border-card">
|
||||
|
||||
<el-tab-pane label="使用 kubectl 更新 Deployment">
|
||||
正在撰写中
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="使用 Kuboard 更新 Deployment">
|
||||
正在撰写中
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
</el-tabs>
|
||||
22
learning/k8s-intermediate/workload/wl-deployment/rollback.md
Normal file
22
learning/k8s-intermediate/workload/wl-deployment/rollback.md
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
layout: LearningLayout
|
||||
description: 本文描述了如何在 Kubernetes 中回滚 Deployment
|
||||
---
|
||||
|
||||
# 回滚Deployment
|
||||
|
||||
[返回 Deployment](./#deployment-概述)
|
||||
|
||||
<el-tabs type="border-card">
|
||||
|
||||
<el-tab-pane label="使用 kubectl 更新 Deployment">
|
||||
正在撰写中
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="使用 Kuboard 更新 Deployment">
|
||||
正在撰写中
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
</el-tabs>
|
||||
22
learning/k8s-intermediate/workload/wl-deployment/scale.md
Normal file
22
learning/k8s-intermediate/workload/wl-deployment/scale.md
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
layout: LearningLayout
|
||||
description: 本文描述了如何在 Kubernetes 中水平伸缩 Deployment
|
||||
---
|
||||
|
||||
# 伸缩Deployment
|
||||
|
||||
[返回 Deployment](./#deployment-概述)
|
||||
|
||||
<el-tabs type="border-card">
|
||||
|
||||
<el-tab-pane label="使用 kubectl 更新 Deployment">
|
||||
正在撰写中
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="使用 Kuboard 更新 Deployment">
|
||||
正在撰写中
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
</el-tabs>
|
||||
22
learning/k8s-intermediate/workload/wl-deployment/status.md
Normal file
22
learning/k8s-intermediate/workload/wl-deployment/status.md
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
layout: LearningLayout
|
||||
description: 本文描述了如何在 Kubernetes 中查看 Deployment 的状态
|
||||
---
|
||||
|
||||
# 查看Deployment的状态
|
||||
|
||||
[返回 Deployment](./#deployment-概述)
|
||||
|
||||
<el-tabs type="border-card">
|
||||
|
||||
<el-tab-pane label="使用 kubectl 更新 Deployment">
|
||||
正在撰写中
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="使用 Kuboard 更新 Deployment">
|
||||
正在撰写中
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
</el-tabs>
|
||||
23
learning/k8s-intermediate/workload/wl-deployment/update.md
Normal file
23
learning/k8s-intermediate/workload/wl-deployment/update.md
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
layout: LearningLayout
|
||||
description: 本文描述了如何在 Kubernetes 中更新 Deployment
|
||||
---
|
||||
|
||||
# 更新Deployment
|
||||
|
||||
[返回 Deployment](./#deployment-概述)
|
||||
|
||||
|
||||
<el-tabs type="border-card">
|
||||
|
||||
<el-tab-pane label="使用 kubectl 更新 Deployment">
|
||||
正在撰写中
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="使用 Kuboard 更新 Deployment">
|
||||
正在撰写中
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
</el-tabs>
|
||||
@ -18,12 +18,12 @@ Kubernetes 通过引入 Controller(控制器)的概念来管理 Pod 实例
|
||||
|
||||
**在 Kubernetes 支持的控制器有如下几种:**
|
||||
|
||||
* [Deployment](./wl-deployment.html) <Badge text="Kuboard 已支持" type="success"/>
|
||||
* [StatefulSet](./wl-statefulset.html) <Badge text="Kuboard 已支持" type="success"/>
|
||||
* [DaemonSet](./wl-daemonset.html) <Badge text="Kuboard 已支持" type="success"/>
|
||||
* [Deployment](./wl-deployment/) <Badge text="Kuboard 已支持" type="success"/>
|
||||
* [StatefulSet](./wl-statefulset/) <Badge text="Kuboard 已支持" type="success"/>
|
||||
* [DaemonSet](./wl-daemonset/) <Badge text="Kuboard 已支持" type="success"/>
|
||||
|
||||
* [CronJob](./wl-cronjob.html) <Badge text="Kuboard 正在计划中" type="warn"/>
|
||||
* [Jobs - Run to Completion](./wl-job.html) <Badge text="Kuboard 正在计划中" type="warn"/>
|
||||
* [CronJob](./wl-cronjob/) <Badge text="Kuboard 正在计划中" type="warn"/>
|
||||
* [Jobs - Run to Completion](./wl-job/) <Badge text="Kuboard 正在计划中" type="warn"/>
|
||||
|
||||
* [ReplicaSet](https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/)<Badge text="使用 Deployment" type="error"/>
|
||||
|
||||
|
||||
@ -127,11 +127,11 @@ Kuboard 为 Kubernetes 初学者设计了如下学习路径:
|
||||
* [容器组 - 生命周期](/learning/k8s-intermediate/workload/pod-lifecycle.html)
|
||||
* [容器组 - 初始化容器](/learning/k8s-intermediate/workload/init-container.html)
|
||||
* [控制器 - 概述](/learning/k8s-intermediate/workload/workload.html)
|
||||
* [控制器 - Deployment](/learning/k8s-intermediate/workload/wl-deployment.html)
|
||||
* [控制器 - StatefulSet](/learning/k8s-intermediate/workload/wl-statefulset.html) <Badge text="正在撰写" type="warn"/>
|
||||
* [控制器 - DaemonSet](/learning/k8s-intermediate/workload/wl-daemonset.html) <Badge text="正在撰写" type="warn"/>
|
||||
* [控制器 - Job](/learning/k8s-intermediate/workload/wl-job.html) <Badge text="正在撰写" type="warn"/>
|
||||
* [控制器 - CronJob](/learning/k8s-intermediate/workload/wl-cronjob.html) <Badge text="正在撰写" type="warn"/>
|
||||
* [控制器 - Deployment](/learning/k8s-intermediate/workload/wl-deployment/)
|
||||
* [控制器 - StatefulSet](/learning/k8s-intermediate/workload/wl-statefulset/) <Badge text="正在撰写" type="warn"/>
|
||||
* [控制器 - DaemonSet](/learning/k8s-intermediate/workload/wl-daemonset/) <Badge text="正在撰写" type="warn"/>
|
||||
* [控制器 - Job](/learning/k8s-intermediate/workload/wl-job/) <Badge text="正在撰写" type="warn"/>
|
||||
* [控制器 - CronJob](/learning/k8s-intermediate/workload/wl-cronjob/) <Badge text="正在撰写" type="warn"/>
|
||||
* 服务发现、负载均衡、网络
|
||||
* [Service](/learning/k8s-intermediate/service/service.html) <Badge text="正在撰写" type="warn"/>
|
||||
* [Service/Pod 的 DNS](/learning/k8s-intermediate/service/dns.html) <Badge text="正在撰写" type="warn"/>
|
||||
@ -155,7 +155,7 @@ Kuboard 为 Kubernetes 初学者设计了如下学习路径:
|
||||
|
||||
在 Kubernetes 上部署 Spring Cloud 微服务:
|
||||
|
||||
* [概述](/micro-service/spring-cloud/index.html)
|
||||
* [概述](/micro-service/spring-cloud/)
|
||||
* [部署服务注册中心]
|
||||
* [部署数据库]
|
||||
* [部署微服务]
|
||||
|
||||
3969
package-lock.json
generated
3969
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
13
package.json
13
package.json
@ -4,13 +4,13 @@
|
||||
"docs:build": "vuepress build ."
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vuepress/plugin-back-to-top": "^1.0.0-rc.1",
|
||||
"@vuepress/plugin-google-analytics": "^1.0.0-rc.1",
|
||||
"@vuepress/plugin-medium-zoom": "^1.0.0-rc.1",
|
||||
"@vuepress/plugin-nprogress": "^1.0.2",
|
||||
"@vuepress/plugin-back-to-top": "^1.0.4",
|
||||
"@vuepress/plugin-google-analytics": "^1.0.4",
|
||||
"@vuepress/plugin-medium-zoom": "^1.0.4",
|
||||
"@vuepress/plugin-nprogress": "^1.0.4",
|
||||
"babel-plugin-component": "^1.1.1",
|
||||
"date-fns": "^1.30.1",
|
||||
"vuepress": "^1.0.2",
|
||||
"vuepress": "^1.0.4",
|
||||
"vuepress-plugin-baidu-autopush": "^1.0.1",
|
||||
"vuepress-plugin-code-switcher": "^1.0.0",
|
||||
"vuepress-plugin-element-tabs": "^0.1.8",
|
||||
@ -19,8 +19,9 @@
|
||||
"vuepress-plugin-sitemap": "^2.1.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"element-ui": "^2.11.1",
|
||||
"element-ui": "^2.12.0",
|
||||
"leancloud-storage": "^3.15.0",
|
||||
"npm": "^6.11.3",
|
||||
"valine": "^1.3.10"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user