diff --git a/.vuepress/public/install-script/kuboard.yaml b/.vuepress/public/install-script/kuboard.yaml
new file mode 100644
index 0000000..3f15b29
--- /dev/null
+++ b/.vuepress/public/install-script/kuboard.yaml
@@ -0,0 +1,135 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: kuboard
+ namespace: kube-system
+ annotations:
+ k8s.eip.work/displayName: kuboard
+ k8s.eip.work/ingress: "true"
+ k8s.eip.work/service: NodePort
+ k8s.eip.work/workload: kuboard
+ labels:
+ k8s.eip.work/layer: monitor
+ k8s.eip.work/name: kuboard
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ k8s.eip.work/layer: monitor
+ k8s.eip.work/name: kuboard
+ template:
+ metadata:
+ labels:
+ k8s.eip.work/layer: monitor
+ k8s.eip.work/name: kuboard
+ spec:
+ containers:
+ - name: kuboard
+ image: eipwork/kuboard:latest
+ imagePullPolicy: Always
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: kuboard
+ namespace: kube-system
+spec:
+ type: NodePort
+ ports:
+ - name: http
+ port: 80
+ targetPort: 80
+ nodePort: 32567
+ selector:
+ k8s.eip.work/layer: monitor
+ k8s.eip.work/name: kuboard
+
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: kuboard-user
+ namespace: kube-system
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: kuboard-user
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: cluster-admin
+subjects:
+- kind: ServiceAccount
+ name: kuboard-user
+ namespace: kube-system
+
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: kuboard-viewer
+ namespace: kube-system
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: kuboard-viewer
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: view
+subjects:
+- kind: ServiceAccount
+ name: kuboard-viewer
+ namespace: kube-system
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: kuboard-viewer-node
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: system:node
+subjects:
+- kind: ServiceAccount
+ name: kuboard-viewer
+ namespace: kube-system
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: kuboard-viewer-pvp
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: system:persistent-volume-provisioner
+subjects:
+- kind: ServiceAccount
+ name: kuboard-viewer
+ namespace: kube-system
+
+---
+apiVersion: extensions/v1beta1
+kind: Ingress
+metadata:
+ name: kuboard
+ namespace: kube-system
+ annotations:
+ nginx.org/websocket-services: "kuboard"
+ nginx.com/sticky-cookie-services: "serviceName=kuboard srv_id expires=1h path=/"
+spec:
+ rules:
+ - host: kuboard.yourdomain.com
+ http:
+ paths:
+ - path: /
+ backend:
+ serviceName: kuboard
+ servicePort: http
diff --git a/install/install-dashboard.md b/install/install-dashboard.md
index 0562120..6d9a28a 100644
--- a/install/install-dashboard.md
+++ b/install/install-dashboard.md
@@ -33,7 +33,7 @@
> 如果您参考 https://kuboard.cn 网站上提供的 Kubernetes 安装文档,可在 master 节点上执行以下命令。
``` sh
-kubectl apply -f https://raw.githubusercontent.com/eip-work/eip-monitor-repository/master/dashboard/kuboard.yaml
+kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml
```
:::
@@ -43,12 +43,10 @@ kubectl apply -f https://raw.githubusercontent.com/eip-work/eip-monitor-reposito
卸载 Kuboard
``` sh
-kubectl delete -f https://raw.githubusercontent.com/eip-work/eip-monitor-repository/master/dashboard/kuboard.yaml
+kubectl delete -f https://kuboard.cn/install-script/kuboard.yaml
```
:::
-
-
::::
## 获取 Token
diff --git a/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822165220992.png b/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822165220992.png
new file mode 100644
index 0000000..9f46008
Binary files /dev/null and b/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822165220992.png differ
diff --git a/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822165351264.png b/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822165351264.png
new file mode 100644
index 0000000..d844fae
Binary files /dev/null and b/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822165351264.png differ
diff --git a/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822165722298.png b/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822165722298.png
new file mode 100644
index 0000000..64f21e6
Binary files /dev/null and b/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822165722298.png differ
diff --git a/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822170407368.png b/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822170407368.png
new file mode 100644
index 0000000..f7629c1
Binary files /dev/null and b/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822170407368.png differ
diff --git a/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822171013606.png b/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822171013606.png
new file mode 100644
index 0000000..f7629c1
Binary files /dev/null and b/micro-service/prepare/k8s-basics/deploy-app.assets/image-20190822171013606.png differ
diff --git a/micro-service/prepare/k8s-basics/deploy-app.md b/micro-service/prepare/k8s-basics/deploy-app.md
index 674d45d..f91be8a 100644
--- a/micro-service/prepare/k8s-basics/deploy-app.md
+++ b/micro-service/prepare/k8s-basics/deploy-app.md
@@ -1,10 +1,15 @@
+
+
# 部署第一个应用程序
本文翻译自 Kubernetes 官网 [Using kubectl to Create a Deployment](https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/) ,并有所改写
### 前提
-假设您已经完成 Kubernetes 集群的安装,请参考文档 [安装 Kubernetes 单Master节点](/install/install-k8s)
+假设您已经
+
+* 完成 Kubernetes 集群的安装,请参考文档 [安装 Kubernetes 单Master节点](/install/install-k8s.html)
+* 完成 Kuboard 的安装,请参考文档 [安装 Kuboard](/install/install-dashboard.html)
### 目标
@@ -38,6 +43,15 @@ Deployment 处于 master 节点上,通过发布 Deployment,master 节点会
## 实战:部署 nginx Deployment
+本套教程提供了两种实战方式:
+
+* 使用 kubectl
+* 使用 Kuboard
+
+:::: tabs type:border-card
+
+::: tab 使用kubectl lazy
+
**创建 YAML 文件**
创建文件 nginx-deployment.yaml,内容如下:
@@ -64,9 +78,7 @@ spec: #这是关于该Deployment的描述,可以理解为你期待该D
spec: #期望Pod实现的功能(即在pod中部署)
containers: #生成container,与docker中的container是同一种
- name: nginx #container的名称
- image: nginx:1.7.9 #使用镜像nginx:1.7.9创建container,并向外暴露80端口
- ports:
- - containerPort: 80
+ image: nginx:1.7.9 #使用镜像nginx:1.7.9创建container,该container默认80端口可访问
```
@@ -92,8 +104,6 @@ spec:
containers:
- name: nginx
image: nginx:1.7.9
- ports:
- - containerPort: 80
```
@@ -116,6 +126,53 @@ kubectl get deployments
kubectl get pods
```
+:::
+
+::: tab 使用Kuboard lazy
+
+**打开 Kuboard 集群概览界面**,如下图所示:
+
+
+
+
+
+**点击 default 名称空间**
+
+
+
+
+
+点击 **创建工作负载**
+
+ 并填写表单如下:
+
+| 字段名 | 填写内容 | 备注 |
+| -------- | ----------- | ------------------------------------------------------- |
+| 服务类型 | Deployment | |
+| 服务分层 | 展现层 | Kuboard使用这个字段确定将部署显示在微服务架构的哪个分层 |
+| 服务名称 | nginx | 服务分层的前缀 + 服务名 组成最终的 K8S Deployment name |
+| 服务描述 | Nginx部署 | 显示在微服务分层架构图中便于识别的名字,可以是中文 |
+| 副本数量 | 1 | replicas |
+| 容器名称 | nginx | |
+| 镜像 | nginx:1.7.9 | |
+| 抓取策略 | Always | 每次创建 Pod 都尝试抓取镜像 |
+
+
+
+
+
+点击 ***保存***
+
+点击 ***应用***
+
+点击 ***完成***
+
+此时可查看到该应用的部署结果
+
+:::
+
+::::
+
可分别查看到一个名为 nginx-deployment 的 Deployment 和一个名为 nginx-deployment-xxxxxxx 的 Pod
diff --git a/micro-service/prepare/k8s-basics/explore.assets/image-20190822172329141.png b/micro-service/prepare/k8s-basics/explore.assets/image-20190822172329141.png
new file mode 100644
index 0000000..f4f8431
Binary files /dev/null and b/micro-service/prepare/k8s-basics/explore.assets/image-20190822172329141.png differ
diff --git a/micro-service/prepare/k8s-basics/explore.assets/image-20190822172457417.png b/micro-service/prepare/k8s-basics/explore.assets/image-20190822172457417.png
new file mode 100644
index 0000000..2831b56
Binary files /dev/null and b/micro-service/prepare/k8s-basics/explore.assets/image-20190822172457417.png differ
diff --git a/micro-service/prepare/k8s-basics/explore.md b/micro-service/prepare/k8s-basics/explore.md
index 373e510..81ec9c9 100644
--- a/micro-service/prepare/k8s-basics/explore.md
+++ b/micro-service/prepare/k8s-basics/explore.md
@@ -48,7 +48,11 @@ Pod(容器组)总是在 **Node(节点)** 上运行。Node(节点)是
- 容器运行环境(如Docker)负责下载镜像、创建和运行容器等。
-## 实战:使用Kubectl进行故障排除
+## 实战:故障排除
+
+:::: tabs type:border-card
+
+::: tab 使用kubectl lazy
在[部署第一个应用程序](./deploy-app.html) 中,我们使用了 kubectl 命令行界面部署了 nginx 并且查看了 Deployment 和 Pod。kubectl 还有如下四个常用命令,在我们排查问题时可以提供帮助:
@@ -99,6 +103,24 @@ Pod(容器组)总是在 **Node(节点)** 上运行。Node(节点)是
请尝试在您的集群中执行一下上述的几个命令,了解如何通过 kubectl 操作 kubernetes 集群中的 Node、Pod、Container。
+:::
+
+::: tab 使用Kuboard lazy
+
+**在名称空间中查看部署**
+
+
+
+**查看部署及其容器组**
+
+
+
+
+
+:::
+
+::::
+
::: tip
Worker节点是k8s中的工作计算机,可能是VM或物理计算机,具体取决于群集。多个Pod可以在一个节点上运行。
:::
diff --git a/micro-service/prepare/k8s-basics/expose.assets/image-20190822211807469.png b/micro-service/prepare/k8s-basics/expose.assets/image-20190822211807469.png
new file mode 100644
index 0000000..a76e1b3
Binary files /dev/null and b/micro-service/prepare/k8s-basics/expose.assets/image-20190822211807469.png differ
diff --git a/micro-service/prepare/k8s-basics/expose.md b/micro-service/prepare/k8s-basics/expose.md
index 984b044..e85f2ea 100644
--- a/micro-service/prepare/k8s-basics/expose.md
+++ b/micro-service/prepare/k8s-basics/expose.md
@@ -65,6 +65,10 @@ Labels(标签)可以在创建 Kubernetes 对象时附加上去,也可以
## 实战:为您的 nginx Deployment 创建一个 Service
+:::: tabs type:border-card
+
+::: tab 使用kubectl lazy
+
创建nginx的Deployment中定义了Labels,如下:
``` yaml
@@ -149,6 +153,38 @@ curl <任意节点的 IP>:32600
```
> 如果您的集群在云上,您可能通过云服务商的安全组开放 32600 端口的访问
+:::
+
+::: tab 使用Kuboard lazy
+
+* 在 default 名称空间 点击 ***展现层 --> Nginx部署***
+
+* 点击 ***编辑*** 按钮
+
+* 填写表单如下:
+
+ 访问方式 Service 选择 ***NodePort(VPC内访问)***
+
+ 填写一条记录:
+
+ | 协议 | 服务端口 | 节点端口 | 容器端口 |
+ | ---- | -------- | -------- | -------- |
+ | TCP | 80 | 32601 | 80 |
+
+如下图所示:
+
+
+
+* 点击 **保存**
+
+* **访问服务**
+
+ 在浏览器打开 `http://<任意节点的 IP>:32601`
+
+:::
+
+::::
+
~~到目前为止,我们已经成功部署好项目,并能够对其进行访问,
diff --git a/micro-service/prepare/k8s-basics/scale.assets/image-20190822213532132.png b/micro-service/prepare/k8s-basics/scale.assets/image-20190822213532132.png
new file mode 100644
index 0000000..39b6359
Binary files /dev/null and b/micro-service/prepare/k8s-basics/scale.assets/image-20190822213532132.png differ
diff --git a/micro-service/prepare/k8s-basics/scale.assets/image-20190822213709967.png b/micro-service/prepare/k8s-basics/scale.assets/image-20190822213709967.png
new file mode 100644
index 0000000..c9dc158
Binary files /dev/null and b/micro-service/prepare/k8s-basics/scale.assets/image-20190822213709967.png differ
diff --git a/micro-service/prepare/k8s-basics/scale.md b/micro-service/prepare/k8s-basics/scale.md
index 811a296..107291b 100644
--- a/micro-service/prepare/k8s-basics/scale.md
+++ b/micro-service/prepare/k8s-basics/scale.md
@@ -33,6 +33,10 @@ spec:
## 实战:将 nginx Deployment 扩容到 4 个副本
+:::: tabs type:border-card
+
+::: tab 使用kubectl lazy
+
**修改 nginx-deployment.yaml 文件**
将 replicas 修改为 4
@@ -73,6 +77,30 @@ kubectl apply -f nginx-deployment.yaml
watch kubectl get pods -o wide
```
+:::
+
+::: tab 使用Kuboard
+
+* 在 default 名称空间 点击 ***展现层 --> Nginx部署***
+
+* 点击 ***伸缩*** 按钮
+
+ 填写表单
+
+ 副本数: 4
+
+
+
+* 点击 ***确定*** 按钮
+
+ 等待新增的容器组完成初始化,如下图所示:
+
+
+
+:::
+
+::::
+
~~一旦运行了多个应用程序实例,就可以在不停机的情况下执行滚动更新了,
~~let‘s go-> [执行滚动更新](./update.html)
diff --git a/micro-service/prepare/k8s-basics/update.assets/image-20190822214324429.png b/micro-service/prepare/k8s-basics/update.assets/image-20190822214324429.png
new file mode 100644
index 0000000..9e4061a
Binary files /dev/null and b/micro-service/prepare/k8s-basics/update.assets/image-20190822214324429.png differ
diff --git a/micro-service/prepare/k8s-basics/update.assets/image-20190822214503847.png b/micro-service/prepare/k8s-basics/update.assets/image-20190822214503847.png
new file mode 100644
index 0000000..aca2252
Binary files /dev/null and b/micro-service/prepare/k8s-basics/update.assets/image-20190822214503847.png differ
diff --git a/micro-service/prepare/k8s-basics/update.md b/micro-service/prepare/k8s-basics/update.md
index 9203958..591a6c8 100644
--- a/micro-service/prepare/k8s-basics/update.md
+++ b/micro-service/prepare/k8s-basics/update.md
@@ -18,21 +18,21 @@
1. 原本 Service A 将流量负载均衡到 4 个旧版本的 Pod (当中的容器为 绿色)上
-
+
2. 更新完 Deployment 部署文件中的镜像版本后,master 节点选择了一个 worker 节点,并根据新的镜像版本创建 Pod(紫色容器)。新 Pod 拥有唯一的新的 IP。同时,master 节点选择一个旧版本的 Pod 将其移除。
此时,Service A 将新 Pod 纳入到负载均衡中,将旧Pod移除
-
+
3. 同步骤2,再创建一个新的 Pod 替换一个原有的 Pod
-
+
1. 如此 Rolling Update 滚动更新,直到所有旧版本 Pod 均移除,新版本 Pod 也达到 Deployment 部署文件中定义的副本数,则滚动更新完成
-
+
滚动更新允许以下操作:
@@ -42,6 +42,10 @@
## 实战:更新 nginx Deployment
+:::: tabs type:border-card
+
+::: tab 使用kubectl lazy
+
**修改 nginx-deployment.yaml 文件**
修改文件中 image 镜像的标签,如下所示
@@ -83,6 +87,36 @@ kubectl apply -f nginx-deployment.yaml
watch kubectl get pods -l app=nginx
```
+:::
+
+::: tab 使用Kuboard lazy
+
+* **进入 default 名称空间**
+
+* 点击 ***调整镜像版本***
+
+ 勾选展现层,并刷新,可找到 ***Nginx部署***
+
+* 针对 ***Nginx部署*** 点击修改
+
+ 填写新的 nginx 版本号: 1.8, 如下图所示:
+
+
+
+* 点击 ***变更***
+
+* 点击 ***应用***
+
+* 点击 ***完成***
+
+ 可观察到 Kubernetes 对 ***Nginx部署*** 执行滚动更新的过程,如下图所示
+
+
+
+:::
+
+::::
+
~~哈哈,到此,您已经成入门 kubernetes,并完成了部署、扩容与滚动更新的实践,
diff --git a/overview/change-log-on-the-way.md b/overview/change-log-on-the-way.md
index 174f1b2..890a63c 100644
--- a/overview/change-log-on-the-way.md
+++ b/overview/change-log-on-the-way.md
@@ -1,4 +1,4 @@
-## v1.0.2-beta.1
+## v1.0.2-beta.2
**发布日期**
@@ -10,7 +10,9 @@
**优化**
+* 优化删除确认的输入内容的提示
**BUG 修复**
-* 修复自定义 Kubernetes DNS Domain 时,无法使用监控套件的问题
+* 更新版本后,版本号显示仍然为旧版本,需要强制刷新才能显示新版本
+* 重复打开预览 YAML 的窗口,YAML 内容会不断累加