This commit is contained in:
huanqing.shao
2020-06-07 23:58:50 +08:00
parent 412621dce8
commit a88563cf16
53 changed files with 629 additions and 274 deletions

View File

@ -57,10 +57,7 @@ Kuboard 是 Kubernetes 的一款图形化管理界面。
安装 Kuboard。
> 如果您参考 https://kuboard.cn 网站上提供的 Kubernetes 安装文档,可在 master 节点上执行以下命令。
> 关于版本选择:
> * 当前Kuboard 正在从 v1.0.x 向 Kuboard v2.0.0 过渡v2.0.0-beta.3.c 完成度已经比较高由于文档尚未更新latest 版本仍然保持为 v1.0.9.7。新用户可以从 beta 版开始,以获得更好的体验。
> * 参考此文,[了解如何从 v1.0.x 升级到 Kuboard v2.0.x](/support/change-log/upgrade-1-2.html)
> * 如果您已经安装了 Kuboard v1.0.x请参考 [了解如何从 v1.0.x 升级到 Kuboard v2.0.x](/support/change-log/upgrade-1-2.html)
<b-tabs content-class="mt-3">
<b-tab title="稳定版">
@ -97,7 +94,7 @@ kubectl apply -f https://addons.kuboard.cn/metrics-server/0.3.6/metrics-server-a
查看 Kuboard 运行状态:
``` sh
kubectl get pods -l k8s.eip.work/name=kuboard -n kube-system
kubectl get pods -l k8s.kuboard.cn/name=kuboard -n kube-system
```
输出结果如下所示:
@ -296,7 +293,7 @@ kubectl port-forward service/kuboard 8080:80 -n kube-system
* Kuboard 容器中不能访问到您的 API Server定位问题的方式如下
* 进入 Kuboard 的终端
```sh
kubectl exec -it $(kubectl get pods -l k8s.eip.work/name=kuboard -n kube-system | grep kuboard | awk '{print $1}') /bin/bash -n kube-system
kubectl exec -it $(kubectl get pods -l k8s.kuboard.cn/name=kuboard -n kube-system | grep kuboard | awk '{print $1}') /bin/bash -n kube-system
```
* 在 Kuboard 终端中执行
``` sh

View File

@ -15,7 +15,7 @@ meta:
## 文档特点
<div style="min-height: 612px;">
<InstallBanner version="v1.18.x" updateCount="82"/>
<InstallBanner version="v1.18.x" updateCount="83"/>
</div>
参考此免费文档98%以上的概率,您能够顺利完成 K8S 安装极个别的问题可以到QQ群里免费答疑。
@ -26,7 +26,7 @@ meta:
* 以更加直观易于理解的形式讲解此安装过程
* 介绍K8S学习路径
* 报名学员如碰到安装问题,可获得远程协助
> 第一次直播课已经于1月18日完成现在 [报名]((https://ke.qq.com/course/477593?flowToken=1016935)) 可以随时看回看如需要还可在2月8日免费再听一次直播。 -->
第一次直播课已经于1月18日完成现在 [报名]((https://ke.qq.com/course/477593?flowToken=1016935)) 可以随时看回看如需要还可在2月8日免费再听一次直播。 -->
## 配置要求
@ -179,7 +179,7 @@ default via 172.21.0.1 dev eth0
<b-tabs content-class="mt-3">
<b-tab title="快速安装" active>
**请将脚本最后的 1.18.2 替换成您需要的版本号,**
**请将脚本最后的 1.18.3 替换成您需要的版本号,**
<font color="red">脚本中间的 v1.18.x 不要替换</font>
> docker hub 镜像请根据自己网络的情况任选一个
@ -189,7 +189,7 @@ default via 172.21.0.1 dev eth0
> * 第十行为阿里云 docker hub 镜像
``` sh
# 在 master 节点和 worker 节点都要执行
# 最后一个参数 1.18.2 用于指定 kubenetes 版本,支持所有 1.18.x 版本的安装
# 最后一个参数 1.18.3 用于指定 kubenetes 版本,支持所有 1.18.x 版本的安装
# 腾讯云 docker hub 镜像
# export REGISTRY_MIRROR="https://mirror.ccs.tencentyun.com"
# DaoCloud 镜像
@ -198,13 +198,13 @@ default via 172.21.0.1 dev eth0
# export REGISTRY_MIRROR="https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com"
# 阿里云 docker hub 镜像
export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com
curl -sSL https://kuboard.cn/install-script/v1.18.x/install_kubelet.sh | sh -s 1.18.2
curl -sSL https://kuboard.cn/install-script/v1.18.x/install_kubelet.sh | sh -s 1.18.3
```
</b-tab>
<b-tab title="手动安装">
手动执行以下代码,结果与快速安装相同。<font color="red">***请将脚本第79行已高亮的 ${1} 替换成您需要的版本号,例如 1.18.2***</font>
手动执行以下代码,结果与快速安装相同。<font color="red">***请将脚本第79行已高亮的 ${1} 替换成您需要的版本号,例如 1.18.3***</font>
> docker hub 镜像请根据自己网络的情况任选一个
> * 第四行为腾讯云 docker hub 镜像
@ -212,7 +212,7 @@ curl -sSL https://kuboard.cn/install-script/v1.18.x/install_kubelet.sh | sh -s 1
> * 第八行为阿里云 docker hub 镜像
``` sh
# 在 master 节点和 worker 节点都要执行
# 最后一个参数 1.18.2 用于指定 kubenetes 版本,支持所有 1.18.x 版本的安装
# 最后一个参数 1.18.3 用于指定 kubenetes 版本,支持所有 1.18.x 版本的安装
# 腾讯云 docker hub 镜像
# export REGISTRY_MIRROR="https://mirror.ccs.tencentyun.com"
# DaoCloud 镜像
@ -251,7 +251,7 @@ export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com
<b-tabs content-class="mt-3">
<b-tab title="快速初始化" active>
**请将脚本最后的 1.18.2 替换成您需要的版本号,**
**请将脚本最后的 1.18.3 替换成您需要的版本号,**
<font color="red">脚本中间的 v1.18.x 不要替换</font>
``` sh {10}
@ -264,13 +264,13 @@ export APISERVER_NAME=apiserver.demo
# Kubernetes 容器组所在的网段,该网段安装完成后,由 kubernetes 创建,事先并不存在于您的物理网络中
export POD_SUBNET=10.100.0.1/16
echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts
curl -sSL https://kuboard.cn/install-script/v1.18.x/init_master.sh | sh -s 1.18.2
curl -sSL https://kuboard.cn/install-script/v1.18.x/init_master.sh | sh -s 1.18.3
```
</b-tab>
<b-tab title="手动初始化">
手动执行以下代码,结果与快速初始化相同。<font color="red">***请将脚本第21行已高亮的 ${1} 替换成您需要的版本号,例如 1.18.2***</font>
手动执行以下代码,结果与快速初始化相同。<font color="red">***请将脚本第21行已高亮的 ${1} 替换成您需要的版本号,例如 1.18.3***</font>
``` sh
# 只在 master 节点执行

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

View File

@ -0,0 +1,76 @@
---
vssueId: 126
description: Kubernetes_Dashboard_是Kubernetes的官方WebUI_本文描述了在K8S集群上安装Kuberentes_Dashboard后_如何修改Kuboard登录页末尾的ICP备案编号_以及其他的一些Kuboard的环境变量
meta:
- name: keywords
content: Kubernetes Dashboard,配置Kuboard环境变量,K8S Dashboard,K8S管理界面
---
# 配置Kuboard环境变量
<AdSenseTitle/>
## 环境变量
安装 Kuboard 后,有如下几个环境变量值得您关注:
| 环境变量名 | 描述 | 默认值 |
| ------------------------- | --------------------------------------- | ------------- |
| KUBERNETES_CLUSTER_DOMAIN | Kubernetes Cluster Name | cluster.local |
| KUBOARD_PROXY_COOKIE_TTL | Kuboard Proxy 中 Cookie 的有效时长 | 36000 |
| 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` 容器添加、修改环境变量,如下图,正在修改 `OIDC_ISSUER` 的取值
![image-20200607204036189](./install-kuboard-env-2.assets/image-20200607204036189.png)
## 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 的一部分功能将无法正常工作。
## OIDC_ISSUER
`OIDC_ISSUER` 这个环境变量与 Kubernetes Authentication 相关,建议您不要手工设置此环境变量,如果您想通过 OpenID Connect 的方式登录 Kuboard / Kubectl 请参考 [Kubernetes Authentication 安装向导](/learning/k8s-advanced/sec/authenticate/install.html),在该向导的引导下,您将能够顺利配置 Kuboard 与 GitHub / GitLab 等的单点登录。
> 设置 `OIDC_ISSUER` 是该向导自动完成的一个步骤。

