seo优化

This commit is contained in:
huanqing.shao
2019-09-21 00:42:52 +08:00
parent 20d15a141c
commit affcfef338
62 changed files with 412 additions and 301 deletions

View File

@ -38,7 +38,7 @@ description: 本文详细讲解了 Kubernetes Deployment 的概念,并描述
## 在 Kubernetes 上部署第一个应用程序
![img](./deploy-app.assets/module_02_first_app.svg)
![Kubernetes教程部署第一个应用程序](./deploy-app.assets/module_02_first_app.svg)
上图是在第一篇文章的基础上添加上了Deployment、Pod和Container。
@ -135,13 +135,13 @@ kubectl get pods
**打开 Kuboard 集群概览界面**,如下图所示:
![image-20190822165220992](./deploy-app.assets/image-20190822165220992.png)
![Kubernetes教程部署第一个应用程序-Kuboard集群概览页](./deploy-app.assets/image-20190822165220992.png)
**点击 default 名称空间**
![image-20190822165351264](./deploy-app.assets/image-20190822165351264.png)
![Kubernetes教程部署第一个应用程序-Kuboard名称空间页](./deploy-app.assets/image-20190822165351264.png)
@ -160,7 +160,7 @@ kubectl get pods
| 镜像 | nginx:1.7.9 | |
| 抓取策略 | Always | 每次创建 Pod 都尝试抓取镜像 |
![image-20190822171013606](./deploy-app.assets/image-20190822171013606.png)
![Kubernetes教程部署第一个应用程序-在Kuboard中创建工作负载](./deploy-app.assets/image-20190822171013606.png)

View File

@ -19,7 +19,7 @@ description: 本文介绍了如何使用 kubectl / Kuboard 查看和浏览 Kuber
## Pods概述
<img src="./explore.assets/module_03_pods.svg" style="border: 1px solid #d7dae2; max-width: 800px;"></img>
<img src="./explore.assets/module_03_pods.svg" style="border: 1px solid #d7dae2; max-width: 800px;" alt="Kubernetes教程Pod概念"></img>
**Pod 容器组** 是一个k8s中一个抽象的概念用于存放一组 container可包含一个或多个 container 容器,即图上正方体),以及这些 container (容器)的一些共享资源。这些资源包括:
@ -43,7 +43,7 @@ Pod容器组是 k8s 集群上的最基本的单元。当我们在 k8s 上
下图显示一个 Node节点上含有4个 Pod容器组
<img src="./explore.assets/module_03_nodes.svg" style="border: 1px solid #d7dae2; max-width: 600px;"></img>
<img src="./explore.assets/module_03_nodes.svg" style="border: 1px solid #d7dae2; max-width: 600px;" alt="Kubernetes教程Node概念"></img>
Pod容器组总是在 **Node节点** 上运行。Node节点是 kubernetes 集群中的计算机,可以是虚拟机或物理机。每个 Node节点都由 master 管理。一个 Node节点可以有多个Pod容器组kubernetes master 会根据每个 Node节点上可用资源的情况自动调度 Pod容器组到最佳的 Node节点上。
@ -114,11 +114,11 @@ Pod容器组总是在 **Node节点** 上运行。Node节点
**在名称空间中查看部署**
![image-20190822172329141](./explore.assets/image-20190822172329141.png)
![Kubernetes教程查看 Pods/Nodes](./explore.assets/image-20190822172329141.png)
**查看部署及其容器组**
![image-20190822172457417](./explore.assets/image-20190822172457417.png)
![Kubernetes教程查看 Pods/Nodes](./explore.assets/image-20190822172457417.png)

View File

