diff --git a/.vuepress/components/ad-list.js b/.vuepress/components/ad-list.js
index 1049eb0..ca9e681 100644
--- a/.vuepress/components/ad-list.js
+++ b/.vuepress/components/ad-list.js
@@ -7,6 +7,13 @@ module.exports = [
url: 'https://github.com/fanux/sealos',
weight: 60
},
+ {
+ name: 'Suven',
+ description: '趣丸网络科技 Suven 免费提供的视频课',
+ strong: '免费学习',
+ url: 'https://www.bilibili.com/video/av88798402',
+ weight: 50,
+ },
// {
// name: '阳明的博客',
// description: 'Kubernetes,',
@@ -23,14 +30,14 @@ module.exports = [
// url: 'https://time.geekbang.org/column/intro/100036601?code=0Totv3yN%2FohiumTclUF4ky4qRYs9Ecq6ZK4IdgNf88M%3D',
// weight: 1
// },
- // {
- // name: '腾讯云',
- // description: '腾讯云双十二活动,',
- // strong: '百款云产品一折起',
- // action: '去抢',
- // url: 'https://cloud.tencent.com/act/cps/redirect?redirect=1052&cps_key=2ee6baa049659f4713ddc55a51314372&from=console',
- // weight: 60
- // },
+ {
+ name: '腾讯云',
+ description: '【腾讯云】云产品采购季,助力行业复工。',
+ strong: '1核2G云服务器,首年99元',
+ action: '去抢',
+ url: 'https://cloud.tencent.com/act/cps/redirect?redirect=1053&cps_key=2ee6baa049659f4713ddc55a51314372&from=console',
+ weight: 60
+ },
// {
// name: '阿里云',
// description: '双十二,主会场,',
diff --git a/install/install-dashboard.md b/install/install-dashboard.md
index d0e17ac..c3291ca 100644
--- a/install/install-dashboard.md
+++ b/install/install-dashboard.md
@@ -238,6 +238,8 @@ http://任意一个Worker节点的IP地址:32567/console/yournamespace/yourpod?c
:tada: :tada: :tada:
+- 了解 [Kuboard 的环境变量](./install-kuboard-env.html)
+
- 使用 Kuboard 工作负载编辑器 [创建第一个应用](/guide/example/busybox.html) (10分钟)
- [使用 GitHub/GitLab 账号登录 Kubernetes](/learning/k8s-advanced/sec/authenticate/install.html)
diff --git a/install/install-k8s.md b/install/install-k8s.md
index 585e6c9..44b533f 100644
--- a/install/install-k8s.md
+++ b/install/install-k8s.md
@@ -41,9 +41,8 @@ meta:
-->
-[【腾讯云】12.12云产品限时秒杀,爆款1核2G云服务器,99元/1年](https://cloud.tencent.com/act/cps/redirect?redirect=1052&cps_key=2ee6baa049659f4713ddc55a51314372&from=console)
+[【腾讯云】云产品采购季,助力行业复工。1核2G云服务器,首年99元](https://cloud.tencent.com/act/cps/redirect?redirect=1053&cps_key=2ee6baa049659f4713ddc55a51314372&from=console)
-
diff --git a/install/install-kuboard-env.assets/image-20200214211230317.png b/install/install-kuboard-env.assets/image-20200214211230317.png
new file mode 100644
index 0000000..6faf46d
Binary files /dev/null and b/install/install-kuboard-env.assets/image-20200214211230317.png differ
diff --git a/install/install-kuboard-env.assets/image-20200214211506647.png b/install/install-kuboard-env.assets/image-20200214211506647.png
new file mode 100644
index 0000000..25f2d61
Binary files /dev/null and b/install/install-kuboard-env.assets/image-20200214211506647.png differ
diff --git a/install/install-kuboard-env.md b/install/install-kuboard-env.md
new file mode 100644
index 0000000..66bbeff
--- /dev/null
+++ b/install/install-kuboard-env.md
@@ -0,0 +1,129 @@
+---
+vssueId: 126
+description: Kubernetes_Dashboard_是Kubernetes的官方WebUI_本文描述了在K8S集群上安装Kuberentes_Dashboard后_如何修改Kuboard登录页末尾的ICP备案编号_以及其他的一些Kuboard的环境变量
+meta:
+ - name: keywords
+ content: Kubernetes Dashboard,安装Kubernetes Dashboard,K8S Dashboard,K8S管理界面
+---
+
+# 安装Kubernetes Dashboard
+
+
+
+## 环境变量
+
+安装 Kuboard 后,有如下几个环境变量值得您关注:
+
+| 环境变量名 | 描述 | 默认值 |
+| ------------------------- | --------------------------------------- | ------------- |
+| KUBERNETES_CLUSTER_DOMAIN | Kubernetes Cluster Name | cluster.local |
+| KUBOARD_ICP_DESCRIPTION | 您的 ICP 备案号 | 空 |
+| KUBOARD_SAFE_MODE | 是否禁用监控套件的转发 | 空 |
+| OIDC_ISSUER | OpenID Connect 对应的 Identity Provider | 空 |
+
+## 修改Kuboard环境变量
+
+* 打开 Kuboard 界面,并导航到 Kuboard 工作负载编辑页:
+
+ kube-system 名称空间 --> Kuboard 工作负载 --> 编辑
+
+* 也可以按如下方式直接进入 Kuboard 工作负载编辑页:
+
+ 打开链接 `http://节点IP:32567/namespace/kube-system/workload/edit/Deployment/kuboard`
+
+
+
+在 Kuboard 工作负载编辑页,为 `kuboard` 容器添加、修改环境变量,如下图,正在修改 `KUBOARD_ICP_DESCRIPTION` 的取值
+
+
+
+## KUBERNETES_CLUSTER_DOMAIN
+
+如果您通过 kubeadm 安装 Kubernetes 集群,执行命令
+``` sh
+kubeadm config view
+```
+
+可以查看到输出结果中的 `networking.dnsDomain` 字段,该字段通常取值为 `cluster.local`,如下所示:
+``` yaml {19}
+apiServer:
+ extraArgs:
+ authorization-mode: Node,RBAC
+ timeoutForControlPlane: 4m0s
+apiVersion: kubeadm.k8s.io/v1beta2
+certificatesDir: /etc/kubernetes/pki
+clusterName: kubernetes
+controlPlaneEndpoint: apiserver.demo:6443
+controllerManager: {}
+dns:
+ type: CoreDNS
+etcd:
+ local:
+ dataDir: /var/lib/etcd
+imageRepository: gcr.azk8s.cn/google-containers
+kind: ClusterConfiguration
+kubernetesVersion: v1.16.4
+networking:
+ dnsDomain: cluster.local
+ serviceSubnet: 10.96.0.0/12
+scheduler: {}
+```
+
+少数情况下,您安装集群时可能修改了这个字段的取值,此时,请确保您为 Kuboard 设置了 `KUBERNETES_CLUSTER_DOMAIN` 这个环境变量,并将其取值设置与 `networking.dnsDomain` 的取值相同。否则 Kuboard 的一部分功能将无法正常工作。
+
+## KUBOARD_ICP_DESCRIPTION
+
+自 Kuboard v1.0.6.3 开始,用户可以修改 Kuboard 登录页面页尾的 ICP 备案编号及URL。
+
+为 Kuboard 增加环境变量 `KUBOARD_ICP_DESCRIPTION` 取值为您的 ICP 备案号,例如 `京ICP备19008693号-2`,应用生效后,进入 Kuboard 登录界面,将在页尾显示您的 ICP 备案编号,如下图所示:
+
+
+
+::: tip 安全提示
+
+Kuboard 用于管理的 Kubernetes 集群上部署的各类资源,如果您想通过公有网络访问 Kuboard,请做好安全防护:
+
+* 建议您限制可以访问 Kuboard 的 IP 地址白名单;
+* 不要泄露 ServiceAccount 的 Token,如需要修改 ServiceAccount 的 Token,请参考 [为名称空间创建管理员用户](/learning/k8s-advanced/sec/kuboard.html) 中,关于在 ServiceAccount 界面上删除 Secret 的部分;
+* 请为 Kuboard 配置 https 证书,配置方式有:
+ * 在 `http://节点IP:32567/namespace/kube-system/workload/edit/Deployment/kuboard` 界面上互联网入口(Ingress)这一部分开启 https 即可配置;
+ * 如果您在 Kuboard 前面另外配置了反向代理,请在您自己的反向代理中配置 https 证书;
+* 请设置 [KUBOARD_SAFE_MODE](#KUBOARD_SAFE_MODE)
+
+:::
+
+
+
+## KUBOARD_SAFE_MODE
+
+在 Kuboard 早期版本中,为了尝试监控套件的功能,在 Kuboard 所使用的 nginx 中设置了比较宽泛的动态转发,具体配置如下所示:
+
+``` nginx.conf
+location ^~ /eip-monitor/ {
+ location ~ "^/eip-monitor/namespace/(.*)/service/(.*)/port/(.*)/(.*)" {
+ resolver 127.0.0.1 valid=5s;
+ proxy_pass http://$2.$1.svc.KUBERNETES_CLUSTER_DOMAIN:$3/$4$is_args$args;
+ gzip on;
+ }
+}
+
+location ^~ /addons/ {
+ location ~ "^/addons/namespace/(.*)/service/(.*)/port/(.*)/(.*)" {
+ resolver 127.0.0.1 valid=5s;
+ proxy_pass http://$2.$1.svc.KUBERNETES_CLUSTER_DOMAIN:$3/$4$is_args$args;
+ gzip on;
+ }
+}
+```
+
+得益于这样的 nginx 转发规则,kuboard 可以在监控套件的功能中非常简便地跳转到 Kubernetes 上部署的任意 Service。但是,如果将 Kuboard 直接部署到公网,这种操作也使得 Kuboard 留下了一个安全隐患。
+
+通过将环境变量 `KUBOARD_SAFE_MODE` 的值设置为 `KUBOARD_SAFE_MODE_ENABLED`,可以禁用这个转发规则,以获得更好地安全性。
+
+> * 当前,如果您想使用 Kuboard 的 [全局监控套件](/guide/addon/),请不要设置 `KUBOARD_SAFE_MODE`,请通过其他方式确保安全性,例如,限制只能在内网访问 Kuboard;
+> * 在 2020年3月份即将发布 Kuboard v1.0.7 的版本中,将引入 Kuboard Proxy 的功能,该功能可以在兼容 Kuboard 套件的情况下,提升安全性,禁止未经授权的访问;届时,将不再需要设置 `KUBOARD_SAFE_MODE`。
+
+## OIDC_ISSUER
+
+`OIDC_ISSUER` 这个环境变量与 Kubernetes Authentication 相关,建议您不要手工设置此环境变量,如果您想通过 OpenID Connect 的方式登录 Kuboard / Kubectl 请参考 [Kubernetes Authentication 安装向导](/learning/k8s-advanced/sec/authenticate/install.html),在该向导的引导下,您将能够顺利配置 Kuboard 与 GitHub / GitLab 等的单点登录。
+> 设置 `OIDC_ISSUER` 是该向导自动完成的一个步骤。
diff --git a/install/install-kuboard-icp.md b/install/install-kuboard-icp.md
deleted file mode 100644
index 176f5f8..0000000
--- a/install/install-kuboard-icp.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-vssueId: 126
-description: Kubernetes_Dashboard_是Kubernetes的官方WebUI_本文描述了在K8S集群上安装Kuberentes_Dashboard后_如何修改Kuboard登录页末尾的ICP备案编号
-meta:
- - name: keywords
- content: Kubernetes Dashboard,安装Kubernetes Dashboard,K8S Dashboard,K8S管理界面
----
-
-# 安装Kubernetes Dashboard
-
-
-
-自 Kuboard v1.0.6.3 开始,用户可以修改 Kuboard 登录页面页尾的 ICP 备案编号及URL。
-
-修改方式:
-
-为 Kuboard 增加环境变量:
-* KUBOARD_ICP_DESCRIPTION 取值为您的 ICP 备案号,例如 `京ICP备19008693号-2`
diff --git a/learning/k8s-advanced/sec/authenticate/install.md b/learning/k8s-advanced/sec/authenticate/install.md
index 266f542..05727be 100644
--- a/learning/k8s-advanced/sec/authenticate/install.md
+++ b/learning/k8s-advanced/sec/authenticate/install.md
@@ -8,7 +8,7 @@ meta:
---
-# Kubernetes Authenticate 安装向导
+# Kubernetes Authentication 安装向导
@@ -103,14 +103,14 @@ Dex 支持的 Identity Provider 有多种类型,请参考 [Dex](https://githu
如果选择 GitLab 作为 Identity Provider:
-* 需要在 GitLab 中为 Dex 创建 Application,此时,RedirectURL 参数请从 Kubernetes Authenticate 安装向导的界面上获取,Scopes 请至少选择 `openid`、`read_user` 这两个 scope,如下图所示,
-* 完成 GitLab Application 创建后,需要将 `Client ID`、`Client Secret` 两个字段回填到 Kubernetes Authenticate 安装向导。
+* 需要在 GitLab 中为 Dex 创建 Application,此时,RedirectURL 参数请从 Kubernetes Authentication 安装向导的界面上获取,Scopes 请至少选择 `openid`、`read_user` 这两个 scope,如下图所示,
+* 完成 GitLab Application 创建后,需要将 `Client ID`、`Client Secret` 两个字段回填到 Kubernetes Authentication 安装向导。

##### 配置 GitHub Application
-* 请根据向导的提示,在 GitHub 中创建 OAuth Apps,并将 `Client ID`、`Client Secret` 两个字段回填到 Kubernetes Authenticate 安装向导。
+* 请根据向导的提示,在 GitHub 中创建 OAuth Apps,并将 `Client ID`、`Client Secret` 两个字段回填到 Kubernetes Authentication 安装向导。
#### 直连 Identity Provider
@@ -131,11 +131,11 @@ Dex 支持的 Identity Provider 有多种类型,请参考 [Dex](https://githu
### 安装Dex
-Kubernetes Authenticate 安装向导中,请按照如下步骤完成 Dex 的安装:
+Kubernetes Authentication 安装向导中,请按照如下步骤完成 Dex 的安装:
* 填写参数,如下图所示:
- 此步骤中的参数都无需修改,因为在前一个步骤 ***准备*** 环节,已经填写了,其他的参数由 Kubernetes Authenticate 安装向导为您生成。
+ 此步骤中的参数都无需修改,因为在前一个步骤 ***准备*** 环节,已经填写了,其他的参数由 Kubernetes Authentication 安装向导为您生成。
如果您希望多个 Kubernetes 集群都使用这一个 Dex 实例,请在下图表单中新增一个 Dex Client 的信息。
@@ -143,7 +143,7 @@ Kubernetes Authenticate 安装向导中,请按照如下步骤完成 Dex 的安
* 保存上图表单后,点击 **安装** 按钮
- Kubernetes Authenticate 安装向导将在此 Kubernetes 集群安装 Dex,如需要了解具体安装的内容,可在安装过程中预览 Dex 的安装文件,也可以参考 [Dex](https://github.com/dexidp/dex) 的文档,已了解更多关于 Dex 的知识。
+ Kubernetes Authentication 安装向导将在此 Kubernetes 集群安装 Dex,如需要了解具体安装的内容,可在安装过程中预览 Dex 的安装文件,也可以参考 [Dex](https://github.com/dexidp/dex) 的文档,已了解更多关于 Dex 的知识。
* 完成 Dex 安装后,Kubernetes Authenticate 安装向导将引导您确认一些信息,点击 ***已确认*** 按钮,可进入下一个步骤,**设定 Kuboard OIDC**
diff --git a/learning/k8s-advanced/sec/kuboard.md b/learning/k8s-advanced/sec/kuboard.md
index 1cbbf1b..f96cc43 100644
--- a/learning/k8s-advanced/sec/kuboard.md
+++ b/learning/k8s-advanced/sec/kuboard.md
@@ -46,7 +46,11 @@ meta:
* 完成创建后,将自动进入 ServiceAccount 详情页,如下图所示:
- 图中,可以看到 Kubernetes 默认为 ServiceAccount 授予的 ***集群级别权限***
+ * 图中,可以看到 Kubernetes 默认为 ServiceAccount 授予的 ***集群级别权限***
+ * 可以为一个 Service Account 创建多个 Secret
+ * 也可以删除 Service Account 的原有 Secret
+
+ > 当您使用 Service Account 作为 Kuboard / Kubernetes Dashboard 的登录方式时,这个特性就显得非常有用,您可以定期更换 ServiceAccount 的 Secret Token,以增强系统的安全性。

diff --git a/support/change-log/change-log-on-the-way.md b/support/change-log/change-log-on-the-way.md
index 47a5215..91b689c 100644
--- a/support/change-log/change-log-on-the-way.md
+++ b/support/change-log/change-log-on-the-way.md
@@ -3,7 +3,6 @@ Kuboard v1.0.x 的更新说明
* 创建工作负载时,layer 不能选择默认
-* KUBE_CLUSTER_NAME
------------------
@@ -27,7 +26,7 @@ Kuboard v1.0.x 的更新说明
BUG
-
+* 显示相对时间时,kubectl 使用服务器时间计算相对时间,Kuboard 则使用客户端的机器时间计算相对时间
* etcd 安装和备份文档
* kubeadm 安装之后的目录结构
diff --git a/support/change-log/v1.0.x.md b/support/change-log/v1.0.x.md
index 28c1c72..bba8b12 100644
--- a/support/change-log/v1.0.x.md
+++ b/support/change-log/v1.0.x.md
@@ -22,7 +22,7 @@ Kuboard v1.0.x 的更新说明
**优化**
-* [自定义 ICP 备案号](/install/install-kuboard-icp.html)
+* [自定义 ICP 备案号](/install/install-kuboard-env.html)
* 增加 /robots.txt 文件,禁止搜索引擎抓取
* 容器镜像版本调整 --> 默认不带查询条件
* 可通过 KUBOARD_SAFE_MODE 环境变量禁用 /eip-monitor/ 和 /addons/ 代理转发