View File

@ -0,0 +1,136 @@
---
vssueId: 126
description: Kuboard 以微服务分层结构的形式展示名称空间中的所有工作负载
meta:
- name: keywords
content: Kuboard 自定义名称空间布局
---
# 自定义Kuboard名称空间布局
<AdSenseTitle/>
## 名称空间布局
Kuboard 名称空间界面中,以微服务分层架构的形式对工作负载进行分类展示,默认布局模式如下图所示:
![Kuboard名称空间布局](./install-kuboard-layout.assets/image-20200301165307517.png)
## 自定义布局
自 Kuboard v1.0.7-beta.5 开始,允许用户自定义名称空间的布局。本章节描述了如何配置自定义布局的参数。
* 在 Kuboard 界面中,导航到 `kube-system` 名称空间;
* 创建 ConfigMap
> 点击名称空间左侧 **配置** 标题后面的 ***创建*** 按钮,可以创建 ConfigMap。
在名称空间 `kube-system` 中创建一个名为 `kuboard-namespace-layout` 的 ConfigMap并在其中添加一个 Key 为 `kuboard-namespace-layout.yaml` Value 为如下 yaml 内容的配置数据条目,如图所示:
![Kuboard名称空间布局](./install-kuboard-layout.assets/image-20200301175541579.png)
yaml 文件内容为:
```yaml
version: "0.1"
layers:
frontend:
name: 前端
color: "blue"
backend:
name: 后端
color: "rgba(0,120,246)"
db:
name: 数据库
color: "#3EAF7C"
midware:
name: 中间件
color: "#003366"
direction: vertical-right
width: 180
```
yaml 文件中,各字段的描述如下:
::: tip Layer ID
layers 下每一个字段代表一个分层的 id。例如此配置文件中定义了 4 个分层:`frontend`、`backend`、`db`、`midware`。对于每个分层,可以配置的参数见下表:
:::
| 字段名 | 字段类型 | 必填 | 字段描述 |
| --------- | -------- | ---- | ------------------------------------------------------------ |
| name | String | 是 | 分层的名称,显示在界面上 |
| color | String | 是 | 分层中工作负载对象的主题色,可以使用 rgba 编码、颜色名称颜色编码等 html 支持的形式; |
| direction | String | 否 | 如果不填写,则该分层按 yaml 中出现的顺序自上而下显示在中间。如果填写,必须从下面两个取值当中选择:<ul><li>`vertical-right`:垂直显示在右侧</li><li>`vertical-left` 垂直显示在左侧</li></ul> |
| width | Number | 条件 | 如果填写了 `direction` 字段,则此字段为必填;<br />该字段标识了垂直显示时,该区块的宽度,单位为像素 `px`。 |
* 挂载 ConfigMap 到 Kuboard 容器
* 在 `kube-system` 名称空间中,导航到 `kuboard` 工作负载页面;
* 在 `kuboard` 工作负载页面,点击 ***编辑*** 按钮,进入工作负载编辑页面;
* 在工作负载编辑页面,增加数据卷
为 `kuboard` 增加一个数据卷,字段描述及截图如下:
| 字段名称 | 字段取值 | 字段描述 |
| ------------- | ------------------------------- | ------------------------------------------------------------ |
| 数据卷名称 | kuboard-namespace-layout-volume | 数据卷名称,在该工作负载内可用 |
| 数据卷类型 | configMap | 选择 configMap 类型的数据卷 |
| ConfigMap名称 | kuboard-namespace-layout | 选择前一个步骤中创建的 kuboard-namespace-layout 这个 ConfigMap |
![Kuboard名称空间布局](./install-kuboard-layout.assets/image-20200301180313243.png)
* 在工作负载编辑页面,挂载配置文件到 `kuboard` 容器
仍然在工作负载编辑页面,将 ConfigMap 中的配置内容挂载到 `kuboard` 容器,字段描述及截图如下:
| 字段名称 | 字段取值 | 字段描述 |
| ---------------------- | --------------------------------------------------- | --------------------------------------------- |
| 镜像 | eipwork/kuboard:v1.0.7-beta.5 | Kuboard 版本不能低于 v1.0.7-beta.5 |
| 挂载点:容器内路径 | /usr/share/nginx/html/kuboard-namespace-layout.yaml | 替换容器中该路径中的配置文件 |
| 挂载点:数据卷名称 | kuboard-namespace-layout-volume | 选择前一个步骤中添加的数据卷 |
| 挂载点:数据卷内子路径 | kuboard-namespace-layout.yaml | 此字段取值为 configMap 中,对应配置条目的名称 |
> 上述配置可以将 configMap 中 `kuboard-namspace-layout.yaml` 的内容映射为容器内路径为 `/usr/share/nginx/html/kuboard-namespace-layout.yaml` 的一个文件
![Kuboard名称空间布局](./install-kuboard-layout.assets/image-20200301185053459.png)
* 保存对 `kuboard` 工作负载的修改
* 刷新 Kuboard 界面
刷新 Kuboard 界面后,可以看到,名称空间的布局被调整为如下形式:
* 省略了左侧的 `监控层`
* 中间三层被调整为 `前端`、`后端`、`数据库`
* 右侧名称仍然为 `中间件` ,但是标识已经从 `cloud` 调整为 `midware`,所以原本在此处的 `服务注册` 工作负载现在显示在 `默认` 分层中。
![Kuboard名称空间布局](./install-kuboard-layout.assets/image-20200301192027811.png)
## 调整工作负载所在分层
如果您在使用 Kuboard 之前,就已经创建了许多的工作负载,然后您安装了 Kuboard此时所有的工作负载都是显示在 `默认` 这个分层的。
Kuboard 通过工作负载Deployment / StatefulSet / DaemonSet 等)的 `k8s.eip.work/layer` 这个标签来识别工作负载应该显示在哪个分层。
如果您想要将工作负载调整到对应的分层,可以按照如下步骤操作:
* 进入工作负载查看页面,如下图所示:
![Kuboard名称空间布局](./install-kuboard-layout.assets/image-20200301193155997.png)
* 点击上图中 ***调整所在分层*** 按钮,将打开编辑标签的界面:
编辑 `k8s.eip.work/layer` ,并选择您想要的分层后,点击 ***确定*** 按钮。
![Kuboard名称空间布局](./install-kuboard-layout.assets/image-20200301193427725.png)
* 该工作负载将显示到您所期望的分层当中。