@ -48,7 +48,7 @@ Service是一个抽象层它通过 LabelSelector 选择了一组 Pod容器
Service A 将请求转发到 IP 为 10.10.10.1 的Pod上
Service B 将请求转发到 IP 为 10.10.10.2、10.10.10.3、10.10.10.4 的Pod上。
<img src="./expose.assets/module_04_services.svg" style="border: 1px solid #d7dae2; width: 600px;"></img>
<img src="./expose.assets/module_04_services.svg" style="border: 1px solid #d7dae2; width: 600px;" alt="Kubernetes教程服务和标签"></img>
Service 将外部请求路由到一组 Pod 中,它提供了一个抽象层,使得 Kubernetes 可以在不影响服务调用者的情况下,动态调度容器组<font color="#AAAAAA">(在容器组失效后重新创建容器组,增加或者减少同一个 Deployment 对应容器组的数量等)</font>
@ -65,7 +65,7 @@ Service使用 [Labels、LabelSelector(标签和选择器)](https://kubernetes.io
* 通过 Deployment B 创建的 Pod 包含标签为 app=B
* Service B 通过标签选择器 app=B 选择可以路由的 Pod
<img src="./expose.assets/module_04_labels.svg" style="border: 1px solid #d7dae2; max-width: 600px;"></img>
<img src="./expose.assets/module_04_labels.svg" style="border: 1px solid #d7dae2; max-width: 600px;" alt="Kubernetes教程服务和标签"></img>
Labels标签可以在创建 Kubernetes 对象时附加上去,也可以在创建之后再附加上去。任何时候都可以修改一个 Kubernetes 对象的 Labels标签
@ -179,7 +179,7 @@ curl <任意节点的 IP>:32600
如下图所示:
![image-20190822211807469](./expose.assets/image-20190822211807469.png)
![Kubernetes教程公布应用程序](./expose.assets/image-20190822211807469.png)
* 点击 **保存**

View File

@ -28,7 +28,7 @@ Kubernetesk8s是自动化容器操作的开源平台这些操作包括
集群是一组节点这些节点可以是物理服务器或者虚拟机之上安装了Kubernetes平台。下图展示这样的集群。注意该图为了强调核心概念有所简化。这里可以看到一个典型的Kubernetes架构图。
![1.png](./k8s-core-concepts.assets/d7ce07842371eab180725bab5164ec17.png)
![Kubernetes教程Kubernetes核心概念-集群](./k8s-core-concepts.assets/d7ce07842371eab180725bab5164ec17.png)
上图可以看到如下组件使用特别的图标表示Service和Label
@ -63,7 +63,7 @@ Kubernetesk8s是自动化容器操作的开源平台这些操作包括
Replication Controller确保任意时间都有指定数量的Pod“副本”在运行。如果为某个Pod创建了Replication Controller并且指定3个副本它会创建3个Pod并且持续监控它们。如果某个Pod不响应那么Replication Controller会替换它保持总数为3.如下面的动画所示:
![2.gif](./k8s-core-concepts.assets/03d07039d9fc80c0f692d6176f65936e.gif)
![Kubernetes教程Kubernetes核心概念-Replication Controller](./k8s-core-concepts.assets/03d07039d9fc80c0f692d6176f65936e.gif)
如果之前不响应的Pod恢复了现在就有4个Pod了那么Replication Controller会将其中一个终止保持总数为3。如果在运行中将副本总数改为5Replication Controller会立刻启动2个新Pod保证总数为5。还可以按照这样的方式缩小Pod这个特性在执行滚动 [升级](https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#rolling_updates) 时很有用。
@ -93,7 +93,7 @@ Replication Controller确保任意时间都有指定数量的Pod“副本”在
下述动画展示了Service的功能。注意该图作了很多简化。如果不进入网络配置那么达到透明的负载均衡目标所涉及的底层网络和路由相对先进。如果有兴趣有更深入的介绍。
![3.gif](./k8s-core-concepts.assets/e7a273fcdc03d2417b354b60c253552f.gif)
![Kubernetes教程Kubernetes核心概念-Service](./k8s-core-concepts.assets/e7a273fcdc03d2417b354b60c253552f.gif)
每个节点都运行如下Kubernetes关键组件

View File

@ -34,11 +34,11 @@ description: 本文为初学者介绍了一套最合适的 Kubernetes 入门教
本篇中我们先从第一部分入手对k8s集群有个整体上的把握。
<img src="./kubernetes-basics.assets/module_01.svg" style="border: 1px solid #d7dae2; max-width: 600px;"></img>
<img src="./kubernetes-basics.assets/module_01.svg" style="border: 1px solid #d7dae2; max-width: 600px;" alt="Kubernetes教程Kubernetes集群"></img>
上图描述的是拥有一个Master(主)节点和六个Worker(工作)节点的k8s集群
![img](./kubernetes-basics.assets/module_01_cluster.svg)
![Kubernetes教程学习Kubernetes基础知识](./kubernetes-basics.assets/module_01_cluster.svg)
**Master 负责管理集群** 负责协调集群中的所有活动,例如调度应用程序,维护应用程序的状态,扩展和更新应用程序。

View File

@ -26,11 +26,11 @@ spec:
下图中Service A 只将访问流量转发到 IP 为 10.0.0.5 的Pod上
<img src="./scale.assets/module_05_scaling1.svg" style="border: 1px solid #d7dae2; max-width: 600px;"></img>
<img src="./scale.assets/module_05_scaling1.svg" style="border: 1px solid #d7dae2; max-width: 600px;" alt="Kubernetes教程伸缩"></img>
修改了 Deployment 的 replicas 为 4 后Kubernetes 又为该 Deployment 创建了 3 新的 Pod这 4 个 Pod 有相同的标签。因此Service A通过标签选择器与新的 Pod建立了对应关系将访问流量通过负载均衡在 4 个 Pod 之间进行转发。
<img src="./scale.assets/module_05_scaling2.svg" style="border: 1px solid #d7dae2; max-width: 600px;"></img>
<img src="./scale.assets/module_05_scaling2.svg" style="border: 1px solid #d7dae2; max-width: 600px;" alt="Kubernetes教程伸缩"></img>
::: tip
通过更改部署中的 replicas副本数来完成扩展
@ -94,13 +94,13 @@ watch kubectl get pods -o wide
副本数: 4
![image-20190822213532132](./scale.assets/image-20190822213532132.png)
![Kubernetes教程伸缩应用-Scaling](./scale.assets/image-20190822213532132.png)
* 点击 ***确定*** 按钮
等待新增的容器组完成初始化,如下图所示:
![image-20190822213709967](./scale.assets/image-20190822213709967.png)
![Kubernetes教程伸缩应用-Scaling](./scale.assets/image-20190822213709967.png)
:::

View File

@ -23,21 +23,21 @@ description: 本文详细讲解了 Kubernetes Rolling Update 的概念,并描
1. 原本 Service A 将流量负载均衡到 4 个旧版本的 Pod (当中的容器为 绿色)上
<img src="./update.assets/module_06_rollingupdates1.svg" style="border: 1px solid #d7dae2; max-width: 600px;"></img>
<img src="./update.assets/module_06_rollingupdates1.svg" style="border: 1px solid #d7dae2; max-width: 600px;" alt="Kubernetes教程滚动更新1"></img>
2. 更新完 Deployment 部署文件中的镜像版本后master 节点选择了一个 worker 节点,并根据新的镜像版本创建 Pod紫色容器。新 Pod 拥有唯一的新的 IP。同时master 节点选择一个旧版本的 Pod 将其移除。
此时Service A 将新 Pod 纳入到负载均衡中将旧Pod移除
<img src="./update.assets/module_06_rollingupdates2.svg" style="border: 1px solid #d7dae2; max-width: 600px;"></img>
<img src="./update.assets/module_06_rollingupdates2.svg" style="border: 1px solid #d7dae2; max-width: 600px;" alt="Kubernetes教程滚动更新2"></img>
3. 同步骤2再创建一个新的 Pod 替换一个原有的 Pod
<img src="./update.assets/module_06_rollingupdates3.svg" style="border: 1px solid #d7dae2; max-width: 600px;"></img>
<img src="./update.assets/module_06_rollingupdates3.svg" style="border: 1px solid #d7dae2; max-width: 600px;" alt="Kubernetes教程滚动更新3"></img>
4. 如此 Rolling Update 滚动更新,直到所有旧版本 Pod 均移除,新版本 Pod 也达到 Deployment 部署文件中定义的副本数,则滚动更新完成
<img src="./update.assets/module_06_rollingupdates4.svg" style="border: 1px solid #d7dae2; max-width: 600px;"></img>
<img src="./update.assets/module_06_rollingupdates4.svg" style="border: 1px solid #d7dae2; max-width: 600px;" alt="Kubernetes教程滚动更新4"></img>
滚动更新允许以下操作:
@ -106,7 +106,7 @@ watch kubectl get pods -l app=nginx
填写新的 nginx 版本号: 1.8 如下图所示:
![image-20190822214324429](./update.assets/image-20190822214324429.png)
![Kubernetes教程执行滚动更新](./update.assets/image-20190822214324429.png)
* 点击 ***变更***
@ -116,7 +116,7 @@ watch kubectl get pods -l app=nginx
可观察到 Kubernetes 对 ***Nginx部署*** 执行滚动更新的过程,如下图所示
![image-20190822214503847](./update.assets/image-20190822214503847.png)
![Kubernetes教程执行滚动更新-过程](./update.assets/image-20190822214503847.png)
:::